是否有可能在winforms上使用otf字体?

时间:2011-04-13 10:59:56

标签: c# winforms opentype

我尝试在标签,文本框和绘画事件中绘图时都使用Open Type Fonts。但它不起作用。有没有办法让Open Type Font工作?

2 个答案:

答案 0 :(得分:9)

这在Winforms中是不可能的,GDI +仅支持TrueType字体。您必须转到WPF才能获得OpenType支持。

答案 1 :(得分:4)

您可以像在WPF中一样使用System.Windows.Media命名空间,这里有一个示例:

public static string GetFontList(String ElementSeparator)
    {
        string r = "";

        // WPF incl Adobe and OpenType
        foreach (System.Windows.Media.FontFamily fontFam in System.Windows.Media.Fonts.SystemFontFamilies)
        {
            r += fontFam.Source;
            r += ElementSeparator;
        }

        // True type, incl Type face names e.g. Arial Rounded MT Bold
        foreach (System.Drawing.FontFamily f in System.Drawing.FontFamily.Families)
        { 
            if(!r.Contains(f.Name))
            {
            r += f.Name;
            r += ElementSeparator;
            }
        }            

        return r;
    }