关于复杂脚本

复杂脚本SCRIPT_PROPERTIES的fComplex 成员设置为 TRUE 的脚本。 本主题详细介绍复杂脚本可能具有的属性。

双向呈现

双向呈现是处理同时读取从左到右和从右到左的文本。 例如,在阿拉伯语的双向呈现中,文本的默认阅读方向为从右到左,但某些数字的默认阅读方向为从左到右。 处理复杂脚本必须考虑到逻辑 (击键) 顺序与字形的可视顺序之间的差异。 此外,处理必须正确处理脱字号移动和命中测试。 屏幕位置和字符索引之间的映射需要了解特定显示的布局算法,例如文本选择或插入符号显示。

上下文调整

在上下文塑造中,脚本字符会根据它们周围的字符更改形状。 当小写“l”根据它前面的字符更改形状时,这种调整发生在英文草书写作中,例如“a” (低连接到“l”) 或“o” (连接高) 。 例如,阿拉伯语是展示上下文定形的脚本。

组合字符

组合字符(也称为“连字”)是放置在一起时联接成一个字符的字符。 阿拉伯语是包含许多组合字符的脚本。 使用组合字符的一个示例是“a”后跟“combining grave”,呈现的表示形式为“à”。 Unicode 流“U+0061 U+0300”需要进行一些处理,以确保“组合坟墓”正确定位在“a”上方。

专用Word中断和对齐

某些脚本(例如泰语)具有复杂的规则,用于在行之间划分单词或对齐行上的文本。

筛选非法字符组合

当语言不允许某些字符组合时,复杂的脚本(例如泰语)可以筛选出非法字符组合。

字体回退

字体回退是自动选择用户选择的字体以外的字体。 在 Uniscribe 中,当全部或部分文本位于用户所选字体不支持的脚本中时, ScriptStringAnalyse 函数将应用字体回退。 有关详细信息,请参阅 使用字体回退

关于 Uniscribe