The
font for this test case has
an
AAT Extended Glyph Metamorphosis Table
with a single
Contextual Glyph Substitution Subtable. Its
finite-state machine contains two states (0 and 1). In state 0,
glyph
A moves to state 1; glyphs
B, C, D, E get
replaced by an encircled form. In state 1, no substitution happens.
If your implementation is correct, the input string
AB
should not get any substitutions, but a stand-alone
B
should get rendered inside a circle.