IDWriteFontFace::GetGlyphRunOutline 方法 (dwrite.h)

通过调用大纲接收器接口来计算一组字形的大纲。

语法

HRESULT GetGlyphRunOutline(
                 FLOAT                     emSize,
  [in]           UINT16 const              *glyphIndices,
  [in, optional] FLOAT const               *glyphAdvances,
  [in, optional] DWRITE_GLYPH_OFFSET const *glyphOffsets,
                 UINT32                    glyphCount,
                 BOOL                      isSideways,
                 BOOL                      isRightToLeft,
                 IDWriteGeometrySink       *geometrySink
);

参数

emSize

类型: FLOAT

字体的逻辑大小(以 DIP 为单位)。 DIP (“与设备无关的像素”) 等于 1/96 英寸。

[in] glyphIndices

类型: const UINT16*

字形索引的数组。 字形按逻辑顺序排列,前进方向取决于 isRightToLeft 参数。 必须分配数组,并且能够包含 由 glyphCount 指定的元素数。

[in, optional] glyphAdvances

类型: const FLOAT*

可选的字形数组在 DIP 中前进。 字形的推进量是在绘制字形后, (在基线) 方向上推进位置的量。 glyphAdvances 包含 由 glyphCount 指定的元素数。

[in, optional] glyphOffsets

类型: const DWRITE_GLYPH_OFFSET*

一个可选的字形偏移量数组,每个偏移量指定沿基线的偏移量和相对于当前笔位置的标志符号基线垂直的偏移量。 glyphOffsets 包含 由 glyphCount 指定的元素数。

glyphCount

类型: UINT32

运行中的字形数。

isSideways

类型: BOOL

如果 为 TRUE,则标志符号的升序与基线一起运行。 如果 为 FALSE,则字形升序符与基线垂直运行。 例如,垂直基线上的英文字母表会将 isSideways 设置为 FALSE

客户端可以通过将 isSideways 设置为 TRUE 并使用转换将生成的几何图形向右旋转 90 度来呈现垂直运行。 isSidewaysisRightToLeft 参数不能同时为 true。

isRightToLeft

类型: BOOL

字形的视觉顺序。 如果此参数为 FALSE,则字形前移从左到右。 如果 为 TRUE,则前进方向为从右到左。 默认情况下,前进方向为从左到右。

geometrySink

类型: IDWriteGeometrySink*

指向接口的指针,该接口被调用回以执行轮廓绘制操作。

返回值

类型: HRESULT

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

要求

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

另请参阅

IDWriteFontFace