创建自定义字体

【勇芳软件工作室】汉化HomePreviousNext

Windows保留包含应用程序可以使用的所有字体的字体表。当应用程序调用{??989796011}或CreateFontIndirect功能时,Windows会从此表中选择一种字体。表中最多可以有253个条目。

字体资源是一组单独的字体,表示给定字符集中具有各种高度,宽度和间距组合的字符。您可以使用AddFontResource功能加载字体资源,并将每个资源中的字体添加到操作系统字体表。要从字体表中删除字体资源,可以使用RemoveFontResource功能。

将字体资源添加到字体表后,可以使用资源中的各个字体。换句话说,当CreateFont函数尝试将物理字体与指定的逻辑字体进行匹配时,会考虑字体。(表中的字体从来不能直接访问应用程序。它们只能通过CreateFontIndirectCreateFont功能使用,它们返回字体的句柄,而不是其内存地址。)

每当您的应用程序添加或删除字体资源时,都应通过向其发送WM_FONTCHANGE消息来通知所有其他应用程序进行更改。使用以下调用SendMessage函数将消息发送到所有窗口。

SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);

您可以使用GetProfileString功能搜索WIN.INI文件的[Fonts]部分,了解用户使用“控制面板”进行安装的字体列表。