Script-specific shaping

In many scripts, transforming the input sequence into the final layout often requires some combination of operations—such as context-dependent substitutions, context-dependent mark positioning, glyph-to-glyph joining, glyph reordering, or glyph stacking.

In some scripts, the shaping rules require that a text run be divided into syllables before the operations can be applied. Other scripts may apply shaping operations over entire words or over the entire text run, with no subdivision required.

Other scripts, do not require these operations. However, correctly shaping a text run in any script may still involve Unicode normalization, ligature substitutions, mark positioning, kerning, and applying other font features.