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

GetCharABCWidthsI

Previous pageReturn to chapter overviewNext page

描述

 

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)