The font for this test case
has
an AAT Extended Glyph Metamorphosis Table
with a single Contextual Glyph Substitution Subtable.
Bits 28 and 30 of that subtable’s Coverage Flags
request processing in Layout (= physical) order,
which is always left-to-right. The subtable’s finite-state machine
contains two states (0 and 1) with the following transitions:
For glyphs A and א:
in state 0, the machine moves to state 1 while marking
the current glyph using the transitions’s SetMark flag;
in state 1, the machine moves to state 0 without further
action.
For glyphs B and ב:
in state 0, the machine stays in state 0 without further action;
in state 1, the machine replaces both the marked and the current
glyph by circled forms; then, it moves back to state 0.
For any other glyphs and “end of text”, the machine
performs no action.
Thus, if the tested rendering engine first processes A or
א, the result will be displayed in circled letters. If the tested
rendering engine first processes B or ב, the result will be
displayed in normal letters. If your rendering is correctly implemented,
the observed output should look as expected.