getCharABCWidthsW 函数 (wingdi.h)

GetCharABCWidths 函数从当前 TrueType 字体检索指定范围内连续字符的宽度(以逻辑单位为单位)。 此功能仅适用于 TrueType 字体。

语法

BOOL GetCharABCWidthsW(
  [in]  HDC   hdc,
  [in]  UINT  wFirst,
  [in]  UINT  wLast,
  [out] LPABC lpABC
);

参数

[in] hdc

设备上下文的句柄。

[in] wFirst

当前字体中连续字符组中的第一个字符。

[in] wLast

当前字体中连续字符组中的最后一个字符。

[out] lpABC

指向接收字符宽度的 ABC 结构数组(以逻辑单元为单位)的指针。 此数组必须包含至少与 uFirstCharuLastChar 参数指定的区域中的字符数一样多的 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 [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

ABC

字体和文本函数

字体和文本概述

GetCharWidth

GetOutlineTextMetrics

OUTLINETEXTMETRIC