The
font for this test
case has
an
AAT Extended Glyph Metamorphosis Table with a
single
Ligature Subtable whose finite-state machine has one
single state. For glyphs
a and
b, the transition
marks the current glyph. For glyph
c, the transition also
marks the current glyph, and then it executes an action to substitue
the marked glyphs by a ligature. When rendering the
strings
ac and
bc, the implementation finds two
glyphs on its glyph stack, which should get replaced by the
corresponding ligature. When rendering the string
cc,
the implementation is asked to pop two glyphs from a stack
that contains just one. When rendering
abcc,
the stack will contain three glyphs when handling the
first
c.