Получить имя шрифта от FontFamily в WPF - PullRequest
6 голосов
/ 27 октября 2009

В настоящее время я работаю над небольшим приложением для организации и предварительного просмотра шрифтов, однако мне трудно получить именно ту информацию, которая мне нужна.

Я обнаружил, что могу загрузить внешний шрифт, просто создав новый объект FontFamily с расположением файла шрифта в качестве источника. Однако я не могу найти способ вернуть конкретное имя шрифта обратно. Я знаю, что могу использовать FontFamily.FamilyNames, чтобы вернуть имя шрифта family , но это бесполезно для меня, когда у меня отображается несколько шрифтов с одним и тем же семейством. Я бы хотел отобразить конкретное имя для определенного шрифта.

Есть ли способ сделать это? В настоящее время я отображаю вместо этого имя файла, но оно невероятно неаккуратное, потому что мне приходится перебирать каждый файл в каталоге и вызывать Fonts.GetFontFamilies () для каждого, просто чтобы я мог получить фактическое имя файла (свойство Source FontFamily дает только временное семейство WPF имя источника вместо чего-то полезного).

1 Ответ

2 голосов
/ 18 января 2010

Вот что я делаю:

        ListBoxItem listBoxItem = null;
        foreach (FontFamily fontFamily in Fonts.SystemFontFamilies)
        {
            listBoxItem = new ListBoxItem();
            listBoxItem.Content = fontFamily;
            listBoxItem.FontFamily=fontFamily; // Shows Font Text in the Font
            FontFamilyListBox.Items.Add(listBoxItem);
        }
...