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

另请参阅

IDWriteTextAnalyzer1

IDWriteTextAnalyzer::GetGlyphs