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
注解
安装 TrueType 字体的应用程序使用 CreateScalableFontResource 函数。 应用程序使用 CreateScalableFontResource 函数创建字体资源文件, (通常具有 .fot 文件扩展名) ,然后使用 AddFontResource 函数安装字体。 TrueType 字体文件 (通常具有 .ttf 文件扩展名) 必须位于 AddFontResource 函数要使用的 Windows 目录的系统子目录中。
CreateScalableFontResource 函数目前仅支持 TrueType 技术可缩放字体。
当 lpszFontFile 参数仅指定文件名和扩展名时, lpszCurrentPath 参数必须指定路径。 当 lpszFontFile 参数指定完整路径时, lpszCurrentPath 参数必须为 NULL 或指向 NULL 的指针。
在 lpszFontFile 参数中只指定了文件名和扩展名,并在 lpszCurrentPath 参数中指定了路径时, lpszFontFile 中的字符串将作为属于此资源的 .ttf 文件复制到 .fot 文件中。 调用 AddFontResource 函数时,操作系统假定 .ttf 文件已复制到系统目录 (,或者在网络安装) 的情况下复制到 main Windows 目录。 调用 CreateScalableFontResource 函数时,.ttf 文件不需要位于此目录中,因为 lpszCurrentPath 参数包含目录信息。 以这种方式创建的资源不包含绝对路径信息,可用于任何安装。
在 lpszFontFile 参数中指定路径并在 lpszCurrentPath 参数中指定 NULL 时,lpszFontFile 中的字符串将复制到 .fot 文件中。 在这种情况下,当调用 AddFontResource 函数时,.ttf 文件必须位于 lpszFontFile 参数中指定的位置(当调用 CreateScalableFontResource 函数时);不需要 lpszCurrentPath 参数。 以这种方式创建的资源包含对路径和驱动器的绝对引用,如果 .ttf 文件移动到其他位置,则不起作用。
注意
wingdi.h 标头将 CreateScalableFontResource 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |