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

另请参阅

IDWriteTextAnalyzer