Можно ли использовать шрифты otf на winforms? - PullRequest
4 голосов
/ 13 апреля 2011

Я пытался использовать шрифты открытого типа как для надписей, текстовых полей, так и при рисовании в событии рисования. Но это не работает. Есть ли способ заставить работать шрифт Open Type?

Ответы [ 2 ]

9 голосов
/ 13 апреля 2011

Это невозможно в Winforms, GDI + поддерживает только шрифты TrueType.Вам придется перейти в WPF, чтобы получить поддержку OpenType.

4 голосов
/ 17 октября 2012

Вы можете использовать пространство имен System.Windows.Media так же, как и в WPF, здесь у вас есть пример:

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;
    }  
...