AddFontResourceW 函数 (wingdi.h)

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

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

语法

int AddFontResourceW(
  [in] LPCWSTR unnamedParam1
);

参数

[in] unnamedParam1

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

文件扩展名 意义
.fon
字体资源文件。
.fnt
原始位图字体文件。
.ttf
Raw TrueType 文件。
.ttc
东亚 Windows:TrueType 字体集合。
.fot
TrueType 资源文件。
.otf
PostScript OpenType 字体。
.mmm
多个主 Type1 字体资源文件。 它必须与 .pfm 和 .pfb 文件一起使用。
.pfb
键入 1 个字体位文件。 它与 .pfm 文件一起使用。
.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 [仅限桌面应用]
目标平台 窗户
标头 wingdi.h (包括 Windows.h)
Gdi32.lib
DLL Gdi32.dll

另请参阅

AddFontResourceEx

字体和文本功能

字体和文本概述

RemoveFontResource

SendMessage