IDWriteTextAnalyzer1::GetJustifiedGlyphs 方法 (dwrite_1.h)

为复杂脚本填充新的字形,其中理由提高了字形的进步,如带 kashida 的阿拉伯语。

语法

HRESULT GetJustifiedGlyphs(
                  IDWriteFontFace                       *fontFace,
                  FLOAT                                 fontEmSize,
                  DWRITE_SCRIPT_ANALYSIS                scriptAnalysis,
                  UINT32                                textLength,
                  UINT32                                glyphCount,
                  UINT32                                maxGlyphCount,
  [in, optional]  UINT16 const                          *clusterMap,
  [in]            UINT16 const                          *glyphIndices,
  [in]            FLOAT const                           *glyphAdvances,
  [in]            FLOAT const                           *justifiedGlyphAdvances,
  [in]            DWRITE_GLYPH_OFFSET const             *justifiedGlyphOffsets,
  [in]            DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProperties,
  [out]           UINT32                                *actualGlyphCount,
  [out, optional] UINT16                                *modifiedClusterMap,
  [out]           UINT16                                *modifiedGlyphIndices,
  [out]           FLOAT                                 *modifiedGlyphAdvances,
  [out]           DWRITE_GLYPH_OFFSET                   *modifiedGlyphOffsets
);

参数

fontFace

类型: IDWriteFontFace*

用于整形的字体。

可以为 NULL。

fontEmSize

类型: FLOAT

用于字形运行的字体 em 大小。

scriptAnalysis

类型: DWRITE_SCRIPT_ANALYSIS

项化器中文本的脚本。

textLength

类型: UINT32

文本的长度。

glyphCount

类型: UINT32

字形数。

maxGlyphCount

类型: UINT32

调用方分配的最大输出字形数。

[in, optional] clusterMap

类型: const UINT16*

通过整形生成的群集映射。

[in] glyphIndices

类型: const UINT16*

通过整形生成的原始字形。

[in] glyphAdvances

类型: const FLOAT*

原始字形由整形生成。

[in] justifiedGlyphAdvances

类型: const FLOAT*

来自 IDWriteTextAnalyzer1::JustifyGlyphAdvances 的对齐字形推进。

[in] justifiedGlyphOffsets

类型: const DWRITE_GLYPH_OFFSET*

与 IDWriteTextAnalyzer1::JustifyGlyphAdvances 的对齐字形偏移量。

[in] glyphProperties

类型: const DWRITE_SHAPING_GLYPH_PROPERTIES*

IDWriteTextAnalyzer::GetGlyphs 中每个字形的属性。

[out] actualGlyphCount

类型: UINT32*

写入修改数组的新字形计数;如果大小不够大,则为所需的字形计数。

[out, optional] modifiedClusterMap

类型: UINT16*

更新了群集映射。

[out] modifiedGlyphIndices

类型: UINT16*

更新了字形,并根据需要插入了新的字形。

[out] modifiedGlyphAdvances

类型: FLOAT*

更新了字形前移。

[out] modifiedGlyphOffsets

类型: DWRITE_GLYPH_OFFSET*

更新了字形偏移量。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

在对齐行后调用 GetJustifiedGlyphs ,并且每次运行。

如果 IDWriteTextAnalyzer1::GetScriptProperties 为该脚本返回非 null DWRITE_SCRIPT_PROPERTIES.justificationCharacter,则应调用 GetJustifiedGlyphs

使用 GetJustifiedGlyphs 主要用于草书脚本,如阿拉伯语。 如果 maxGlyphCount 不够大, GetJustifiedGlyphs 将返回错误E_NOT_SUFFICIENT_BUFFER,并使用所需的字形计数填充 actualGlyphCount 指向的变量。

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dwrite_1.h
Library Dwrite.lib
DLL Dwrite.dll

请参阅

IDWriteTextAnalyzer1

IDWriteTextAnalyzer1::GetScriptProperties

IDWriteTextAnalyzer1::JustifyGlyphAdvances

IDWriteTextAnalyzer::GetGlyphs