Установка стороннего шрифта для 1С: Windows, Linux, формы и печать
Содержание
Добавить новый шрифт в 1С нельзя «внутрь» базы: шрифт ставится в операционную систему, а 1С берёт его оттуда по имени гарнитуры. Файл .ttf или .otf копируется в систему на каждом компьютере, где форма или печатная форма должна выглядеть правильно, после чего имя шрифта выбирается в свойстве Шрифт нужного элемента.
Поэтому «добавить шрифт » всегда состоит из двух частей: установка в ОС (клиент, терминальный сервер, при необходимости сервер 1С на Linux) и назначение шрифта в конфигураторе или в макете. Если пропустить первую, на других рабочих местах 1С молча подставит другой шрифт, и вёрстка поедет.
Что нужно знать до установки
Шрифт не хранится ни в конфигурации, ни в информационной базе. В метаданных записано только его имя, например Arial или Code 128. Кто открыл форму, у того платформа ищет шрифт с таким именем среди установленных в системе.
Отсюда практическое правило: где шрифта нет, там будет замена. Это важно в трёх случаях:
- 🖥 экран формы в тонком клиенте на каждом рабочем месте;
- 🖨 печатная форма, которую открывают на разных компьютерах;
- 🌐 веб-клиент: шрифт берётся из системы того компьютера, где открыт браузер.
Если шрифт нужен только для одной печатной формы (штрихкод, подпись, красивый заголовок), проще не менять формы интерфейса, а использовать шрифт в макете и заранее решить, как он попадёт на все компьютеры.
Подготовка файла шрифта
Перед установкой проверьте три вещи.
- Формат. Подходят
.ttf(TrueType) и.otf(OpenType). Файлы.woffи.woff2предназначены для сайтов; в Windows их надо предварительно конвертировать. - Кириллица. Многие красивые шрифты содержат только латиницу. Откройте файл двойным щелчком: в окне просмотра введите русский текст. Если вместо букв квадраты или другая гарнитура, кириллицы в шрифте нет, и 1С тут ничем не поможет.
- Лицензия. Бесплатные для личного использования шрифты нередко запрещают коммерческое применение. Для рабочих баз берите шрифты со свободной лицензией или покупайте.
Источник файла проверьте на вирусы: шрифты из случайных архивов иногда идут вместе с установщиком.
Шрифт со сложным начертанием (например, «рукописный» в ведомости) читается хуже обычного. Для таблиц, где читателем будет бухгалтер или налоговая, лучше оставить стандартный.
Установка шрифта в Windows
Есть два рабочих способа. Оба ставят шрифт в систему, 1С тут ни при чём.
Через контекстное меню
- Откройте папку с файлом шрифта.
- Щёлкните файл правой кнопкой мыши и выберите
Установить. В современных версиях Windows будет ещё пунктУстановить для всех пользователей. - Дождитесь исчезновения окна установки.
Если нужно поставить сразу несколько файлов, выделите их все и выберите то же действие.
Копированием в системную папку
Скопируйте файлы в C:\Windows\Fonts. Это равнозначно установке для всех пользователей, потребуются права администратора.
| Способ | Для кого шрифт будет доступен | Права |
|---|---|---|
Установить | Для текущего пользователя | Обычные |
Установить для всех пользователей | Для всех учётных записей компьютера | Администратор |
Копирование в C:\Windows\Fonts | Для всех учётных записей | Администратор |
После установки закройте все запущенные клиенты 1С и откройте их заново. Уже работающий сеанс список шрифтов не обновляет.
Если у вас терминальный сервер
На терминальном сервере (RDS) пользователи работают в сеансах на одной машине. Ставить шрифт нужно на сам сервер, а не на компьютеры сотрудников, и устанавливать для всех пользователей. Затем каждому пользователю нужно выйти из сеанса и зайти снова. Принудительно завершать чужие сеансы без согласования нельзя: люди потеряют несохранённые документы.
Настройка Linux-серверов для работы с 1С
Эта часть нужна, если у вас сервер 1С:Предприятия на Linux или клиенты работают под Linux. Типичный сигнал проблемы: на Windows печатная форма выглядит нормально, а при формировании на сервере (например, выгрузка в PDF по расписанию) вместо нужного шрифта подставляется другой.
Порядок действий:
- Скопируйте файлы шрифта в системный каталог шрифтов, например в
/usr/share/fonts/truetype/custom/, предварительно создав папку. Для одного пользователя достаточно~/.fontsили~/.local/share/fonts. - Проверьте владельца и права: файлы должны читаться всеми, обычно подходит
chmod 644. - Обновите кэш шрифтов.
sudo mkdir -p /usr/share/fonts/truetype/custom
sudo cp MyFont.ttf /usr/share/fonts/truetype/custom/
sudo chmod 644 /usr/share/fonts/truetype/custom/MyFont.ttf
sudo fc-cache -fv
Проверьте, что система видит шрифт:
fc-list | grep -i "MyFont"
Если строка с нужным именем появилась, шрифт установлен. Обратите внимание на имя после двоеточия: именно его система считает названием гарнитуры.
Перезапуск службы сервера 1С оборвёт сеансы всех подключённых пользователей. Делайте его в нерабочее время и предупредите людей заранее. Нужен ли перезапуск именно у вас, проверьте на копии стенда: часто достаточно, чтобы процесс, который формирует документы, был запущен заново.
Если на Linux нет базовых шрифтов вообще, печать в PDF выглядит пустой или с квадратами. Установите пакет, который приносит стандартные кириллические гарнитуры, например семейство Liberation или DejaVu из репозитория вашего дистрибутива, а затем снова выполните fc-cache -fv.
Применение шрифта в конфигураторе и формах
После установки в ОС запустите Конфигуратор заново: уже открытый не увидит нового шрифта.
Шрифт для элемента формы
- Откройте нужную форму (обычную или управляемую) в конфигураторе.
- Выделите элемент: поле, надпись, группу.
- В палитре свойств найдите свойство
Шрифти нажмите кнопку выбора. - Выберите нужную гарнитуру из списка, задайте размер, начертание (жирный, курсив).
В управляемых формах шрифт полей чаще всего задают через стиль. Это правильнее, чем настраивать каждый элемент вручную: поменяв элемент стиля один раз, вы меняете шрифт во всех местах, где он использован.
Шрифт в конфигурации через стиль
Откройте ветку Общие → Стили → Элементы стиля, создайте элемент нужного типа (шрифт) и задайте в нём гарнитуру. Затем в свойстве Шрифт элементов формы выберите этот элемент стиля вместо конкретной гарнитуры. Изменения применятся после обновления конфигурации базы данных и перезапуска клиента.
Такой подход удобен, когда один шрифт нужен в десятках форм: фирменный стиль организации, увеличенный размер для кладовщиков.
Шрифт в макете печатной формы
В табличном документе (макете) шрифт задаётся для ячейки или области:
- Откройте макет, выделите область.
- Откройте палитру свойств, найдите блок со шрифтом и выберите гарнитуру.
- Сформируйте печатную форму и посмотрите её в предварительном просмотре.
Обратите внимание на широкие шрифты: ширина колонки считается под одну гарнитуру, и после замены текст может не помещаться. Проверяйте на самых длинных значениях: наименованиях, адресах, ФИО.
Для штрихкодов в макете обычно используют не шрифт, а специальный элемент: картинку штрихкода из платформы. Шрифт Code 128 и подобные подходят, если уже есть готовый макет, но нужны точный размер и качество печати на принтере.
Особенности работы в веб-клиенте и тонком клиенте
В тонком клиенте шрифт берётся из Windows (или другой ОС) компьютера пользователя. Всё, что сказано выше, работает один к одному.
В веб-клиенте картина другая: 1С отдаёт в браузер имя гарнитуры, а браузер ищет её среди шрифтов системы клиентского компьютера. Загрузить шрифт «из базы» в браузер средствами конфигурации нельзя. Если шрифта нет на компьютере, браузер подставит соседний из семейства (например, любой шрифт без засечек).
| Клиент | Откуда берётся шрифт | Что делать |
|---|---|---|
| Тонкий | Из ОС компьютера | Установить шрифт на каждый компьютер |
| Толстый | Из ОС компьютера | То же |
| Веб-клиент | Из ОС компьютера, на котором открыт браузер | Установить на каждый компьютер; браузер перезапустить |
| Терминальный сеанс | Из ОС терминального сервера | Установить на сервере, пользователям перезайти |
Если у вас сотни рабочих мест, раскладывать шрифт руками не нужно. Системные администраторы обычно делают это групповой политикой или скриптом развёртывания.
Диагностика проблем с отображением и кодировкой
Если шрифт «не подхватился», пройдите по списку сверху вниз. Первые пункты дешевле последних.
C:\Windows\Fonts, и запустите клиент заново.fc-cache -fv, затем проверьте fc-list.Проверка, что шрифт видит система
Самый быстрый способ проверить в Windows: откройте любую программу, например Блокнот, и посмотрите, есть ли гарнитура в списке шрифтов. Если шрифта нет и там, 1С тоже его не увидит, искать причину надо на уровне операционной системы.
Проверьте и обратную сторону: два файла с одним именем гарнитуры конфликтуют. Если установлена старая версия шрифта, а вы ставите новую, Windows предложит заменить файл. Соглашайтесь, но предварительно закройте программы, которые шрифт используют.
Частые ошибки и как их избежать
- Ставят шрифт на свой компьютер, а печатная форма уходит контрагенту в PDF с другого компьютера. Для рассылки формируйте PDF у себя, где шрифт есть: в файл шрифт встроится, и получатель увидит то же самое.
- Меняют шрифт у каждого элемента вручную. Через полгода никто не помнит, где какой. Используйте элемент стиля.
- Выбирают экзотическую гарнитуру для форм, которые заполняет весь отдел. Любой сбой на одном компьютере превращается в звонок в поддержку.
- Забывают про лицензию на шрифт, когда ставят его на десятки машин.
Как раздать шрифт на много компьютеров
Один-два компьютера настраивают вручную. Если рабочих мест больше десятка, ручная установка превращается в источник забытых машин.
Порядок для администратора:
- Положите файлы шрифтов в сетевую папку с доступом только на чтение.
- Подготовьте скрипт, который копирует файлы в системную папку шрифтов и регистрирует их. Запускайте его от имени администратора, например при входе в систему через групповую политику.
- Проверьте скрипт на одном тестовом компьютере: откройте 1С и убедитесь, что шрифт виден в конфигураторе и в форме.
- Только после этого запускайте на остальных.
Для терминального сервера скрипт не нужен: шрифт ставится один раз на сервер, а пользователям нужно выйти из сеанса и зайти заново. Удобнее делать это вне рабочего времени.
Последний пункт часто упускают: PDF с встроенным шрифтом выглядит одинаково у всех, а исходный файл табличного документа зависит от шрифтов получателя.
Частые вопросы
Можно ли хранить шрифт внутри информационной базы?
Нужно ли перезагружать компьютер после установки шрифта?
Почему в веб-клиенте шрифт другой, чем в тонком?
Как узнать точное имя гарнитуры для свойства?
fc-list. Используйте его в точности, как оно выведено.