c++ - 测试是否安装了字体 (Win32)

标签 c++ winapi fonts

如何测试是否安装了字体?

最终,我想实现一个类似 HTML 的字体选择,即当指定例如“Verdana,Arial”,它应该选择安装的第一个字体。

This Question为 .NET 提供了一个答案——似乎推荐的方法是创建字体,然后 cmpare 实际使用的字体。

这是最有效的方法吗?

最佳答案

您可以尝试创建字体并查看您得到的结果(因此使用操作系统的字体名称匹配/替换)。

或者您可以枚举已安装的字体并自行匹配。

“最有效”的方法将取决于“匹配”的细节,并且很可能取决于安装了多少字体。在安装了 50 种字体的系统上,您可能会发现性能与安装了 1000 种字体的系统有很大不同。

最后,如果您的第一种方法(保持简单)证明是性能瓶颈,您只能对代表性系统进行分析。

关于c++ - 测试是否安装了字体 (Win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/776354/

相关文章:

c++ - Visual Studio - 在停止调试时终止特定进程 (Shift+F5)

c++ - 将 Kamailio SIP 消息转发到 C 应用程序

c++ - 无法找到用 C++ 创建的文件

python - Windows上的符号链接(symbolic link)?

android - 更改 Android 默认字体大小

c++ - 如何在 C++ 中使友元类的友元函数直接访问其私有(private)成员

com - EXE(进程外)COM服务器是否可以免注册激活?

c++ - 按钮的工具提示

html - 堆栈中特定字体的样式?

css - .EOT 字体在 IE8 及以下版本中不显示