如何测试是否安装了字体?
最终,我希望实现类似HTML的字体选择,即在指定例如“Verdana,Arial”,它应该选择安装的第一个字体。
This Question提供了.NET的答案 - 似乎推荐的方法是创建字体,然后cmpare实际使用的字体。
这是最有效的方法吗?
答案 0 :(得分:6)
您可以尝试创建字体并查看所获得的内容(因此使用操作系统的字体名称匹配/替换)。
或者您可以枚举已安装的字体并自行匹配。
“最有效”的方式取决于“匹配”的细节,并且很可能,安装了多少字体。在具有50种字体的系统上,您可能会发现性能与安装了1000种字体的系统有很大不同。
最后,您只能在代表性系统上进行分析,如果您第一次接近(保持简单)则会成为性能瓶颈。
答案 1 :(得分:5)
您可以使用EnumFontFamiliesEx枚举系统中的字体列表,或者如果您传递字体名称,则可以枚举该系列的字体。