Получение списка установленных шрифтов C#
Обычная задача при создании программ, позволяющих редактировать текст, в частности приложений What-You-See-Is-What-You-Get (WYSIWYG), заключается в извлечении списка установленных шрифтов. Затем предпочтительные шрифты и стили пользователя могут быть использованы по желанию.
Класс InstalledFontCollection
Microsoft Windows позволяет пользователям добавлять новые шрифты в список доступных операционной системе. Таким образом, пользователь может обеспечить доступ к своим любимым шрифтам для использования в своих приложениях. Когда вы разрабатываете программное обеспечение, которое включает в себя редактирование текста, важно, чтобы вы могли идентифицировать все доступные шрифты и разрешить их использование в программе.
Класс InstalledFontCollection предоставляется как часть System.Drawing.Text пространство имен структуры .NET. Этот класс содержит коллекцию объектов FontFamily, каждый из которых представляет один шрифт, с одним объектом для каждого шрифта, установленного в Microsoft Windows.
Список доступных шрифтов
Перечисление имен установленных шрифтов с использованием вышеперечисленных классов довольно просто. Для начала создайте новое приложение Windows Forms. Добавьте список в форму, которая создается автоматически, назвав его "FontListBox". Затем мы можем добавить код в событие загрузки формы, чтобы прочитать список шрифтов и добавить в него имя каждого стиля. Дважды щелкните по фону формы, чтобы добавить новое событие, которое должно выглядеть следующим образом:
private void Form1_Load(object sender, EventArgs e) { }InstalledFontCollection находится в пространстве имен System.Drawing.Text. FontFamily находится в пространстве имен System.Drawing. Убедитесь, что это пространство имен указано в директиве using в верхней части кода формы:
using System.Drawing; using System.Drawing.Text;Теперь мы можем создать новый объект InstalledFontCollection. Этот объект будет автоматически заполнен списком установленных шрифтов. Чтобы создать объект, добавьте следующий код в событие загрузки формы:
InstalledFontCollection fonts = new InstalledFontCollection();Новый объект включает в себя свойство с именем "Families". Это набор объектов FontFamily, каждый из которых представляет собой один установленный шрифт. Объекты FontFamily имеют различные члены, которые описывают шрифты в семействе и то, как они могут быть использованы. В этом случае нас просто интересует свойство Name, которое содержит описательное имя шрифта. Используя цикл foreach, имя каждого семейства шрифтов может быть добавлено в список. Добавьте следующий цикл к событию загрузки и выполните программу, чтобы увидеть результаты.
foreach (FontFamily family in fonts.Families) { FontListBox.Items.Add(family.Name); }
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.