### MORX-16: Rearrangement with DontAdvance and MarkFirst

The font for this test case has an AAT Extended Glyph Metamorphosis Table with a single Rearrangement Subtable. Its finite-state machine contains two states (0 and 1) with the following transitions:

- 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.

| ABCDE
--- | ---
Expected |
Observed |
Conformance |