【发布时间】:2023-03-25 10:09:01
【问题描述】:
在 C# 中是否有任何方法可以找出给定字体是否为 opentype 字体。 就像我们在 Winform 中打开一个 FontDialog 并从列表中选择一种 openType 字体,然后按 Ok 按钮,它将弹出一个对话框,其中 仅支持 TrueType 字体。这不是 TrueType 字体。,异常消息。
所以我想知道在 FontDialog 中实现了什么样的逻辑来检查字体,这是 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 字体或您选择了非开放式字体。
【问题讨论】: