如何知道给定的字体是OpenType字体还是不是

时间:2014-01-22 07:18:45

标签: c# .net

在C#中是否有任何方法可以找出给定的字体是否为opentype字体。 比如当我们在Winform中打开一个FontDialog并从列表中选择一个openType字体时,按下Ok按钮就会弹出一个带有的对话框,只支持TrueType字体。这不是TrueType字体。,异常消息。

所以我想知道在FontDialog中实现了什么样的逻辑来检查Font,这是一个OpenType字体,或者这是一个truetype字体。

我有一个System.Windows.Media.FontFamily列表,我想告诉用户你选择了一个OpenType字体并且你选择了非开放字体。

代码是

var vFonts = System.Windows.Media.Fonts.SystemFontFamilies;
foreach (System.Windows.Media.FontFamily fontFamily in vFonts)
{
     m_lstFont.Add(fontFamily.Source);
}

当用户从m_lstFont中选择任何字体时,它会弹出一个您选择了OpenType字体的对话框,或者您选择了非开放字体。

1 个答案:

答案 0 :(得分:0)

开放类型的后缀(文件扩展名)为otf