描述
GetFontData函数检索TrueType字体的字体度量数据。
C++ 语法
DWORD GetFontData( __in HDC hdc, __in DWORD dwTable, __in DWORD dwOffset, __out LPVOID lpvBuffer, __in DWORD cbData ); |
PowerBASIC 语法
FUNCTION GetFontData ( _ BYVAL hdc AS DWORD, _ BYVAL dwTable AS DWORD, _ BYVAL dwOffset AS DWORD, _ BYREF lpvBuffer AS ANY, _ BYVAL cbData AS DWORD _ ) AS DWORD |
参数
hdc
[in]处理设备上下文。
dwTable
[in]指定要从中检索字体数据的字体度量表的名称。此参数可以标识由Microsoft Corporation发布的TrueType字体文件规范中记录的度量表之一。如果此参数为零,则从TrueType字体文件的文件开头开始检索信息,或从TrueType Collection文件的当前选定字体数据的开始处检索信息。要从TrueType Collection文件的文件开头检索数据,请指定'ttcf'(&H66637474)。
dwOffset
[in]指定从字体度量表开始到函数应开始检索信息的位置的偏移量。如果此参数为零,则从dwTable参数指定的表的开始处检索信息。如果该值大于或等于表的大小,则会发生错误。
lpvBuffer
[out]指向接收字体信息的缓冲区的指针。如果此参数为NULL,该函数将返回字体数据所需的缓冲区大小。
cbData
[out]指定要检索的信息的长度(以字节为单位)。如果此参数为零,GetFontData返回在dwTable参数中指定的数据大小。
返回值
如果函数成功,则返回值是返回的字节数。
如果函数失败,返回值为GDI_ERROR。
备注
此函数旨在用于通过字体操作应用程序直接从字体文件中检索TrueType字体信息。
应用程序有时可以使用GetFontData函数将文本保存为TrueType字体。为此,应用程序通过检查OUTLINETEXTMETRIC结构的otmfsType成员来确定是否可以嵌入字体。如果设置了otmfsType的第1位,则不允许嵌入字体。如果位1清零,则可以嵌入字体。如果设置了位2,则嵌入是只读的。如果允许嵌入,应用程序可以检索整个字体文件,为dwTable,dwOffset和cbData参数指定零。
如果应用程序尝试使用此函数来检索非TrueType字体的信息,则会发生错误。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)