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

另请参阅

ABC

字体和文本函数

字体和文本概述

GetCharWidth

GetOutlineTextMetrics

OUTLINETEXTMETRIC