Получение списка установленных шрифтов 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, си шарп, шрифты




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




Как заблокировать вебвизор
Управление размером окна консоли C#
Решение задачи на собеседовании по вставке в массив PHP