【问题标题】:How to Know a given Font is an OpenType font or Not如何知道给定字体是否为 OpenType 字体
【发布时间】: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 字体或您选择了非开放式字体。

【问题讨论】:

    标签: c# .net


    【解决方案1】:

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

    【讨论】:

    • 如何获得后缀?
    • 感谢您提供宝贵的答案,但是当最终用户更改字体文件的后缀时,例如从 .otf 更改为 .ttf,在这种情况下,它会说这是非 opentype 但实际上是这种字体是一个开放类型。
    猜你喜欢
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 2012-08-31
    • 2019-02-19
    • 2023-01-27
    • 2013-10-23
    相关资源
    最近更新 更多