Здравствуйте, 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/