Using Character Clusters

Character clusters are glyph sequences that cannot be split between lines. Some languages, for example Thai and Indic, restrict caret placement to points between clusters. This restriction applies to caret movement initiated with keyboard or mouse actions (hit testing).

Uniscribe provides cluster information in both the visual attributes contained in a SCRIPT_VISATTR structure, and the logical attributes contained in a SCRIPT_LOGATTR structure. After the application calls ScriptShape, the cluster information is represented both by sequences of the same value in the SCRIPT_LOGATTR array, and by the fClusterStart member in the SCRIPT_VISATTR array.

ScriptBreak also retrieves the fCharStop member of the SCRIPT_LOGATTR structure to identify cluster positions.

Using Uniscribe