GetCharABCWidths函数以当前TrueType字体检索给定范围内连续字符的逻辑单位宽度。此函数只能使用TrueType字体。
BOOL GetCharABCWidths(
HDC 【HDC】, | //设备上下文的句柄 |
UINT 【uFirstChar】, | //范围内的第一个字符进行查询 |
UINT 【uLastChar】, | //范围内的最后一个字符进行查询 |
LPABC 【lpabc】 | //字符宽度结构的地址 |
); |
参数
【HDC】
标识设备上下文。
【uFirstChar】
指定当前字体的连续字符组中的第一个字符。
【uLastChar】
指定当前字体的连续字符组中的最后一个字符。
【lpabc】
指向ABC结构的数组,该函数在函数返回时接收字符宽度。该数组必须至少包含ABC结构,因为【uFirstChar】和【uLastChar】参数指定的范围内有字符。
返回值
如果函数成功,返回值不为零
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
在选择特定点大小后,TrueType光栅化器提供ABC字符间距。“A”间距是在放置字形之前添加到当前位置的距离。“B”间距是字形黑色部分的宽度。“C”间距是添加到当前位置的距离,以在字形右侧提供空格。总高级宽度由A + B + C给出。
当GetCharABCWidths功能为字符检索负“A”或“C”宽度时,该字符包括下划线或突出端。
要将ABC宽度转换为字体设计单位,应用程序应使用存储在OUTLINETEXTMETRIC结构的otmEMSquare成员中的值。该值可以通过调用GetOutlineTextMetrics函数来检索。
默认字符的ABC宽度用于当前选定字体范围之外的字符。
要检索非TrueType字体中的字符宽度,应用程序应使用GetCharWidth函数。
也可以看看