CreateScalableFontResourceA 函数 (wingdi.h)
[CreateScalableFontResource 函数可用于“要求”部分中指定的操作系统。 可能是
在后续版本中已更改或不可用。]
CreateScalableFontResource 函数为可缩放字体创建字体资源文件。
语法
BOOL CreateScalableFontResourceA(
[in] DWORD fdwHidden,
[in] LPCSTR lpszFont,
[in] LPCSTR lpszFile,
[in] LPCSTR lpszPath
);
参数
[in] fdwHidden
指定字体是否为只读字体。 此参数可以是下列值之一。
价值 | 意义 |
---|---|
|
字体具有读/写权限。 |
|
字体具有只读权限,应隐藏系统中其他应用程序。 设置此标志时,EnumFonts 或 EnumFontFamilies 函数不枚举字体。 |
[in] lpszFont
指向以 null 结尾的字符串的指针,指定要创建的字体资源文件的名称。 如果此参数指定了现有的字体资源文件,则函数将失败。
[in] lpszFile
指向以 null 结尾的字符串的指针,指定此函数用于创建字体资源文件的可缩放字体文件的名称。
[in] lpszPath
指向以 null 结尾的字符串的指针,指定可缩放字体文件的路径。
返回值
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零。
如果 lpszFontRes 指定现有字体文件,GetLastError 返回ERROR_FILE_EXISTS
言论
CreateScalableFontResource 函数由安装 TrueType 字体的应用程序使用。 应用程序使用 CreateScalableFontResource 函数创建字体资源文件(通常为 .fot 文件扩展名),然后使用 AddFontResource 函数安装字体。 TrueType 字体文件(通常具有.ttf文件扩展名)必须位于 AddFontResource 函数使用的 Windows 目录的系统子目录中。
CreateScalableFontResource 函数目前仅支持 TrueType 技术可缩放字体。
当 lpszFontFile 参数仅指定文件名和扩展名时,lpszCurrentPath 参数必须指定路径。 当 lpszFontFile 参数指定完整路径时,lpszCurrentPath 参数必须 NULL 或指向 NULL的指针。
如果仅在 lpszFontFile 参数中指定了文件名和扩展名,并在 lpszCurrentPath 参数中指定路径,则 lpszFontFile 中的字符串将作为属于此资源的.ttf文件复制到 .fot 文件中。 调用 AddFontResource 函数时,操作系统假定.ttf文件已复制到系统目录(或者在网络安装的情况下复制到主 Windows 目录)。 调用 CreateScalableFontResource 函数时,不需要在此目录中.ttf文件,因为 lpszCurrentPath 参数包含目录信息。 以这种方式创建的资源不包含绝对路径信息,可在任何安装中使用。
在 lpszFontFile 参数中指定路径,并在 lpszCurrentPath 参数中指定 NULL 时,lpszFontFile 中的字符串将复制到 .fot 文件中。 在这种情况下,调用 AddFontResource 函数时,.ttf文件必须位于调用 CreateScalableFontResource 函数时在 lpszFontFile 参数中指定的位置;不需要 lpszCurrentPath 参数。 以这种方式创建的资源包含对路径和驱动器的绝对引用,如果.ttf文件移动到其他位置,则不起作用。
注意
wingdi.h 标头将 CreateScalableFontResource 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wingdi.h (包括 Windows.h) |
库 | Gdi32.lib |
DLL | Gdi32.dll |