测试是否安装了字体
时间:2020-03-06 14:31:53 来源:igfitidea点击:
是否有一种简单的方法(在.Net中)来测试当前计算机上是否安装了Font?
解决方案
如何获得所有已安装字体的列表?
var fontsCollection = new InstalledFontCollection(); foreach (var fontFamiliy in fontsCollection.Families) { if (fontFamiliy.Name == fontName) ... \ installed }
有关详细信息,请参见InstalledFontCollection类。
MSDN:
枚举安装的字体
string fontName = "Consolas"; float fontSize = 12; using ( Font fontTester = new Font( fontName, fontSize, FontStyle.Regular, GraphicsUnit.Pixel ) ) { if ( fontTester.Name == fontName ) { // Font exists } else { // Font doesn't exist } }
感谢Jeff,我最好阅读Font类的文档:
If the familyName parameter specifies a font that is not installed on the machine running the application or is not supported, Microsoft Sans Serif will be substituted.
该知识的结果:
private bool IsFontInstalled(string fontName) { using (var testFont = new Font(fontName, 8)) { return 0 == string.Compare( fontName, testFont.Name, StringComparison.InvariantCultureIgnoreCase); } }