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,则文本简单,并且 glyphIndices 数组已具有标称字形。 否则,需要调用 IDWriteTextAnalyzer::GetGlyphs 来正确塑造复杂脚本和 OpenType 功能。
[out] textLengthRead
类型: UINT32*
文本的读取长度具有相同的复杂性(简单或复杂)。 你可以从这一点开始再次调用 。
[out, optional] glyphIndices
类型: UINT16*
文本的可选字形索引。 如果函数返回文本很简单,则你已有所需的字形。 否则,字形索引没有意义,需要改为调用 IDWriteTextAnalyzer::GetGlyphs 进行整形。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
如果字符属于具有复杂整形要求、需要bibii分析、与其他字符组合、驻留在补充平面或具有参与标准 OpenType 功能的字形的脚本的一部分,则文本并不简单。 返回的长度不会拆分组合标记与基字符。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dwrite_1.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |