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

另请参阅

IDWriteTextAnalyzer1

IDWriteTextAnalyzer::GetGlyphs