GetCharABCWidthsA 函数 (wingdi.h)
GetCharABCWidths 函数从当前 TrueType 字体检索指定范围内连续字符的宽度(以逻辑单位为单位)。 此函数仅使用 TrueType 字体成功。
语法
BOOL GetCharABCWidthsA(
[in] HDC hdc,
[in] UINT wFirst,
[in] UINT wLast,
[out] LPABC lpABC
);
参数
[in] hdc
设备上下文的句柄。
[in] wFirst
当前字体中连续字符组中的第一个字符。
[in] wLast
当前字体中连续字符组中的最后一个字符。
[out] lpABC
指向 ABC 结构数组的指针,该结构接收字符宽度(以逻辑单元为单位)。 此数组必须至少包含与 uFirstChar 和 uLastChar 参数指定的区域中的字符数一样多 ABC 结构。
返回值
如果函数成功,则返回值为非零
如果函数失败,则返回值为零。
言论
TrueType 光栅器在选择特定点大小后提供 ABC 字符间距。 间距是在放置字形之前添加到当前位置的距离。 B 间距是字形黑色部分的宽度。 C 间距是添加到当前位置的距离,用于在字形右侧提供空白。 总高级宽度由 A+B+C 指定。
当 GetCharABCWidths 函数检索字符的负 A 或 C 宽度时,该字符包括下悬或悬。
若要将 ABC 宽度转换为字体设计单位,应用程序应使用存储在 OUTLINETEXTMETRIC 结构的 otmEMSquare 成员中的值。 可以通过调用 GetOutlineTextMetrics 函数来检索此值。
默认字符的 ABC 宽度用于当前所选字体范围之外的字符。
若要检索非 TrueType 字体中字符的宽度,应用程序应使用 GetCharWidth 函数。
注意
wingdi.h 标头将 GetCharABCWidths 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wingdi.h (包括 Windows.h) |
库 | Gdi32.lib |
DLL | Gdi32.dll |