getFontData 函数 (wingdi.h)

GetFontData 函数检索 TrueType 字体的字体指标数据。

语法

DWORD GetFontData(
  [in]  HDC   hdc,
  [in]  DWORD dwTable,
  [in]  DWORD dwOffset,
  [out] PVOID pvBuffer,
  [in]  DWORD cjBuffer
);

参数

[in] hdc

设备上下文的句柄。

[in] dwTable

要从中检索字体数据的字体指标表的名称。 此参数可以标识 Microsoft Corporation 发布的 TrueType 字体文件规范中记录的指标表之一。 如果此参数为零,则从 TrueType 字体文件的文件开头或 TrueType 集合文件的当前所选字体的数据开头检索信息。 若要从 TrueType 集合文件的开头检索数据,请指定“ttcf” (0x66637474) 。

[in] dwOffset

从字体指标表的开头到函数应开始检索信息的位置的偏移量。 如果此参数为零,则从 dwTable 参数指定的表的开头开始检索信息。 如果此值大于或等于表的大小,则会发生错误。

[out] pvBuffer

指向接收字体信息的缓冲区的指针。 如果此参数为 NULL,则该函数将返回字体数据所需的缓冲区大小。

[in] cjBuffer

要检索的信息的长度(以字节为单位)。 如果此参数为零, GetFontData 将返回 dwTable 参数中指定的数据的大小。

返回值

如果函数成功,则返回值是返回的字节数。

如果函数失败,则返回值GDI_ERROR。

注解

此函数旨在用于通过字体操作应用程序直接从字体文件中检索 TrueType 字体信息。 有关嵌入字体的信息,请参阅 字体嵌入参考

应用程序有时可以使用 GetFontData 函数将 TrueType 字体与文档一起保存。 为此,应用程序通过检查 OUTLINETEXTMETRIC 结构的 otmfsType 成员来确定字体是否可以嵌入。 如果设置了 otmfsType 的第 1 位,则不允许嵌入字体。 如果第 1 位被清除,则可以嵌入字体。 如果设置了第 2 位,则嵌入为只读。 如果允许嵌入,应用程序可以检索整个字体文件,为 dwTabledwOffsetcbData 参数指定零。

如果应用程序尝试使用此函数检索非 TrueType 字体的信息,则会发生错误。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

字体和文本函数

字体和文本概述

GetTextMetrics

OUTLINETEXTMETRIC