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
项化器中文本的脚本。
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::GetScriptProperties