IDWriteTextAnalyzer1::GetTextComplexity 方法 (dwrite_1.h)
确定文本的复杂性,以及是否需要调用 IDWriteTextAnalyzer::GetGlyphs 进行完整脚本塑造。
语法
HRESULT GetTextComplexity(
[in] WCHAR const *textString,
UINT32 textLength,
IDWriteFontFace *fontFace,
[out] BOOL *isTextSimple,
[out] UINT32 *textLengthRead,
[out, optional] UINT16 *glyphIndices
);
参数
[in] textString
类型: const WCHAR*
要检查复杂性的文本。 此字符串可以是 UTF-16,但任何补充字符都将被视为复杂字符。
textLength
类型: UINT32
要检查的文本长度。
fontFace
类型: IDWriteFontFace*
要阅读的字体。
[out] isTextSimple
类型: BOOL*
如果为 true,则文本很简单, 字形Indices 数组将具有名义字形。 否则,需要调用 IDWriteTextAnalyzer::GetGlyphs 来正确调整复杂脚本和 OpenType 功能。
[out] textLengthRead
类型: UINT32*
文本的读取长度与复杂性相同、简单或复杂。 你可以从那一点开始再次调用。
[out, optional] glyphIndices
类型: UINT16*
文本的可选字形索引。 如果函数返回的文本很简单,则已有所需的字形。 否则,字形索引不有意义,需要改为调用 IDWriteTextAnalyzer::GetGlyphs 进行定形。
返回值
类型: HRESULT
如果此方法成功,它将返回 S_OK。 否则,它将返回 HRESULT 错误代码。
注解
如果字符是具有复杂整形要求的脚本的一部分,则文本并不简单,需要投标分析、与其他字符合并、驻留在补充平面中,或者具有参与标准 OpenType 功能的字形。 返回的长度不会从其基字符拆分组合标记。
要求
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用|UWP 应用] |
最低受支持的服务器 | 适用于 Windows Server 2008 R2 的 Windows Server 2012 和平台更新 [桌面应用|UWP 应用] |
目标平台 | Windows |
标头 | dwrite_1.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |