DWRITE_SCRIPT_PROPERTIES 结构 (dwrite_1.h)
DWRITE_SCRIPT_PROPERTIES 结构指定插入点导航和对齐的脚本属性。
语法
struct DWRITE_SCRIPT_PROPERTIES {
UINT32 isoScriptCode;
UINT32 isoScriptNumber;
UINT32 clusterLookahead;
UINT32 justificationCharacter;
UINT32 restrictCaretToClusters : 1;
UINT32 usesWordDividers : 1;
UINT32 isDiscreteWriting : 1;
UINT32 isBlockWriting : 1;
UINT32 isDistributedWithinCluster : 1;
UINT32 isConnectedWriting : 1;
UINT32 isCursiveWriting : 1;
UINT32 reserved : 25;
};
成员
isoScriptCode
给定脚本的标准化四个字符代码。
isoScriptNumber
标准化的数字代码,范围为 0-999。
clusterLookahead
用于估计复杂脚本的展望的字符数。 拉丁语和所有假名通常为 1。 索引脚本最多为 15 个,其他大多数脚本为 8 个。
justificationCharacter
用于延长给定脚本的相应字符,以便进行对齐。 例如:
- 阿拉伯语 - U+0640 Tatweel
- 奥格汉姆 - U+1680 奥格汉姆太空标记
restrictCaretToClusters
将插入点限制为整个群集,如泰语和 Devanagari。 默认情况下,阿拉伯语等脚本允许在群集之间导航。 其他群集(如泰语)始终在整个群集中导航。
usesWordDividers
该语言在单词之间使用分隔符,例如拉丁语或埃塞俄比亚文单词空间之间的空格。 示例包括拉丁语、希腊语、Devanagari 和埃塞俄比亚文。 不包括中文、韩语和泰语。
isDiscreteWriting
这些字符是彼此独立的单位。 这包括块脚本和群集脚本。 示例包括拉丁文、希腊语、西里尔文、希伯来文、中文和泰文。
isBlockWriting
语言是块脚本,在字符之间扩展。 示例包括中文、日语、韩语和注音。
isDistributedWithinCluster
该语言在字形群集内是对齐的,而不仅仅是字形群集之间的对齐,例如泰语 Lu 和 Sara Am (U+E026、U+E033) 字符序列,它们形成单个群集,但仍在它们之间扩展。 示例包括泰语、老挝语和高棉文。
isConnectedWriting
脚本的群集 (相互连接,例如基线链接的 Devanagari) ,并且不会在字符之间添加分隔。
isCursiveWriting
该脚本自然是草书 (阿拉伯语和叙利亚语) ,这意味着它使用其他对齐方法,如 kashida 扩展,而不是字符间间距。
reserved
保留
要求
最低受支持的客户端 | 适用于 Windows 7 的 Windows 8 和平台更新 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [仅限桌面应用] |
标头 | dwrite_1.h |