描述
GetCharABCWidthsI函数以当前TrueType字体检索指定范围内连续字形索引的逻辑单位宽度。此函数只能使用TrueType字体。
C++ 语法
BOOL GetCharABCWidthsI( __in HDC hdc, __in UINT giFirst, __in UINT cgi, __in LPWORD pgi, __out LPABC lpabc ); |
PowerBASIC 语法
FUNCTION GetCharABCWidthsIA ( _ BYVAL hdc AS DWORD, _ BYVAL giFirst AS DWORD, _ BYVAL cgi AS DWORD, _ BYVAL pgi AS DWORD, _ BYREF lpabc AS ABC _ ) AS LONG |
Unicode版本:
FUNCTION GetCharABCWidthsIW ( _ BYVAL hdc AS DWORD, _ BYVAL giFirst AS DWORD, _ BYVAL cgi AS DWORD, _ BYVAL pgi AS DWORD, _ BYREF lpabc AS ABC _ ) AS LONG |
参数
hdc
[in]处理设备上下文。
giFirst
[in]指定来自当前字体的连续字形索引组中的第一个字形索引。仅当PGI参数为NULL时才使用此参数。
cgi
[in]指定字形索引数。
pgi
[in]指向包含字形索引的数组的指针。如果此参数为NULL,则使用giFirst参数。CGI参数指定此数组中的字形索引数。
lpabc
[out]以逻辑单位指向接收字符宽度的ABC结构数组的指针。该数组必须至少包含ABC结构,因为CGI参数指定的字形索引。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
备注
在选择特定点大小后,TrueType光栅化器提供ABC字符间距。间距是在放置字形之前添加到当前位置的距离。B间距是字形黑色部分的宽度。C间距是添加到当前位置的距离,以在字形右侧提供空格。总高级宽度由A + B + C指定。
当GetCharABCWidthsI函数检索字符的负A或C宽度时,该字符包括下划线或突出端。
要将ABC宽度转换为字体设计单位,应用程序应使用存储在OUTLINETEXTMETRIC结构的otmEMSquare成员中的值。该值可以通过调用GetOutlineTextMetrics函数来检索。
默认字符的ABC宽度用于当前选定字体范围之外的字符。
要检索非TrueType字体中字形索引的宽度,应用程序应使用GetCharWidthI函数。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)