CreateScalableFontResource函数创建可缩放字体的字体资源文件。
BOOL CreateScalableFontResource(
DWORD 【fdwHidden】, | //只读嵌入字体的标志 |
LPCTSTR 【lpszFontRes】, | //指向字体资源的文件名的指针 |
LPCTSTR 【lpszFontFile】, | //指向可缩放字体的文件名的指针 |
LPCTSTR 【lpszCurrentPath】 | //指向字体文件路径的指针 |
); |
参数
【fdwHidden】
指定字体是否为只读嵌入字体。此参数可以是以下值之一:
值 | 含义 |
0 | 字体具有读写权限。 |
1 | 该字体具有只读权限,并且应该隐藏在系统中的其他应用程序中。设置此标志时,该字体不会由EnumFonts或EnumFontFamilies功能枚举。 |
【lpszFontRes】
指向一个以null结束的字符串,指定此函数创建的字体资源文件的名称。
【lpszFontFile】
指向一个空值终止的字符串,指定此函数用于创建字体资源文件的可缩放字体文件的名称。
【lpszCurrentPath】
指向一个空值终止的字符串,指定可缩放字体文件的路径。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
CreateScalableFontResource功能由安装TrueType字体的应用程序使用。应用程序使用CreateScalableFontResource函数创建字体资源文件(通常使用.FOT文件扩展名),然后使用AddFontResource函数来安装该字体。TrueType字体文件(通常使用.TTF文件扩展名)必须位于WINDOWS目录的SYSTEM子目录中,供AddFontResource功能使用。
CreateScalableFontResource功能目前仅支持TrueType技术可缩放字体。
当【lpszFontFile】参数仅指定文件名和扩展名时,【lpszCurrentPath】参数必须指定路径。当【lpszFontFile】参数指定完整路径时,【lpszCurrentPath】参数必须为NULL或指向NULL的指针。
当【lpszFontFile】参数中仅指定了文件名和扩展名,并且【lpszCurrentPath】参数中指定了路径时,【lpszFontFile】中的字符串将作为属于此资源的.TTF文件复制到.FOT文件中。当调用AddFontResource函数时,操作系统假定.TTF文件已经被复制到SYSTEM目录中(或者在网络安装的情况下被复制到主Windows目录中)。调用CreateScalableFontResource函数时,.TTF文件不需要在此目录中,因为【lpszCurrentPath】参数包含目录信息。以此方式创建的资源不包含绝对路径信息,可用于任何Windows安装。
在【lpszFontFile】参数中指定路径,并在【lpszCurrentPath】参数中指定NULL时,【lpszFontFile】中的字符串将复制到.FOT文件中。在这种情况下,当AddFontResource函数被调用时,当调用CreateScalableFontResource函数时,.TTF文件必须位于【lpszFontFile】参数中指定的位置;不需要【lpszCurrentPath】参数。以此方式创建的资源包含对路径和驱动器的绝对引用,如果.TTF文件移动到其他位置,则不起作用。
也可以看看