勇芳软件工作室.汉化:  Fonts and Text > Fonts and Text Functions >

GetCharABCWidths

Previous pageReturn to chapter overviewNext page

描述

 

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结构数组的指针。该数组必须包含至少与uFirstCharuLastChar参数指定的范围内的字符一样多的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)