PeachDrawing.Text
PeachDrawing.Text.Unicode
ArabicJoiningForm Enum
The positional form a character of a joining script takes: the one that decides which glyph a font substitutes for it.
public enum ArabicJoiningForm : System.Byte
Fields
None 0
No form is asked for: the character does not join, or it is transparent to joining (a combining mark). The glyph the font maps it to is used as it is.
Isol 1
The isolated form (isol): the character joins nothing on either side.
Fina 2
The final form (fina): the character joins the one before it.
Fin2 3
The second final form (fin2), which only Syriac Alaph produces.
Fin3 4
The third final form (fin3), which only Syriac Alaph produces.
Medi 5
The medial form (medi): the character joins the ones on both sides.
Med2 6
The second medial form (med2), which only Syriac Alaph and Dalath Rish produce.
Init 7
The initial form (init): the character joins the one after it.
Remarks
Each form except None is named after the OpenType feature tag that asks a font for the glyph in that form. There are seven and not the four a reading of Arabic alone would suggest, because Syriac has alternate final and medial forms (Fin2, Fin3, Med2) that fonts define separately. Resolve(IReadOnlyList<int>) works the forms out for a text.