GetCharABCWidthsI 函数 (wingdi.h)
GetCharABCWidthsI 函数从当前 TrueType 字体检索指定范围内连续字形索引的宽度(以逻辑单位为单位)。 此功能仅适用于 TrueType 字体。
语法
BOOL GetCharABCWidthsI(
[in] HDC hdc,
[in] UINT giFirst,
[in] UINT cgi,
[in] LPWORD pgi,
[out] LPABC pabc
);
参数
[in] hdc
设备上下文的句柄。
[in] giFirst
当前字体中连续字形索引组中的第一个字形索引。 仅当 pgi 参数为 NULL 时,才使用此参数。
[in] cgi
字形索引的数目。
[in] pgi
指向包含字形索引的数组的指针。 如果此参数为 NULL,则改用 giFirst 参数。 cgi 参数指定此数组中的字形索引数。
[out] pabc
指向接收字符宽度的 ABC 结构的数组(以逻辑单元为单位)的指针。 此数组必须包含至少与 cgi 参数指定的字形索引数量一样多的 ABC 结构。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。
注解
TrueType 光栅器在选择特定点大小后提供 ABC 字符间距。 间距是在放置字形之前添加到当前位置的距离。 B 间距是字形黑色部分的宽度。 C 间距是添加到当前位置的距离,为标志符号右侧提供空白。 总高级宽度由 A+B+C 指定。
当 GetCharABCWidthsI 函数检索字符的负 A 或 C 宽度时,该字符包括下悬或悬垂。
若要将 ABC 宽度转换为字体设计单位,应用程序应使用存储在 OUTLINETEXTMETRIC 结构的 otmEMSquare 成员中的值。 可以通过调用 GetOutlineTextMetrics 函数来检索此值。
默认字符的 ABC 宽度用于当前所选字体范围之外的字符。
若要检索非 TrueType 字体字形索引的宽度,应用程序应使用 GetCharWidthI 函数。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |