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 度来呈现垂直运行。 isSideways 和 isRightToLeft 参数不能同时为 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 |