Работа со шрифтами в 1С:Предприятие — одна из тех тем, которые редко обсуждаются открыто, но становятся критичными при возникновении проблем с отображением документов, печатных форм или интерфейса. Вы когда-нибудь сталкивались с ситуацией, когда в отчете вместо кириллицы отображаются кракозябры, а в конфигураторе все выглядит нормально? Или может быть после обновления платформы пропали пользовательские шрифты в макетах? В этой статье мы разберем все возможные места хранения шрифтов в 1С — от системных каталогов до пользовательских настроек, а также расскажем, как их правильно редактировать, восстанавливать и переносить между установками.
Многие администраторы и разработчики ошибочно считают, что шрифты в 1С хранятся исключительно в каталоге платформы или в базе данных. На самом деле их расположение зависит от версии платформы, операционной системы, типа установки (клиентская или серверная) и даже от конкретной конфигурации. Например, шрифты для тонкого клиента и веб-клиента могут находиться в разных папках, а в Linux-версиях пути кардинально отличаются от Windows. Далее мы структурируем эту информацию так, чтобы вы могли быстро найти нужный раздел — независимо от вашей задачи.
Если вы ищете решение для конкретной проблемы (например, "как вернуть шрифт Arial Narrow в печатной форме"), используйте оглавление или блок FAQ в конце статьи. Для опытных администраторов мы подготовили уникальную информацию о скрытых настройках шрифтов в файле 1Cv8.1CD и методах их извлечения без доступа к исходникам конфигурации.
1. Системные шрифты 1С: где платформа ищет файлы по умолчанию
Платформа 1С:Предприятие 8.3 использует два типа шрифтов: встроенные (поставляются вместе с дистрибутивом) и системные (берутся из ОС). Приоритет отдается встроенным шрифтам, но если их нет — платформа обращается к системным. Это важно понимать, потому что проблемы с отображением часто возникают из-за конфликта версий или отсутствия нужного шрифта в обоих источниках.
Основные каталоги, где 1С ищет шрифты по умолчанию:
- 📁 Windows (клиентская установка):
C:\Program Files\1cv8\8.3.{версия}\bin\fonts\— здесь хранятся встроенные шрифты платформы (например,1Cv8Uni.ttfдля кириллицы). - 📁 Windows (сервер 1С):
C:\Program Files\1cv8\8.3.{версия}\server\fonts\— аналогичный набор, но для серверного компонента. - 📁 Linux:
/opt/1C/v8.3/{версия}/fonts/— путь для десктопных и серверных установок под Linux. - 🖥️ Системные шрифты ОС: 1С автоматически подгружает шрифты из
C:\Windows\Fonts\(Windows) или/usr/share/fonts/(Linux), если не находит их в своих каталогах.
Важно: в тонком клиенте и веб-клиенте шрифты могут подгружаться динамически с сервера 1С или из кэша браузера. Если вы работаете через веб-интерфейс и наблюдаете проблемы с отображением, сначала проверьте настройки шрифтов в Администрирование → Настройки СУБД → Веб-сервер.
⚠️ Внимание: В версиях 1С старше 8.3.20 структура каталогов была другой! Например, в 8.2 шрифты хранились прямо вbin\без отдельной папкиfonts\. Если вы поддерживаете устаревшие конфигурации, уточните пути в документации к конкретной версии.
2. Пользовательские шрифты: где 1С хранит настройки для конкретных баз
Помимо системных шрифтов, в 1С можно подключать пользовательские шрифты — например, для фирменных бланков или нестандартных печатных форм. Эти шрифты хранятся не в каталоге платформы, а в файловой базе данных или в конфигурации. Их расположение зависит от типа хранения базы:
- 🗃️ Файловый вариант: шрифты хранятся прямо в файле базы
.1CDв бинарном виде. Извлечь их можно только через конфигуратор или специализированные утилиты (например, 1Cv8.DT). - 🗄️ Клиент-серверный вариант (PostgreSQL, MSSQL, IBM DB2): шрифты хранятся в таблице
v8fonts(для PostgreSQL) или в аналогичных системных таблицах других СУБД. Доступ к ним возможен через SQL-запросы. - 📂 Внешние файлы: если шрифты подключены как внешние ресурсы (например, через макет
Шрифтв конфигураторе), их файлы могут лежать в любой папке, путь к которой прописан в свойствах макета.
Чтобы увидеть список пользовательских шрифтов в базе:
- Откройте конфигуратор в режиме
1С:Предприятие. - Перейдите в
Файл → Открыть → Макеты. - В дереве макетов найдите раздел
Шрифты(если он есть). - Дважды кликните на нужный шрифт — откроется окно с его свойствами, где указан источник (встроенный или внешний файл).
Если шрифт подключен как внешний файл, но путь к нему потерян (например, после переноса базы на другой компьютер), 1С будет выдавать ошибку вида:
Ошибка при открытии шрифта: Файл не найден (C:\OldPath\Font.ttf)
В этом случае необходимо либо восстановить файл по указанному пути, либо переназначить шрифт в конфигураторе.
Если вы переносите базу на другой сервер, экспортируйте пользовательские шрифты заранее! Для этого в конфигураторе выделите нужные макеты шрифтов и нажмите Файл → Сохранить данные в формате .dt.
3. Как добавить новый шрифт в 1С: пошаговая инструкция
Добавление пользовательского шрифта в 1С состоит из двух этапов: физическая установка файла шрифта и его регистрация в конфигурации. Рассмотрим оба варианта.
Вариант 1: Установка шрифта в системный каталог 1С
Этот метод подходит, если вы хотите, чтобы шрифт был доступен во всех базах на данном компьютере:
- Скопируйте файл шрифта (например,
MyFont.ttf) в папку:- Для Windows:
C:\Program Files\1cv8\8.3.{версия}\bin\fonts\ - Для Linux:
/opt/1C/v8.3/{версия}/fonts/
- Для Windows:
Вариант 2: Подключение шрифта как внешнего ресурса
Если шрифт нужен только для одной базы, лучше подключить его через конфигуратор:
- Откройте базу в режиме конфигуратора.
- Перейдите в
Файл → Открыть → Макеты. - Создайте новый макет типа
Шрифт(правый клик →Добавить → Шрифт). - В свойствах макета укажите путь к файлу шрифта (например,
D:\Fonts\CorpFont.ttf). - Сохраните конфигурацию и обновите базу.
После добавления шрифт станет доступен в:
- 📄 Печатных формах документов (в свойствах текстового поля).
- 📊 Отчетах (в настройках оформления).
- 🎨 Макетных формах (например, для логотипов).
- Проверьте журнал регистрации 1С (меню
Справка → Журнал регистрации) на наличие ошибок, связанных сLoadFontилиFontManager. - Убедитесь, что права доступа к папке со шрифтами разрешают чтение для пользователя, под которым запущена 1С.
- Для Linux-установок проверьте, что пакет
fontconfigустановлен и настроен корректно (командаfc-listдолжна отображать ваш шрифт). - На старой установке откройте базу в конфигураторе.
- Перейдите в
Файл → Открыть → Макетыи выделите все макеты типаШрифт. - Нажмите
Файл → Сохранить данныеи сохраните их в файл.dt. - На новой установке откройте базу в конфигураторе и импортируйте сохраненный файл (
Файл → Открыть). - Обновите пути к шрифтам, если они изменились (правый клик на макете →
Свойства). - Скопируйте все файлы шрифтов (например,
.ttf,.otf) из старой папки в новую (сохраняя структуру подкаталогов). - Обновите пути в макетах через конфигуратор (см. раздел 3).
- Перезапустите сервер 1С (если используется клиент-серверный вариант).
Файл шрифта находится в указанной папке|
Путь к файлу прописан без опечаток|
1С перезапущена после добавления шрифта|
Шрифт тестируется в печатной форме с простым текстом (без форматирования)-->
4. Проблемы со шрифтами в 1С: диагностика и решения
Ошибки, связанные со шрифтами, в 1С проявляются по-разному: от "кракозябр" в отчетах до полного отсутствия кириллицы в интерфейсе. Ниже — самые распространенные симптомы и способы их устранения.
Таблица: Типичные ошибки шрифтов и их причины
| Симптом | Возможная причина | Решение |
|---|---|---|
| Вместо русского текста отображаются квадратики или знаки вопроса | Отсутствует шрифт 1Cv8Uni.ttf или поврежден его кэш |
Переустановить платформу 1С или скопировать шрифт из другой установки |
| Шрифт в печатной форме отличается от заданного в макете | Шрифт не найден по указанному пути или заменен системным аналогом | Проверить путь к файлу шрифта в конфигураторе или установить шрифт в систему |
| При открытии отчета 1С выдает ошибку "Не найден шрифт [Имя]" | Шрифт удален из системы или его имя изменено | Восстановить шрифт из резервной копии или заменить его в макете на доступный |
| В веб-клиенте шрифты отображаются коряво, а в тонком клиенте — нормально | Проблемы с кэшем браузера или настройками веб-сервера | Очистить кэш браузера или проверить настройки MIME-типов на сервере |
Если проблема сохраняется, выполните диагностические шаги:
⚠️ Внимание: В тонком клиенте под Windows 10/11 может возникать конфликт шрифтов из-за механизма Font Virtualization. Если после обновления ОС шрифты перестали отображаться, попробуйте отключить эту функцию через реестр или обновить платформу 1С до версии 8.3.22+, где проблема исправлена.
5. Перенос шрифтов между установками 1С
При миграции базы на новый сервер или обновлении платформы пользовательские шрифты часто "теряются", потому что их пути привязаны к старой структуре каталогов. Чтобы избежать проблем, следуйте этому алгоритму:
Способ 1: Экспорт/импорт через конфигуратор
Способ 2: Копирование файлов шрифтов вручную
Если шрифты хранятся во внешних файлах:
Для клиент-серверных баз (PostgreSQL/MSSQL) перенос шрифтов выполняется через выгрузку/загрузку данных:
- 🔄 Сделайте резервную копию базы.
- Выгрузите данные в
.dtчерез конфигуратор (Администрирование → Выгрузить данные). - На новой базе загрузите данные (
Администрирование → Загрузить данные). - Убедитесь, что файлы шрифтов доступны по тем же путям, что и на старой установке.
- Установите шрифт в систему (например, скопируйте
.ttf-файл в/usr/share/fonts/). - Обновите кэш шрифтов командой:
sudo fc-cache -fv - Проверьте, что шрифт доступен в системе:
fc-list | grep "ИмяВашегоШрифта" - Скопируйте шрифт в каталог 1С (если требуется встроенное хранение):
sudo cp /usr/share/fonts/ИмяШрифта.ttf /opt/1C/v8.3/{версия}/fonts/ - Перезапустите сервис 1С:
sudo systemctl restart srv1cv83 - 🔹 Права на файл шрифта (должны быть
644). - 🔹 Наличие шрифта в выводе команды
fc-list. - 🔹 Логи сервера 1С (
/var/log/1C/) на предмет ошибокFontLoadError.
Что делать, если шрифт "привязан" к конкретному компьютеру?
Некоторые шрифты (особенно лицензионные) могут иметь привязку к аппаратному ключу или MAC-адресу. В этом случае перенос на другой компьютер невозможен без перегенерации лицензии. Обратитесь к поставщику шрифта для получения нового ключа или используйте альтернативный шрифт без привязки.
6. Работа со шрифтами в Linux-версиях 1С
Установка и настройка шрифтов в 1С:Предприятие для Linux имеет свои нюансы из-за особенностей работы с шрифтами в этой ОС. Главное отличие от Windows — 1С не использует системные шрифты напрямую, а полагается на механизм fontconfig.
Шаги по добавлению шрифта в Linux-версию 1С:
Если шрифт не отображается, проверьте:
Для Docker-контейнеров с 1С шрифты добавляются через монтирование томов:
docker run -v /host/fonts/:/opt/1C/v8.3/{версия}/fonts/ ...
⚠️ Внимание: В Debian/Ubuntu может потребоваться установка пакетаttf-mscorefonts-installerдля корректного отображения шрифтов Times New Roman, Arial и других стандартных Windows-шрифтов. Установите его командой:sudo apt-get install ttf-mscorefonts-installer
7. Скрытые настройки шрифтов в файле 1CD
Мало кто знает, но информация о шрифтах в файловых базах 1С хранится не только в макетах, но и в служебных метаданных внутри файла .1CD. Эти данные можно извлечь с помощью утилит вроде 1Cv8.DT или chdbfl.exe, но процесс требует осторожности — неправильные действия могут повредить базу.
Как извлечь шрифты из 1CD без конфигуратора:
- Сделайте резервную копию файла базы (
.1CD). - Используйте утилиту
chdbfl.exe(входит в комплект поставки 1С) для выгрузки данных:chdbfl.exe /F"путь\к\базе.1CD" /DumpDBCfg "выгрузка.cfg"В полученном файле
выгрузка.cfgбудут строки вида:Шрифт=ИмяШрифта|Путь\к\файлу.ttf|ДвоичныеДанные... - Для извлечения двоичных данных шрифта используйте HEX-редактор или специализированные скрипты.
Альтернативный способ (для опытных пользователей):
- 🔧 Откройте файл
.1CDв HEX-редакторе (например, HxD или 010 Editor). - 🔍 Найдите сигнатуру
TTFилиOTTO(для.otf-шрифтов). - 📋 Скопируйте блок данных от сигнатуры до конца файла шрифта (размер можно определить по заголовку).
- 💾 Сохраните данные в новый
.ttf-файл.
⚠️ Внимание: Редактирование файла .1CD в HEX-редакторе может привести к необратимому повреждению базы. Этот метод рекомендуется только для восстановления утерянных шрифтов в крайнем случае. Для регулярных задач используйте штатные средства конфигуратора.
Извлечение шрифтов из 1CD — это "скорую помощь" для восстановления данных, а не стандартная процедура. Всегда сначала пробуйте штатные методы экспорта через конфигуратор!
8. Оптимизация шрифтов для печатных форм и отчетов
Корректный подбор и настройка шрифтов в 1С влияет не только на внешний вид документов, но и на производительность (особенно при массовой печати). Вот несколько советов для оптимизации:
Рекомендации по выбору шрифтов:
- 📌 Для фискальных документов (чеки, накладные) используйте моноширинные шрифты (например,
Courier New), чтобы избежать проблем с выравниванием. - 📌 Для отчетов с графиками подходят шрифты без засечек (
Arial,Calibri) — они лучше читаются на экране. - 📌 Избегайте русифицированных версий латинских шрифтов (например,
Arial Cyr) — они могут конфликтовать со встроенными шрифтами 1С. - 📌 Для PDF-экспорта используйте шрифты с поддержкой Embedded Subsetting (например,
DejaVu Sans), чтобы уменьшить размер файла.
Настройка кэширования шрифтов:
В клиент-серверном варианте шрифты кэшируются на стороне сервера, что может замедлять работу при большом количестве пользователей. Чтобы оптимизировать процесс:
- Откройте файл настроек сервера 1С (обычно
srvinfo.iniилиconf.cfg). - Добавьте параметры:
[FontCache]
Size=100 # Размер кэша в МБ (по умолчанию 50)
TTL=3600 # Время жизни кэша в секундах
- Перезапустите сервер 1С.
Для тонкого клиента кэш шрифтов хранится в папке:
%APPDATA%\1C\1cv8\fonts\
При проблемах с отображением можно очистить этот каталог (1С пересоберет кэш при следующем запуске).
Если в отчете используется много разных шрифтов, попробуйте заменить их на один универсальный (например, Segoe UI или Roboto). Это уменьшит размер печатной формы и ускорит ее генерацию.
FAQ: Частые вопросы о шрифтах в 1С
🔹 Почему в печатной форме шрифт отображается не так, как в макете?
Это типичная проблема, когда:
- Шрифт, указанный в макете, не найден на компьютере пользователя (1С подставляет замену).
- В настройках печати (
Файл → Печать → Параметры) выбран режимЭкономичный, который игнорирует пользовательские шрифты. - Для PDF-экспорта не включена опция
Встраивать шрифты(проверьте в настройках экспорта).
Решение: Убедитесь, что шрифт установлен на всех компьютерах, где используется печатная форма, или замените его на стандартный (например, Arial).
🔹 Как узнать, какой шрифт используется в конкретном отчете?
Откройте отчет в конфигураторе:
- Перейдите в
Отчеты → [НужныйОтчет] → Макеты. - Найдите текстовое поле с проблемным шрифтом и посмотрите его свойства (
Шрифт,Начертание). - Если шрифт подключен как ресурс, проверьте раздел
Макеты → Шрифты.
Для динамических отчетов (например, СКД) шрифты могут наследоваться из настроек схемы компоновки данных.
🔹 Можно ли использовать шрифты из Google Fonts в 1С?
Да, но с оговорками:
- Скачайте шрифт с Google Fonts в формате
.ttfили.otf. - Установите его в систему (
C:\Windows\Fonts\или/usr/share/fonts/). - Подключите в 1С через макет (см. раздел 3).
Важно: Не все шрифты из Google Fonts поддерживают кириллицу. Перед использованием проверьте наличие русских символов в наборе глифов (можно открыть шрифт в программе FontForge или Glyphs).
🔹 Почему после обновления 1С пропали пользовательские шрифты?
Это происходит из-за:
- Изменения структуры каталогов — в новых версиях путь к шрифтам может поменяться (например, с
bin\наbin\fonts\). - Очистки кэша — при обновлении платформы кэш шрифтов сбрасывается.
- Конфликта версий — если шрифт был подключен как внешний файл, а его формат не поддерживается новой версией 1С.
Решение:
- Проверьте, остались ли файлы шрифтов в старых каталогах (например,
C:\Program Files\1cv8\8.3.19\bin\). - Перенесите их в новый каталог шрифтов (см. раздел 1).
- Обновите пути в макетах через конфигуратор.
🔹 Как полностью сбросить настройки шрифтов в 1С?
Для сброса шрифтов до заводских настроек:
- 🔄 Удалите все пользовательские макеты шрифтов в конфигураторе (
Файл → Открыть → Макеты → Шрифты). - 🔄 Очистите кэш шрифтов:
- Windows:
%APPDATA%\1C\1cv8\fonts\ - Linux:
~/.1cv8/fonts/
- Windows:
- 🔄 Переустановите платформу 1С (это восстановит встроенные шрифты в каталоге
bin\fonts\).