Шрифты в 1С:Предприятии 8.3 — откуда берутся и как их поменять
Содержание
В интерфейсе «Такси» платформа 1С 8.3 по умолчанию выводит текст шрифтом Arial размером 10 пунктов, в печатных формах типовых конфигураций тоже стоит Arial (обычно 8–10 пт), а редактор модулей в Конфигураторе использует моноширинный Courier New. Сам шрифт 1С с собой не возит: она берёт его из операционной системы, поэтому одна и та же форма выглядит по-разному на Windows, Linux и в терминальной сессии.
Типичная ситуация: бухгалтер переходит на новый ноутбук с экраном 4K, и в 1С всё становится мелким или размытым. Или счёт на оплату, сохранённый в PDF на сервере под Linux, приходит с «поехавшими» колонками. В обоих случаях виноват не шрифт 1С как таковой, а то, как система его подставляет и рисует. Ниже — по каждому месту, где в 1С вообще есть шрифт.
Откуда 1С берёт шрифт и кто его рисует
В 1С:Предприятии шрифт задаётся в трёх местах, и они не зависят друг от друга:
- 🎨 Стиль конфигурации — набор именованных шрифтов и цветов. Формы, надписи и поля по умолчанию ссылаются на элементы стиля, а не на конкретную гарнитуру.
- 🧾 Макеты табличных документов — у каждой ячейки печатной формы свой шрифт, размер и начертание.
- 💻 Настройки Конфигуратора и EDT — шрифт редактора кода, его видит только разработчик.
Отрисовку делает не платформа, а операционная система. На Windows это GDI или DirectWrite со сглаживанием ClearType, на Linux — библиотеки fontconfig и FreeType, в веб-клиенте — браузер. Если указанной гарнитуры в системе нет, ОС подставит похожую. Отсюда большинство проблем: в стиле написано Arial, а на экране оказывается совсем другой шрифт с другой шириной букв.
Как проверить ClearType на Windows
Размытые или «рваные» буквы в формах чаще всего лечатся настройкой сглаживания в самой Windows:
- Нажмите
Win + R, введитеcttuneи нажмите Enter. - Отметьте «Включить ClearType».
- Пройдите пять экранов и выберите самый чёткий вариант текста.
- Перезапустите клиент 1С.
Настройка ClearType хранится для каждого пользователя Windows отдельно. На общем компьютере её делают под учётной записью того, кто работает в 1С.
Шрифт в интерфейсе 1С: что можно поменять пользователю
Обычный пользователь не может выбрать другую гарнитуру для всей программы — в режиме 1С:Предприятие такого переключателя нет. Шрифт интерфейса задаёт стиль конфигурации. Зато размер текста на экране регулируется средствами Windows, и это самый безопасный способ.
Масштаб Windows
Откройте Параметры → Система → Дисплей и выберите масштаб: 125%, 150% и так далее. Клиент 1С 8.3 поддерживает высокое разрешение и пропорционально увеличивает формы и текст.
Если после смены масштаба текст стал размытым, дело в том, что Windows растягивает окно как картинку. Исправляется так:
- Найдите ярлык или файл
1cv8.exe(тонкий клиент —1cv8c.exe) в папке установленной версии платформы, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin\. - Откройте
Свойства → Совместимость → Изменить параметры высокого DPI. - Включите «Переопределить режим масштабирования высокого DPI» и выберите «Приложение».
- Перезапустите 1С.
Настройка привязана к конкретному exe-файлу. После обновления платформы появится новая папка с номером версии, и галочку придётся поставить снова. Удобнее поставить её на 1cestart.exe, через который пользователи обычно запускают программу.
Шрифт отдельных элементов формы
Там, где пользователю нужно выделить важное поле, шрифт меняет разработчик. В Конфигураторе у элемента формы (надписи, поля ввода, группы) есть свойства «Шрифт» и «Шрифт заголовка». Можно выбрать:
- элемент стиля — тогда при смене стиля поле изменится вместе со всеми;
- конкретную гарнитуру и размер — поле перестанет зависеть от стиля.
Второй вариант удобен разово, но со временем превращает конфигурацию в лоскутное одеяло. Для типовых решений правильнее делать изменения в расширении, а не снимать конфигурацию с поддержки.
Элементы стиля
Список стилевых шрифтов виден в Конфигураторе: ветка Общие → Элементы стиля и Общие → Стили. Платформа предоставляет системные шрифты стиля, к ним можно обратиться из кода через ШрифтыСтиля, например ШрифтыСтиля.ВажнаяНадписьШрифт. Если менять шрифт в стиле, он поменяется во всех формах, которые на него ссылаются.
Шрифты в печатных формах и отчётах
Печатная форма — это табличный документ, и шрифт там хранится в каждой ячейке макета. Поэтому смена стиля интерфейса на счёт или накладную не влияет.
| Где шрифт | Как поменять | Кому подходит |
|---|---|---|
| Готовый документ на экране | Включить редактирование табличного документа и изменить ячейки | Разово, перед печатью |
| Макет печатной формы | Через пользовательские макеты БСП | Бухгалтеру с правами администратора |
| Код формирования | Программно задать шрифт области | Разработчику |
| Отчёт на СКД | Условное оформление в настройках отчёта | Любому пользователю отчёта |
Пользовательский макет в типовой конфигурации
В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) макеты можно менять без Конфигуратора. В Бухгалтерии путь такой: Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм. Найдите нужный макет, откройте его на изменение, выделите ячейки и задайте шрифт. Изменённый макет сохраняется в базе и используется вместо типового.
После обновления конфигурации типовой макет могут поправить разработчики, а ваш пользовательский останется прежним. Если после обновления форма стала печататься со старыми реквизитами, проверьте список изменённых макетов и при необходимости верните типовой.
Программная смена шрифта
Когда форма формируется кодом (внешняя печатная форма, собственный отчёт), шрифт задают области:
Область = ТабДок.Область("R1C1:R20C8");
Область.Шрифт = Новый Шрифт("Arial", 9);
Так меняется шрифт сразу у диапазона ячеек. Чтобы шрифт следовал за оформлением конфигурации, вместо конкретного имени используйте ШрифтыСтиля.
Отчёты на СКД
В отчётах на системе компоновки шрифт отдельных строк и колонок задаётся в условном оформлении: откройте настройки отчёта в расширенном режиме, добавьте правило оформления и укажите параметр «Шрифт». Так удобно выделить, например, итоги или отрицательные суммы.
Как узнать, каким шрифтом набрана ячейка
В Конфигураторе откройте макет, выделите ячейку и посмотрите палитру свойств: там указаны имя шрифта, размер и начертание. Без Конфигуратора быстрее сохранить готовую форму в формате .xlsx и открыть её в Excel — шрифт ячейки виден на ленте. Это удобно, когда нужно повторить оформление типового счёта в своей обработке или выяснить, почему одна колонка выглядит крупнее соседних.
Если в одной форме смешаны три-четыре гарнитуры, почти наверняка её правили вручную в разные годы. Приведите все ячейки к одному шрифту и двум-трём размерам: заголовок, основной текст, мелкие подписи.
Моноширинный шрифт для разработчика 1С
Для кода нужен моноширинный шрифт: у всех символов одинаковая ширина, отступы и выравнивание комментариев не «пляшут». По умолчанию Конфигуратор пишет модули шрифтом Courier New.
В Конфигураторе шрифт меняется в Сервис → Параметры, на вкладке «Тексты». В 1С:EDT, как и в любой среде на Eclipse: Window → Preferences → General → Appearance → Colors and Fonts, далее «Basic → Text Font».
Что выбирают на практике:
- 🔤 Consolas — есть в любой Windows, хорошо читается с ClearType.
- 🔤 JetBrains Mono, Fira Code, Cascadia Mono — бесплатные, их нужно установить в систему; кириллица у них есть.
- 🔤 Courier New — привычный, но тонкий, на больших мониторах утомляет.
Проверьте новый шрифт на трёх парах символов: О и 0, l и 1, кириллическая с и латинская c. В коде 1С путаница кириллицы и латиницы в имени переменной — частая причина ошибки «Переменная не определена», и хороший шрифт помогает её заметить.
Лигатуры (когда <> или >= рисуются одним знаком) Конфигуратор не отображает. В EDT они работают, если шрифт их поддерживает и лигатуры включены в настройках Eclipse.
Совместимость шрифтов: Linux, кириллица, знак рубля
Платформа 8.3 работает в Unicode, поэтому классических «кракозябр» из-за кодировки в формах почти не бывает. Проблемы возникают из-за отсутствующих гарнитур.
Клиент или сервер 1С на Linux
Arial, Times New Roman и Courier New — шрифты Microsoft, в дистрибутивах Linux их по умолчанию нет. Система подставляет Liberation или DejaVu. Они похожи, но ширина символов другая, и в печатных формах:
- текст обрезается в узких ячейках;
- строки переносятся там, где на Windows помещались;
- таблица уезжает на вторую страницу.
Особенно важно это для сервера 1С: когда табличный документ сохраняется в PDF на сервере (рассылка счетов, отчёты по расписанию), используются шрифты сервера, а не компьютера пользователя. На Debian и Ubuntu шрифты Microsoft ставятся пакетом ttf-mscorefonts-installer:
sudo apt install ttf-mscorefonts-installer
sudo fc-cache -f -v
fc-list | grep -i arial
Последняя команда должна показать файлы Arial. После установки перезапустите службу сервера 1С, чтобы рабочие процессы увидели новые шрифты.
Перезапуск службы сервера 1С обрывает сеансы всех пользователей. Делайте это вне рабочего времени и предупредите людей заранее.
Квадратики вместо символов
Если вместо отдельных знаков видны пустые прямоугольники, в выбранном шрифте нет нужного символа. Чаще всего это знак рубля ₽, стрелки или специальные символы в старых пользовательских макетах. Решение — выбрать в ячейке шрифт, где этот символ точно есть (актуальные версии Arial и Segoe UI его содержат), или заменить знак текстом «руб.».
Подмена шрифта в Windows
Старые внешние обработки и макеты иногда ссылаются на гарнитуры, которых в новой Windows нет (например, MS Sans Serif). Windows заменяет их по таблице в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
Править этот раздел имеет смысл только на выделенной машине и после резервной копии реестра: изменение действует на все программы, а не только на 1С. Правильнее поправить сам макет и указать в нём существующий шрифт.
Шрифты на терминальном сервере и в RemoteApp
При работе через RDP 1С выполняется на сервере, и текст рисуется шрифтами сервера, а клиент получает уже готовую картинку. Отсюда две частые жалобы: шрифт «зубчатый» и размер не совпадает с локальным.
Включить сглаживание по RDP
Сглаживание шрифтов в RDP по умолчанию может быть выключено ради экономии трафика. В клиенте «Подключение к удалённому рабочему столу» откройте Показать параметры → Взаимодействие и отметьте «Сглаживание шрифтов». Для готового файла подключения то же самое задаёт строка:
allow font smoothing:i:1
Если в списке скорости соединения выбрано медленное подключение, Windows снимает эту галочку автоматически. Выберите тип подключения «ЛВС» или задайте параметры вручную.
Масштаб на мониторах с высоким разрешением
Современный клиент RDP передаёт серверу масштаб локального экрана, и сессия подстраивается под него. Если текст всё равно мелкий:
- 🖥️ проверьте, что на сервере Windows Server 2016 или новее — старые версии хуже работают с масштабом;
- 🖥️ в свойствах подключения на вкладке «Экран» не задавайте фиксированное маленькое разрешение;
- 🖥️ для RemoteApp публикуйте
1cestart.exeили1cv8c.exeи проверьте масштаб в самой сессии.
Шрифты на сервере — общие для всех
Шрифт, установленный на терминальный сервер , сразу доступен всем пользователям. Удобно: поставили JetBrains Mono для программистов один раз. Неудобно: печатная форма, собранная под шрифт с вашего ноутбука, на сервере будет выглядеть иначе. Перед внедрением пользовательского макета откройте его и в терминальной сессии, и локально.
В веб-клиенте 1С шрифт рисует браузер. Если интерфейс в браузере мелкий, сначала проверьте масштаб страницы (Ctrl + + / Ctrl + -), а уже потом настройки 1С.