Конфигурация подключения дополнительных шрифтов#
В DCGN для генерации документов с дополнительными шрифтами присутствует возможность добавления необходимых шрифтов типов TYPE1 и TRUE TYPE на этапе установки дистрибутива.
При считывании шрифтов для каждого семейства (или подтипа семейства) шрифтов можно добавить шесть стилей:
Regular (Обычный).
Bold (Жирный).
Italic (Курсив).
Oblique (Наклонный).
Bold Italic (Жирный Курсив).
Bold Oblique (Жирный Наклонный).
Шрифты добавляются в соответствии с кодом 1 в соответствии со спецификацией Open Type.
Для движка XDocReport для шрифтов любых подтипов (Black, Semibold, Thin, иные) могут быть добавлены все шесть стилей.
Для движка JasperReports для шрифтов любых подтипов (Black, Semibold, Thin, Display, иные) могут быть добавлены четыре стиля:
Regular.
Bold.
Italic/Oblique (при наличии обоих стилей предпочтение будет отдано стилю Italic).
Bold Italic/Bold Oblique (при наличии обоих стилей предпочтение будет отдано стилю Bold Italic).
Настройка параметров сервиса#
Для использования дополнительных шрифтов при установке нужно выполнить следующие действия:
Выставить значение параметра
dcgn.customFonts.enabledравнымtrue.Выставить значение параметра
dcgn.customFonts.lookup.fonts.in.repoравным:true– для установки шрифтов из репозитория настроек, шрифты должны быть расположены в директории/conf/files/fontsрепозитория;false– для установки шрифтов из дистрибутива конфигураций, шрифты должны быть расположены в директорииpackage/conf/files/fonts.
При необходимости задать псевдонимы, задать пути до файлов шрифтов для подключаемых шрифты, нужно:
выставить значение параметра
dcgn.customFonts.fineTune.enabledравнымtrue;выставить значение параметра
dcgn.customFonts.fineTune.fontFamiliesравным списку псевдонимов шрифтов, разделенных точкой с запятой (<псевдоним_1;…;псевдоним_N>);выставить значение параметра
dcgn.customFonts.fineTune.fontFilesPathsравным списку сопоставлений шрифтов к стилю для каждого псевдонима, разделенных точкой с запятой (<сопоставление1>;…;<сопоставлениеN>).
Примечание
Наименование параметров может отличаться в зависимости от окружения.
Требования к файлам#
Требования к файлам:
Могут использоваться файлы шрифтов типов TYPE1 и TRUE TYPE, а также наборы шрифтов, сжатых в один ZIP-архив (не более 20 файлов на один архив).
Имена файлов могут содержать любые латинские символы, а также дефис или пробел.
Обратите внимание на имя файла при указании его в параметре
dcgn.customFonts.fineTune.fontFilesPathsФайлы могут быть закодированы в base64, и в таком случае должны именоваться следующим образом:
{имя-файла}.{расширение}.base64.Значение суммы «Размер закодированного файла + размер {имя-файла} + размер {имя-файла}.{расширение}» должно быть таковым, чтобы результирующий ConfigMap, содержащий данные о шрифте, не превышал 1Mb.
Требования к сопоставлению стилей шрифтов для псевдонимов#
Требования к сопоставлению стилей шрифтов для псевдонимов:
Каждому псевдониму сопоставляется шесть стилей, разделенных двоеточием, в следующем порядке:
обычный шрифт:курсив:наклонный:жирный:жирный курсив:жирный наклонный. При отсутствии шрифта для конкретного стиля соответствующая позиция остается пустой.Сопоставления указываются в порядке определения псевдонимов и разделяются точкой с запятой.
Каждому стилю задается путь до файла шрифта.
Путь должен начинаться с директории, названной так же, как и исходный файл шрифта, но в нижнем регистре.
Если файл шрифта находится внутри zip-архива, имя файла должно отделяться от пути до архива вертикальной чертой (
|).
Пример: пусть в директории шрифтов были добавлены следующие файлы:
calibri.zip– zip-архив, содержащий файлы шрифтов:calibri.ttf(обычный),calibri_italic.ttf(курсивный);calibri-Oblique.ttf– наклонный шрифт;Calibri-Bold.ttf– жирный шрифт.
Тогда сопоставление стилей будет выглядеть следующим образом:
calibri/calibri.zip|calibri.ttf:calibri/calibri.zip|calibri_italic.ttf:calibri-oblique/calibri-Oblique.ttf:calibri-bold/Calibri-Bold.ttf::
Примечание
В случае несоответствия названия шрифта в параметре с фактическим названием файла, в логах, в режиме WARN, будет выведена ошибка об отсутствии указанного в параметре шрифта.