IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements 方法 (dwrite.h)
根据字体和书写系统的呈现规则,放置 GetGlyphs 方法的字形 输出。
语法
HRESULT GetGdiCompatibleGlyphPlacements(
[in] WCHAR const *textString,
[in] UINT16 const *clusterMap,
[in] DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
UINT32 textLength,
[in] UINT16 const *glyphIndices,
[in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProps,
UINT32 glyphCount,
[in] IDWriteFontFace *fontFace,
FLOAT fontEmSize,
FLOAT pixelsPerDip,
[in, optional] DWRITE_MATRIX const *transform,
BOOL useGdiNatural,
BOOL isSideways,
BOOL isRightToLeft,
[in] DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis,
[in, optional] WCHAR const *localeName,
[in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
[in, optional] UINT32 const *featureRangeLengths,
UINT32 featureRanges,
[out] FLOAT *glyphAdvances,
[out] DWRITE_GLYPH_OFFSET *glyphOffsets
);
参数
[in] textString
类型: const WCHAR*
包含字形来自的原始字符串的字符数组。
[in] clusterMap
类型: const UINT16*
指向从字符范围到字形范围的映射的指针。 这由 GetGlyphs 返回。
[in] textProps
类型: DWRITE_SHAPING_TEXT_PROPERTIES*
指向包含每个字符的整形属性的结构数组的指针。 此结构由 GetGlyphs 返回。
textLength
类型: UINT32
textString 的文本长度。
[in] glyphIndices
类型: const UINT16*
GetGlyphs 返回的字形索引数组。
[in] glyphProps
类型: const DWRITE_SHAPING_GLYPH_PROPERTIES*
指向结构数组的指针,这些结构包含 GetGlyphs 返回的每个字形的整形属性。
glyphCount
类型: UINT32
从 GetGlyphs 返回的字形数。
[in] fontFace
类型: IDWriteFontFace*
指向作为输出字形源的字体的指针。
fontEmSize
类型: FLOAT
DIP 中的逻辑字号。
pixelsPerDip
类型: FLOAT
每个 DIP 的物理像素数。
[in, optional] transform
类型: const DWRITE_MATRIX*
应用于字形及其位置的可选转换。 此转换在字体大小和 pixelPerDip 指定的缩放之后应用。
useGdiNatural
类型: BOOL
设置为 FALSE 时,指标与 GDI 别名文本的指标相同。 设置为 TRUE 时,指标与使用 CLEARTYPE_NATURAL_QUALITY 创建的字体由 GDI 测量的文本的指标相同。
isSideways
类型: BOOL
如果文本要垂直绘制,则设置为 TRUE 的布尔标志。
isRightToLeft
类型: BOOL
从右到左的文本设置为 TRUE 的布尔标志。
[in] scriptAnalysis
类型: const DWRITE_SCRIPT_ANALYSIS*
指向AnalyzeScript 调用的脚本分析结果的指针。
[in, optional] localeName
类型: const WCHAR*
包含选择字形时要使用的区域设置的字符数组。 例如,同一个字符可能映射到 ja-jp 与 zh-chs 的不同字形。 如果此值为 NULL,则使用基于脚本的默认映射。
[in, optional] features
类型: const DWRITE_TYPOGRAPHIC_FEATURES**
指向要在每个特征范围中使用的版式特征集的指针数组。
[in, optional] featureRangeLengths
类型: const UINT32*
每个特征范围的长度(以字符为单位)。
所有长度的总和应等于 textLength。
featureRanges
类型: UINT32
功能范围的数量。
[out] glyphAdvances
类型: FLOAT*
此方法返回时,包含每个字形的前进宽度。
[out] glyphOffsets
类型: DWRITE_GLYPH_OFFSET*
此方法返回时,包含每个字形原点的偏移量。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | dwrite.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |