Re: WPF. Fonts enumeration
От: karbofos42 Россия  
Дата: 24.11.16 05:16
Оценка:
Здравствуйте, HotDog, Вы писали:

HD>Задача элементарна, показать в комбобоксе все установленные шрифты для использования в RichTextBox.


HD>- (1) Как референс — WinWord показывает на машине 331 шрифт доступный для выбора.

HD>- (2) Если я получаю фонты через System.Drawing.Text.InstalledFontCollection() то возвращается 311 значение.
HD>- (3) System.Windows.Media.Fonts.SystemFontFamilies() возвращает коллекцию из 271 FontFamilies.

HD>Проблемы:

HD>- В коллекции (3) отсутствуют такие фонты как „Arial Black“, „Arial Narrow“ и куча других шрифтов в названии которых есть дополнения типа Black, Thin, Light и т.п.
HD>- Если как отправную точку брать коллекцию (2) то там некоторые фонты называются иначе. К примеру «John Handy LET» (http://www.myfontfree.com/john-handy-let-myfontfreecom126f36883.htm) в коллекции (3) идет под названием «John Handy LET Plain» и именно такое название нужно кидать WPF, что бы он создал этот фонт.
HD>- В любом случае мы не дотягиваем до полной коллекции установленных шрифтов.

HD>Кто-нибудь решал подобную проблему? Как получить самый полный и правильный список установленных шрифтов для использования в WPF?


В WPF немного другая схема идёт. Arial — не шрифт, а семейство шрифтов. Arial Narrow — не отдельное что-то, а один из typeface Arial. Есть у Arial typeface обычный, полужирный, Narrow, Black,...
Вот пример нагуглился: https://blogs.msdn.microsoft.com/text/2006/10/31/sample-font-chooser/