Новый шрифт для 1С Предприятия: где ставить и как заставить его заработать
Содержание
Шрифт «в 1С» поставить нельзя: у платформы нет своего каталога шрифтов и нет кнопки «Добавить шрифт ». 1С берёт то, что установлено в операционной системе. Поэтому установка шрифта для 1С Предприятия сводится к установке его в Windows (или Linux) на том компьютере, где реально строится изображение: у пользователя, на терминальном сервере, иногда на сервере 1С.
Если новый шрифт в списке 1С не появился, ошибка почти всегда в одном из трёх мест: шрифт поставлен не на ту машину, 1С не перезапускали, либо шрифт есть в системе, но не подходит под символы, которые вы хотите вывести. Ниже разбираем всё по порядку.
Сначала выясните, что именно не так с текстом
Симптом подскажет, куда копать. Не ставьте шрифты наугад.
Таблица ниже помогает определить, где ставить шрифт.
| Где запускается 1С | Где ставить шрифт |
|---|---|
| Обычный компьютер, толстый клиент или тонкий клиент | На компьютере пользователя |
| Терминальный сервер (RDP, RemoteApp) | На терминальном сервере, пользователи шрифт не ставят |
| Веб-клиент в браузере | На компьютере пользователя, шрифт берёт браузер |
| Печатная форма строится на сервере 1С (например, выгрузка в PDF фоновым заданием) | На сервере приложений 1С |
Последняя строка про самый коварный случай. Пользователь видит нужный шрифт на экране, а файл PDF, сформированный на сервере, собран с подстановкой. Причина в том, что шрифта нет на серверной машине.
Ставим шрифт в Windows: три рабочих способа
Перед установкой убедитесь, что у файла подходящий формат: .ttf (TrueType) или .otf (OpenType). Старые растровые форматы лучше не трогать. Проверьте лицензию: многие красивые шрифты бесплатны только для личного использования, а для организации нужна коммерческая лицензия.
Способ 1. Контекстное меню
- Откройте папку с файлом шрифта. Если он в архиве, сначала распакуйте.
- Щёлкните по файлу правой кнопкой мыши.
- Выберите «Установить» (для всех пользователей компьютера нужны права администратора, в новых версиях Windows есть отдельный пункт «Установить для всех пользователей»).
Это самый быстрый путь для одного шрифта.
Способ 2. Папка шрифтов
Откройте C:\Windows\Fonts и перетащите туда файлы. Метод удобен, когда шрифтов много: можно выделить десяток файлов и перетащить разом. Окно покажет список установленных гарнитур, там же шрифт можно удалить или временно скрыть.
Способ 3. Параметры Windows
В новых версиях Windows: Параметры → Персонализация → Шрифты. Файлы можно перетащить в верхнюю область окна. Здесь же видно, какие шрифты уже есть и как они выглядят.
Для рабочих мест, которых много, шрифты не ставят вручную. Их раскладывают групповой политикой или скриптом входа. Один раз настроили, и новый сотрудник получает те же шрифты, что и остальные.
После установки закройте 1С полностью (все окна, а не только базу) и откройте заново. Запущенная программа список шрифтов в памяти не обновляет. На терминальном сервере лучше попросить пользователей выйти из сеанса и зайти снова.
Как 1С находит шрифт и что про реестр нужно знать
Отдельного реестра шрифтов у платформы нет. Windows хранит список установленных гарнитур в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts: каждая запись связывает название шрифта с именем файла. 1С в этот раздел ничего не пишет и из него напрямую ничего не читает: она запрашивает у системы список доступных шрифтов, как любая другая программа.
Отсюда практические выводы.
- Править реестр руками ради шрифта в 1С не нужно. Если установка через проводник отработала, запись в реестре создана сама.
- Если файл шрифта лежит в
C:\Windows\Fonts, а записи в реестре нет (так бывает после ручного копирования или кривого скрипта), шрифт не появится ни в 1С, ни в Word. Установите его заново штатным способом. - Имя шрифта в 1С и имя файла часто отличаются. В списке выбора вы увидите название гарнитуры, например «Arial Narrow», а файл будет называться иначе. Ищите по названию гарнитуры.
Не удаляйте записи в разделе Fonts вручную, если не уверены. Системные шрифты Windows используют окна и меню, и удаление нужной записи ломает отображение интерфейса.
Установка шрифтов на сервере приложений и в Linux
Если 1С работает на Linux или формирует документы на сервере, шрифты ставятся на серверную машину. Каталог для них стандартный: /usr/share/fonts для всех пользователей или ~/.fonts и ~/.local/share/fonts для одного пользователя.
Порядок действий:
- Скопируйте файлы шрифтов в выбранный каталог (удобно создать подпапку, например
/usr/share/fonts/truetype/custom). - Обновите кэш шрифтов командой
fc-cache -fv. - Проверьте, что шрифт виден системе:
fc-list | grep -i "часть названия". - Перезапустите программу, которая использует шрифт. Для серверных процессов это значит остановку службы или рабочих процессов, поэтому делайте это вне рабочих часов: сеансы пользователей оборвутся.
Для Windows-сервера порядок тот же, что на обычном компьютере, только установить шрифт нужно под учётной записью с правами администратора, а затем перезапустить службу сервера 1С, когда в базе никто не работает.
Если на Linux нужны шрифты Microsoft (Arial, Times New Roman) для совпадения вида документов с Windows, используйте только легальные источники. Для замены есть свободные метрически совместимые гарнитуры: Liberation, например. Документ будет занимать на странице то же место.
Где и как выбрать шрифт внутри 1С
Установить шрифт мало, его ещё нужно применить. Способ зависит от того, где вы хотите его видеть.
Табличные документы: печатные формы и отчёты
Выделите ячейки в макете или в готовом отчёте, откройте свойства форматирования и перейдите на закладку со шрифтом. В списке будут все гарнитуры, которые видны системе. Задайте начертание и размер.
В режиме «1С:Предприятие» выбранный пользователем шрифт в отчёте живёт до закрытия отчёта или до сохранения настройки. Чтобы шрифт был постоянным, его задают в макете печатной формы. Для этого нужна работа в конфигураторе, а в типовой конфигурации лучше сделать это в расширении, чтобы изменения не потерялись при обновлении.
Формы и элементы управления
Шрифт элемента формы (надписи, поля, таблицы) задаётся в его свойствах в конфигураторе. Для обычных пользователей это недоступно: интерфейс управляемого приложения использует шрифты, заданные платформой и стилем. Менять стиль целиком можно в разработке, но риски выше, чем польза.
Текстовые документы и HTML-поля
Форматированный документ и HTML-поле берут гарнитуры у системы или браузерного движка. Если шрифт нужен именно для вывода в HTML-поле, проверьте, что он установлен там, где запущен клиент.
Печать, отчёты и PDF: почему шрифт «слетает»
Три типичные причины, когда на экране красиво, а на выходе нет.
| Ситуация | Что происходит | Что делать |
|---|---|---|
| Печать на принтер | Драйвер заменяет шрифт на близкий | Проверьте драйвер, включите печать текста как графики, если у принтера есть такая настройка |
| Сохранение в PDF на компьютере пользователя | Шрифт берётся из системы пользователя | Убедитесь, что шрифт стоит на этом компьютере |
| Сохранение в PDF через сервер | Шрифт берётся с серверной машины | Установите шрифт на сервер |
| Файл открывают на другом компьютере | В PDF шрифт встроен не всегда, в Excel и Word не встроен | Для передачи используйте PDF, а xlsx и docx сопровождайте нужным шрифтом |
Если документ уходит контрагенту, самое надёжное решение: отправлять PDF, а не табличный документ или xlsx. В PDF шрифт обычно встраивается и вид документа не зависит от машины получателя. Тем не менее проверьте это на одном файле: откройте результат на чужом компьютере.
Для формальных документов (счета, акты, накладные) лучше не выходить за пределы стандартных шрифтов Windows. Экзотическая гарнитура ломает вёрстку при печати у контрагента, а выигрыша от неё нет.
Штрихкоды и специальные шрифты
Отдельная категория: шрифты, которые рисуют не буквы, а штрихи. Такие шрифты для Code 128, EAN-13, Code 39 и подобных ставят так же, как обычные, через .ttf файл. Но есть оговорка.
- Платформа умеет формировать штрихкод как картинку сама: в табличном документе для этого есть собственный механизм вставки штрихкода. Он не зависит от установленных шрифтов, и печать будет одинаковой везде. Для новых задач предпочтительнее именно он.
- Шрифт штрихкода требует, чтобы строка была подготовлена: для Code 128 к данным добавляют стартовый символ, контрольную сумму и стоп-символ. Если просто подставить в ячейку цифры, получится читаемая последовательность, но не штрихкод. Подготовку делают процедурой в макете или дополнительной обработкой.
- Размер символов подбирают по сканеру: слишком мелкий шрифт читается плохо.
Поэтому если задача — «напечатать штрихкод на этикетке», сначала проверьте, не решается ли она встроенными средствами платформы, и только потом ставьте шрифт.
Что делать, если шрифт установлен, а в 1С его нет
Идём от простого к сложному.
- Закройте все окна 1С и запустите заново. Если 1С работает на терминальном сервере, выйдите из сеанса RDP и войдите снова.
- Откройте Word или «Блокнот» и найдите шрифт в списке. Нет там, значит, система его не приняла: файл повреждён или установка шла не штатным способом. Установите заново.
- Проверьте, что шрифт поставлен для всех пользователей, а не только для вашей учётной записи. Если вы устанавливали под администратором, а работаете под другим пользователем, шрифт может быть невиден.
- Убедитесь, что установили именно тот файл. У семейства шрифтов часто несколько начертаний (обычный, жирный, курсив) в разных файлах. Без обычного начертания в списке гарнитуры может не оказаться.
- Для веб-клиента проверьте, видит ли шрифт браузер. Откройте любую страницу с выбором шрифта или текстовый редактор в браузере.
- Если шрифт нужен на сервере, убедитесь, что он поставлен именно на нём, а не на рабочем месте администратора.
Если шрифт виден везде, кроме 1С, а в списке 1С не хватает только его, посмотрите на формат файла. Бывает, что шрифт в формате, который старые приложения не показывают. Конвертируйте его в .ttf бесплатным конвертером или возьмите другую версию.
Не скачивайте шрифты с сомнительных сайтов «чтобы быстрее». В архивах с такими файлами встречаются установщики с вредоносным кодом. Берите шрифт у автора или в проверенном каталоге.
Большие тексты и производительность
Нагрузка на 1С от шрифтов небольшая, но у неё есть свои пределы. Если в отчёте или печатной форме десятки тысяч строк и разные гарнитуры в разных ячейках, формирование замедляется. Что помогает:
- Ограничивайте число разных шрифтов в одном макете: достаточно двух-трёх.
- Не задавайте шрифт на каждую ячейку отдельно, пользуйтесь общим форматом на область.
- Для длинных отчётов выбирайте шрифт, который есть у всех: он не требует подстановки при выводе.
- Очень длинный текст в одной ячейке разбивайте на несколько строк, иначе ячейка растёт по высоте и страница рвётся в неожиданных местах.