MORX-16: Rearrangement with DontAdvance and MarkFirst
- For glyph A:
- in state 0, the machine moves to state 1.
This transition carries both the DontAdvance and
MarkFirst flags. No rearrangement action is performed.
- in state 1, the machine moves to state 0.
This transition carries no flags.
No rearrangement action is performed.
- For glyphs B, C, and D, the machine stays
in its current state. As a side effect, it sets the end
of the marked glyph sequence to the current glyph position.
- For glyph E, the machine stays in its current state.
As a side effect, it sets the end
of the marked glyph sequence to the current glyph position,
and executes a rearrangement action of type 1 (Ax ⇒ xA).
- For any other glyphs and “end of text”, the machine performs
no action.
The input string for this test case is ABCDE.
If your rendering system correctly implements Apple Advanced
Typography, the A glyph should be rearranged to the
end of the rendered string, resulting in BCDEA.