The default shaping model handles all
non-complex scripts, and may also be used as a fallback for
handling unrecognized scripts.
-
The Indic shaping model handles the Indic
scripts Bengali, Devanagari, Gujarati, Gurmukhi, Kannada,
Malayalam, Oriya, Tamil, Telugu, and Sinhala.
The Indic shaping model was revised significantly in
2005. To denote the change, a new set of script
tags was assigned for Bengali, Devanagari,
Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil, and
Telugu. For the sake of clarity, the term "Indic2" is
sometimes used to refer to the current, revised shaping
model.
The Arabic shaping model supports
Arabic, Mongolian, N'Ko, Syriac, and several other connected
or cursive scripts.
The Thai/Lao shaping model supports
the Thai and Lao scripts.
The Khmer shaping model supports the
Khmer script.
The Myanmar shaping model supports the
Myanmar (or Burmese) script.
The Tibetan shaping model supports the
Tibetan script.
The Hangul shaping model supports the
Hangul script.
The Hebrew shaping model supports the
Hebrew script.
The Universal Shaping Engine (USE)
shaping model supports complex scripts not covered by one of
the above, script-specific shaping models, including
Javanese, Balinese, Buginese, Batak, Chakma, Lepcha, Modi,
Phags-pa, Tagalog, Siddham, Sundanese, Tai Le, Tai Tham, Tai
Viet, and many others.
Text runs that do not fall under one of the above shaping
models may still require processing by a shaping engine. Of
particular note is Emoji shaping, which
may involve variation-selector sequences and glyph
substitution. Emoji shaping is handled by the default
shaping model.