Чтобы сделать пользовательский шрифт доступным в документах ONLYOFFICE, установите его файлы на машину или в контейнер, где запущен Document Server, перегенерируйте список шрифтов сервера и проверьте результат в редакторе и экспортированном документе. Точный шаг сохранения файлов зависит от того, установлен ли ваш сервер непосредственно на Linux или работает в Docker.
Успешное изменение означает, что шрифт отображается под своим именем семейства в палитре шрифтов редактора и отображается должным образом в тестовом документе. Наличие названия в меню — полезная первая проверка, но она не гарантирует работоспособность всех стилей, языков или путей экспорта. Перед использованием шрифта в рабочих документах проверьте обычный и полужирный текст, необходимые наборы символов, а также предварительный просмотр PDF-файла или печати.
Что меняется при установке шрифта?
ONLYOFFICE Docs использует шрифты, доступные хосту Document Server, и создает метаданные шрифтов для своих редакторов. В руководствах по установке поставщика перечислены семейства TrueType и OpenType, включая .ttf, .otf, .ttc, и связанные форматы, а также форматы WOFF. Поддерживаемые типы файлов не гарантируют идентичного поведения каждого файла шрифта или функции шрифта; протестируйте конкретный шрифт и документ, который вы планируете использовать.
Установка шрифта на стороне сервера позволяет подключенным редакторам использовать шрифт через Document Server. При этом шрифт не устанавливается на каждом компьютере пользователя или на других серверах обработки документов. Если загруженный или отдельно открытый файл просматривается в программе, в которой отсутствует этот шрифт, эта программа может заменить его другим шрифтом. ONLYOFFICE также отмечает, что документы могут отображаться с наиболее близким заменителем, если на сервере отсутствует шрифт, используемый в документе, что может изменить переносы строк или макет страницы.
Используйте файлы шрифтов, которые вы имеете право размещать на сервере. Храните файлы и условия их лицензирования вместе с записями о развертывании, особенно если шрифт имеет ограничения на использование на сервере, распространение или встраивание в документы.
Выберите правильный способ установки
- Установка пакета Linux: скопируйте файлы шрифтов в системный каталог шрифтов на машине с сервером документов, затем запустите скрипт генерации шрифтов ONLYOFFICE. Это подходит, если вы управляете хостом напрямую.
- Контейнер Docker: смонтируйте постоянный каталог хоста в каталог шрифтов контейнера или скопируйте шрифты в работающий контейнер для кратковременного тестирования. Восстановите метаданные шрифтов внутри контейнера. Смонтированный каталог сохраняется после перезапуска контейнера; однократное копирование в контейнер, как правило, не сохраняется.
- Управляемое или интегрированное развертывание: если контейнер Document Server управляется другой платформой или инструментом установки, примените постоянное монтирование через конфигурацию этого развертывания. Редактирование работающего контейнера может быть потеряно при обновлении или замене.
В опубликованных на данный момент руководствах по шрифтам ONLYOFFICE показан один и тот же основной алгоритм работы для Community Edition на Linux и Docker, а также опубликовано отдельное руководство для Linux для Enterprise Edition. Пути, права доступа и оркестрация контейнеров могут различаться в зависимости от вашей версии и метода установки, поэтому используйте существующую конфигурацию вашего развертывания, а не заменяйте ее примером из другой среды.
Добавление шрифтов в установленную систему Linux
1. Подготовьте и установите файлы шрифтов.
Получите необходимые файлы семейства шрифтов, включая реальные варианты жирного и курсивного начертания, если семейство их предоставляет. Храните обычное семейство шрифтов в каталоге с понятным именем. Например, администратор может разместить семейство шрифтов в каталоге `<каталог>` /usr/share/fonts/, системном расположении, используемом в инструкциях ONLYOFFICE для Linux:
sudo mkdir -p /usr/share/fonts/custom/brand-sans
sudo cp BrandSans-*.ttf /usr/share/fonts/custom/brand-sans/
Замените приведенные примеры имен файлов на имена файлов, которые у вас действительно есть. Избегайте переименования файлов шрифтов с целью изменения их семейства; редакторы используют метаданные, хранящиеся внутри каждого файла шрифта. Убедитесь, что процессы сервера документов могут читать эти файлы. Если вы управляете шрифтами через систему управления пакетами или конфигурациями, используйте этот процесс, чтобы файлы оставались доступными после обслуживания.
2. Перегенерируйте список шрифтов ONLYOFFICE.
После установки файлов запустите скрипт генерации шрифтов от поставщика:
sudo /usr/bin/documentserver-generate-allfonts.sh
Дождитесь завершения выполнения скрипта и проверьте его вывод на наличие ошибок. Этот шаг обновляет данные шрифтов, используемые Document Server; простое копирование файла шрифта на хост может не привести к его отображению в уже запущенном редакторе. Не удаляйте существующие серверные шрифты в рамках этой процедуры. Производитель предупреждает, что удаление системных шрифтов может повлиять на верстку и отображение документа.
Добавление шрифтов в развертывание Docker
1. Сделайте каталог шрифтов постоянным.
Для развертывания, управляемого с помощью Docker Compose, добавьте привязку монтирования к существующей службе Document Server. Создайте каталог хоста для файлов, а затем сопоставьте его с каталогом пользовательских шрифтов контейнера. Образ Docker для ONLYOFFICE объявляет его /usr/share/fonts/truetype/customкак том, а инструкции Docker по работе со шрифтами также позволяют копировать шрифты в каталог /usr/share/fonts/.
services:
onlyoffice-documentserver:
image: onlyoffice/documentserver:<your-pinned-version>
volumes:
- /srv/onlyoffice/fonts:/usr/share/fonts/truetype/custom
Это фрагмент кода для интеграции в ваш текущий файл Compose, а не полная замена конфигурации. Сохраните существующую версию образа, сети, переменные среды, тома данных, секреты и имя службы. Подготовьте файлы шрифтов на хосте /srv/onlyoffice/fontsи убедитесь, что контейнер может их прочитать.
Применение измененного файла Compose может привести к повторному созданию контейнера Document Server и прерыванию активных сеансов редактирования. Проверьте процедуру развертывания, создайте резервную копию конфигурации Compose и запланируйте внесение изменений соответствующим образом. Если контейнер управляется устройством или интеграцией, используйте поддерживаемый ими метод настройки вместо редактирования сгенерированного файла Compose.
2. Создайте или перезапустите программу, затем сгенерируйте метаданные шрифта.
Примените монтирование, используя стандартный рабочий процесс Compose для вашего развертывания. Затем запустите скрипт генерации шрифтов внутри самого контейнера Document Server. Для контейнера с именем `<имя контейнера>` onlyoffice-documentserverкоманда будет следующей:
docker exec onlyoffice-documentserver /usr/bin/documentserver-generate-allfonts.sh
Используйте имя или идентификатор контейнера, указанный параметром ` docker ps.`. Если вы хотите проверить шрифт только перед тем, как сделать настройку постоянной, в документации поставщика описано копирование файлов шрифтов в работающий контейнер с помощью `.` docker cp, а затем запуск того же скрипта внутри него. Рассматривайте это как тест: файлы, скопированные в контейнер, могут исчезнуть при замене контейнера.
Проверьте шрифт в редакторе и в окне вывода.
- Откройте документ в редакторе, подключенном к этому серверу документов, и откройте средство выбора шрифтов. Найдите название семейства шрифтов, указанное в его метаданных.
- Создайте короткий тестовый документ с обычным текстом, жирным текстом и символами из необходимых языковых систем. Убедитесь, что выбран правильный вес шрифта, а не синтетический или замещенный стиль.
- Сохраните, откройте и экспортируйте или просмотрите тестовый документ. Сравните переносы строк, количество страниц, интервалы и покрытие глифов с ожидаемым результатом.
- Повторите проверку в редакторе документов или приложении, которое фактически используют ваши пользователи. Наличие шрифта на сервере не гарантирует его наличие в локальном приложении, не имеющем к нему отношения, или на другом сервере.
В более старых версиях, кэшированные на стороне браузера метаданные шрифтов могут задерживать отображение контента пользователями. В опубликованных руководствах ONLYOFFICE указано, что для версии 8.1.3 и более ранних версий следует очистить кэш браузера и повторно открыть страницу после добавления шрифтов; для более поздних версий этот шаг не требуется. Сначала проверьте файлы на стороне сервера и сгенерированные метаданные, а затем используйте рекомендации по кэшированию только в том случае, если они соответствуют вашей версии.
Если шрифт отсутствует или изменился макет
- Шрифт отсутствует в списке выбора: убедитесь, что файл находится в каталоге шрифтов на хосте Document Server или внутри соответствующего контейнера, читаем и имеет поддерживаемый тип файла. Запустите скрипт генерации шрифтов еще раз и прочитайте его вывод. В Docker проверьте монтирование изнутри контейнера; одного пути к хосту недостаточно, чтобы доказать, что том подключен к активной службе.
- Название семейства шрифтов может выглядеть по-разному: проверьте встроенные метаданные семейства шрифтов. Например, имя файла
BrandSans-Bold.ttfможет быть установлено правильно, в то время как в меню отображается название семейства, определенное внутри шрифта.
- Шрифт отображается, но текст неверен: проверьте, содержит ли шрифт необходимые символы и фактические файлы стилей. Шрифт может отображаться в палитре, но при этом не иметь глифа или толщины, используемых в документе.
- После внесения изменений документы автоматически переформатируются: сравните точное семейство шрифтов и стиль, использованные до и после. Если исходный шрифт отсутствует на другом компьютере или в сервисе экспорта, замена может изменить макет. Установите лицензированный шрифт везде, где происходит отрисовка, или используйте безопасную для документа альтернативу и повторно проверьте страницы.
- Шрифт исчезает после обновления: проверьте, была ли установка выполнена только внутри временного контейнера. Переместите файлы в постоянный каталог хоста и подключите его через конфигурацию развертывания перед повторным созданием службы.
Добавление пользовательских шрифтов наиболее полезно, когда в общих документах и при контролируемом экспорте требуется использовать шрифты одного и того же семейства. Однако у этого метода есть ограничения: установка на сервере не предоставляет права на использование шрифтов, не добавляет недостающие глифы к шрифту и не гарантирует идентичное отображение в пикселях в программном обеспечении, использующем другой набор шрифтов. Храните каталог пользовательских шрифтов под контролем версий или в системе управления конфигурацией, указывайте версию Document Server и повторно запускайте проверки после обновлений.
Официальные ссылки