【发布时间】:2010-10-21 01:16:53
【问题描述】:
如何测试是否安装了字体?
最终,我想实现一个类似 HTML 的字体选择,即在指定例如“Verdana,Arial”,它应该选择第一个安装的字体。
This Question 为 .NET 提供了答案 - 似乎推荐的方法是创建字体,然后再计算实际使用的字体。
这是最有效的方法吗?
【问题讨论】:
如何测试是否安装了字体?
最终,我想实现一个类似 HTML 的字体选择,即在指定例如“Verdana,Arial”,它应该选择第一个安装的字体。
This Question 为 .NET 提供了答案 - 似乎推荐的方法是创建字体,然后再计算实际使用的字体。
这是最有效的方法吗?
【问题讨论】:
您可以使用 EnumFontFamiliesEx 枚举系统上的字体列表,或者如果您传递字体名称,您可以枚举该系列的字体。
【讨论】:
您可以尝试创建字体并查看您得到的结果(因此使用操作系统的字体名称匹配/替换)。
或者您可以枚举已安装的字体并自己进行匹配。
“最有效”的方式将取决于“匹配”的详细信息,并且很可能安装了多少字体。在一个安装了 50 种字体的系统上,您可能会发现性能与安装了 1000 种字体的系统有很大的不同。
最后你只能在代表性系统上进行分析,如果你第一次接近(保持简单)结果是一个性能瓶颈。
【讨论】: