Привет всем читателям блога Stimulsoft! Как вы уже поняли из названия, сегодня речь пойдет о шрифтах.
При создании очередного отчета или дашборда, у наших пользователей иногда возникают вопросы касательно списков шрифтов, работы с ними, их отображения на различных устройствах и т.д. Что ж, давайте поподробнее разберем эту тему и разложим, как говорится, все по полочкам. Итак, от чего же зависит список шрифтов, который мы видим в дизайнере отчетов? Этот список зависит, в основном, от операционной системы и используемого продукта.

По умолчанию в ОС устанавливается определенный набор шрифтов. Однако при последующем обновлении ОС, а также в зависимости от ее версии список шрифтов может отличаться. Чаще всего по умолчанию в системе устанавливается набор шрифтов, и в каждой версии системы есть свой список. Шрифты могут быть установлены пользователями вручную или автоматически вместе с определёнными приложениями. Шрифты бывают различных типов: растровые (bitmap) и векторные (TrueType, OpenType, PostScript).

Наши продукты предназначены для различных технологий и, соответственно, используют разные методы отображения информации. Поэтому поддержка отображения семейства шрифтов и их видов может различаться. Помимо этого, технологии могут по-разному работать на разных версиях операционной системы. Например, при работе на Windows 8/10 продукты Reports.Net, Reports.Wpf, основанные на .NET Framework, поддерживают шрифты TrueType и OpenType, а на более ранних версиях Windows – только TrueType.Таким образом, в списке шрифтов дизайнера отчетов отображаются только те шрифты, которые установлены в системе и поддерживаются продуктом и технологией.Всё вышесказанное относится к Reports.Net, Reports.Wpf, Dashboards.WIN. В случае использования Web-продуктов (клиент-серверных технологий) список шрифтов берётся из операционной системы серверной части продукта. Для продуктов, в которых используется JS engine, список шрифтов предустановлен нашими разработчиками.

Теперь подробнее поговорим о самих шрифтах.

Что такое шрифт? Шрифт – это набор символов определенного начертания. Обычно каждый шрифт представлен отдельным файлом. Файлы шрифтов могут быть разных версий и содержать разное количество символов. Как правило, системные шрифты содержат всего несколько тысяч самых широко употребляемых символов. Также существует ряд «универсальных» шрифтов, которые содержат большое количество символов Юникода, например Arial Unicode, Lucida Sans Unicode. Такие шрифты обычно имеют очень большой размер, и не входят в состав системы.

Если шрифт не содержит нужные символы, система использует алгоритм «font fallback», который подставляет символы из похожих шрифтов или шрифтов похожего начертания. В результате внешний вид текста может отличаться от задуманного. Например, часть текста на другом языке может быть выведена другим шрифтом, и это будет очень заметно.

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

Text QualityНа скриншоте показан пример отображения одного и того же текста разными шрифтами в продукте Stimulsoft Reports.Net. Верхняя строка таблицы – отображение текста в режиме Text Quality=Standard (стандартный способ вывода текста в .NET Framework основан на библиотеке GDI+). Нижняя строка таблицы – отображение в режиме Text Quality=Wysiwyg (наш метод вывода текста, основан на библиотеке GDI). В данном методе используется другой алгоритм замены шрифтов, поэтому вид может отличаться. В этом случае, некоторые символы не находятся и заменяются на пустые квадраты.Поэтому, для того чтобы текст корректно отображался, необходимо еще при разработке отчета подумать о том, какие шрифты будут использованы, а во время составления дизайна и отображения отчетов обеспечить доступность всех нужных шрифтов.

Если же вам недостаточно установленных в системе шрифтов для разработки отчета, можно использовать пользовательские шрифты. Это могут быть купленные шрифты, созданные вручную в редакторах, или свободно распространяемые, скачанные из интернета.

Для того чтобы шрифты стали доступны в нашем продукте, их можно установить прямо в операционную систему. Этот вариант подходит для настольных версий средств отчетности Stimulsoft. Шрифты также могут быть установлены вместе с приложением или пользователями вручную.

Помимо этого, для других версий существуют ещё два способа.

Первый – загрузка шрифта из кода приложения с помощью класса StiFontCollection. Этот вариант предназначен для разработчиков ПО и он используется на этапе создания приложения. Чаще всего таким образом добавляются «фирменные» шрифты, которые используются в большинстве отчетов. Второй – добавление шрифта в ресурсы отчета. Этот способ подходит для разработчиков отчетов.При добавлении файла шрифта в ресурсы отчета, может значительно увеличиться размер файла отчета, а также время его обработки.Custom FontsНа скриншоте показан инструмент выбора шрифта в Web-версии нашего продукта. Все пользовательские шрифты выделены в отдельную категорию «Custom Fonts».Большинство наших продуктов в качестве пользовательских шрифтов допускают использование шрифтов типа TrueType и OpenType (соответственно файлы с расширением “ttf” и “otf”). Обратите внимание, что на Windows 7 и на более ранних версиях ОС шрифты OpenType могут не работать в нашем продукте.
Также стоит упомянуть экспорты в форматах PDF и XPS. Здесь важно отметить, что только при экспорте отчета в эти форматы шрифты могут быть встроены в файл документа. В этом случае при просмотре этого документа на любой ОС он будет выглядеть одинаково.

Поэтому для корректного формирования необходимо выполнить несколько условий:
  • все необходимые шрифты должны быть доступны; причем получить файл шрифта из системы возможно только в Net-продуктах на Windows, в остальных случаях все необходимые шрифты должны быть загружены одним из вышеуказанных способов (StiFontCollection или ресурсы отчёта);
  • шрифты должны быть типа TrueType или OpenType;
  • шрифты должны содержать все необходимые символы; если файл шрифта внедрен – для его отображения не используется алгоритм «font fallback», и все отсутствующие символы заменяются на пустые прямоугольники.

Export PDF FontsЗдесь мы можем увидеть пример отображения текста в экспортированном PDF-файле. При экспорте в PDF не используется системный «font fallback», поэтому важно подобрать правильные шрифты.
Надеемся, что данная статья поможет вам разобраться со шрифтами в дизайнере отчетов Stimulsoft. И теперь вы с легкостью сможете создать эксклюзивный дизайн для ваших отчетов и дашбордов. Если у вас остались какие-либо вопросы, свяжитесь с нами – будем рады вам помочь!