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