addFontResourceA 函数 (wingdi.h)

AddFontResource 函数将指定文件中的字体资源添加到系统字体表中。 字体随后可供任何应用程序用于文本输出。

若要将字体标记为专用或不可枚举,请使用 AddFontResourceEx 函数。

语法

int AddFontResourceA(
  [in] LPCSTR unnamedParam1
);

参数

[in] unnamedParam1

指向包含有效字体文件名的以 null 结尾的字符串的指针。 此参数可以指定以下任何文件。

文件扩展名 含义
.fon
字体资源文件。
.fnt
原始位图字体文件。
.ttf
原始 TrueType 文件。
。Ttc
东亚 Windows:TrueType 字体集合。
.fot
TrueType 资源文件。
.otf
PostScript OpenType 字体。
。嗯
多个主控类型 1 字体资源文件。 它必须与 .pfm 和 .pfb 文件一起使用。
.pfb
键入 1 字体位文件。 它与 .pfm 文件一起使用。
。烤 瓷
键入 1 字体指标文件。 它与 .pfb 文件一起使用。
 

若要添加信息来自多个资源文件的字体,请将 lpszFileName 指向文件名以“|”分隔的字符串,例如 abcxxxxx.pfm |abcxxxxx.pfb.

返回值

如果函数成功,则返回值指定添加的字体数。

如果函数失败,则返回值为零。 没有可用的扩展错误信息。

注解

在系统字体表中添加或删除字体的任何应用程序都应通过向操作系统中的所有顶级窗口发送 WM_FONTCHANGE 消息来通知其他窗口更改。 应用程序应通过调用 SendMessage 函数并将 hwnd 参数设置为 HWND_BROADCAST 来发送此消息。

当应用程序不再需要通过调用 AddFontResource 函数加载的字体资源时,它必须通过调用 RemoveFontResource 函数删除该资源。

此函数仅为当前会话安装字体。 当系统重新启动时,该字体将不存在。 若要在重启系统后安装字体,必须在注册表中列出该字体。

注册表中列出的并安装到 %windir%\fonts\ 文件夹以外的位置的字体只要在任何会话中加载,就不能修改、删除或替换该字体。 若要更改其中一种字体,必须先通过调用 RemoveFontResource 将其删除,从字体注册表中删除 (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) ,然后重新启动系统。 重启系统后,将不再加载字体,并且可以更改。

注意

wingdi.h 标头将 AddFontResource 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

另请参阅

AddFontResourceEx

字体和文本函数

字体和文本概述

RemoveFontResource

SendMessage