Работа со шрифтами в 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\. Если вы поддерживаете устаревшие конфигурации, уточните пути в документации к конкретной версии.
📊 Какую версию 1С вы используете?
8.3.20 и новее
8.3.10–8.3.19
8.2
Не знаю

2. Пользовательские шрифты: где 1С хранит настройки для конкретных баз

Помимо системных шрифтов, в 1С можно подключать пользовательские шрифты — например, для фирменных бланков или нестандартных печатных форм. Эти шрифты хранятся не в каталоге платформы, а в файловой базе данных или в конфигурации. Их расположение зависит от типа хранения базы:

  • 🗃️ Файловый вариант: шрифты хранятся прямо в файле базы .1CD в бинарном виде. Извлечь их можно только через конфигуратор или специализированные утилиты (например, 1Cv8.DT).
  • 🗄️ Клиент-серверный вариант (PostgreSQL, MSSQL, IBM DB2): шрифты хранятся в таблице v8fonts (для PostgreSQL) или в аналогичных системных таблицах других СУБД. Доступ к ним возможен через SQL-запросы.
  • 📂 Внешние файлы: если шрифты подключены как внешние ресурсы (например, через макет Шрифт в конфигураторе), их файлы могут лежать в любой папке, путь к которой прописан в свойствах макета.

Чтобы увидеть список пользовательских шрифтов в базе:

  1. Откройте конфигуратор в режиме 1С:Предприятие.
  2. Перейдите в Файл → Открыть → Макеты.
  3. В дереве макетов найдите раздел Шрифты (если он есть).
  4. Дважды кликните на нужный шрифт — откроется окно с его свойствами, где указан источник (встроенный или внешний файл).

Если шрифт подключен как внешний файл, но путь к нему потерян (например, после переноса базы на другой компьютер), 1С будет выдавать ошибку вида:

Ошибка при открытии шрифта: Файл не найден (C:\OldPath\Font.ttf)

В этом случае необходимо либо восстановить файл по указанному пути, либо переназначить шрифт в конфигураторе.

💡

Если вы переносите базу на другой сервер, экспортируйте пользовательские шрифты заранее! Для этого в конфигураторе выделите нужные макеты шрифтов и нажмите Файл → Сохранить данные в формате .dt.

3. Как добавить новый шрифт в 1С: пошаговая инструкция

Добавление пользовательского шрифта в 1С состоит из двух этапов: физическая установка файла шрифта и его регистрация в конфигурации. Рассмотрим оба варианта.

Вариант 1: Установка шрифта в системный каталог 1С

Этот метод подходит, если вы хотите, чтобы шрифт был доступен во всех базах на данном компьютере:

  1. Скопируйте файл шрифта (например, MyFont.ttf) в папку:
    • Для Windows: C:\Program Files\1cv8\8.3.{версия}\bin\fonts\
    • Для Linux: /opt/1C/v8.3/{версия}/fonts/
  • Перезапустите 1С (важно: закрыть все сеансы, включая фоновые!).
  • Проверьте доступность шрифта в макетах или печатных формах.
  • Вариант 2: Подключение шрифта как внешнего ресурса

    Если шрифт нужен только для одной базы, лучше подключить его через конфигуратор:

    1. Откройте базу в режиме конфигуратора.
    2. Перейдите в Файл → Открыть → Макеты.
    3. Создайте новый макет типа Шрифт (правый клик → Добавить → Шрифт).
    4. В свойствах макета укажите путь к файлу шрифта (например, D:\Fonts\CorpFont.ttf).
    5. Сохраните конфигурацию и обновите базу.

    После добавления шрифт станет доступен в:

    • 📄 Печатных формах документов (в свойствах текстового поля).
    • 📊 Отчетах (в настройках оформления).
    • 🎨 Макетных формах (например, для логотипов).
    • Файл шрифта находится в указанной папке|

      Путь к файлу прописан без опечаток|

      1С перезапущена после добавления шрифта|

      Шрифт тестируется в печатной форме с простым текстом (без форматирования)-->

      4. Проблемы со шрифтами в 1С: диагностика и решения

      Ошибки, связанные со шрифтами, в 1С проявляются по-разному: от "кракозябр" в отчетах до полного отсутствия кириллицы в интерфейсе. Ниже — самые распространенные симптомы и способы их устранения.

      Таблица: Типичные ошибки шрифтов и их причины

      Симптом Возможная причина Решение
      Вместо русского текста отображаются квадратики или знаки вопроса Отсутствует шрифт 1Cv8Uni.ttf или поврежден его кэш Переустановить платформу 1С или скопировать шрифт из другой установки
      Шрифт в печатной форме отличается от заданного в макете Шрифт не найден по указанному пути или заменен системным аналогом Проверить путь к файлу шрифта в конфигураторе или установить шрифт в систему
      При открытии отчета 1С выдает ошибку "Не найден шрифт [Имя]" Шрифт удален из системы или его имя изменено Восстановить шрифт из резервной копии или заменить его в макете на доступный
      В веб-клиенте шрифты отображаются коряво, а в тонком клиенте — нормально Проблемы с кэшем браузера или настройками веб-сервера Очистить кэш браузера или проверить настройки MIME-типов на сервере

      Если проблема сохраняется, выполните диагностические шаги:

      1. Проверьте журнал регистрации 1С (меню Справка → Журнал регистрации) на наличие ошибок, связанных с LoadFont или FontManager.
      2. Убедитесь, что права доступа к папке со шрифтами разрешают чтение для пользователя, под которым запущена 1С.
      3. Для Linux-установок проверьте, что пакет fontconfig установлен и настроен корректно (команда fc-list должна отображать ваш шрифт).
      ⚠️ Внимание: В тонком клиенте под Windows 10/11 может возникать конфликт шрифтов из-за механизма Font Virtualization. Если после обновления ОС шрифты перестали отображаться, попробуйте отключить эту функцию через реестр или обновить платформу 1С до версии 8.3.22+, где проблема исправлена.

      5. Перенос шрифтов между установками 1С

      При миграции базы на новый сервер или обновлении платформы пользовательские шрифты часто "теряются", потому что их пути привязаны к старой структуре каталогов. Чтобы избежать проблем, следуйте этому алгоритму:

      Способ 1: Экспорт/импорт через конфигуратор

      1. На старой установке откройте базу в конфигураторе.
      2. Перейдите в Файл → Открыть → Макеты и выделите все макеты типа Шрифт.
      3. Нажмите Файл → Сохранить данные и сохраните их в файл .dt.
      4. На новой установке откройте базу в конфигураторе и импортируйте сохраненный файл (Файл → Открыть).
      5. Обновите пути к шрифтам, если они изменились (правый клик на макете → Свойства).

      Способ 2: Копирование файлов шрифтов вручную

      Если шрифты хранятся во внешних файлах:

      1. Скопируйте все файлы шрифтов (например, .ttf, .otf) из старой папки в новую (сохраняя структуру подкаталогов).
      2. Обновите пути в макетах через конфигуратор (см. раздел 3).
      3. Перезапустите сервер 1С (если используется клиент-серверный вариант).

    Для клиент-серверных баз (PostgreSQL/MSSQL) перенос шрифтов выполняется через выгрузку/загрузку данных:

    • 🔄 Сделайте резервную копию базы.
    • Выгрузите данные в .dt через конфигуратор (Администрирование → Выгрузить данные).
    • На новой базе загрузите данные (Администрирование → Загрузить данные).
    • Убедитесь, что файлы шрифтов доступны по тем же путям, что и на старой установке.
    • Что делать, если шрифт "привязан" к конкретному компьютеру?

      Некоторые шрифты (особенно лицензионные) могут иметь привязку к аппаратному ключу или MAC-адресу. В этом случае перенос на другой компьютер невозможен без перегенерации лицензии. Обратитесь к поставщику шрифта для получения нового ключа или используйте альтернативный шрифт без привязки.

      6. Работа со шрифтами в Linux-версиях 1С

      Установка и настройка шрифтов в 1С:Предприятие для Linux имеет свои нюансы из-за особенностей работы с шрифтами в этой ОС. Главное отличие от Windows — 1С не использует системные шрифты напрямую, а полагается на механизм fontconfig.

      Шаги по добавлению шрифта в Linux-версию 1С:

      1. Установите шрифт в систему (например, скопируйте .ttf-файл в /usr/share/fonts/).
      2. Обновите кэш шрифтов командой:
        sudo fc-cache -fv
      3. Проверьте, что шрифт доступен в системе:
        fc-list | grep "ИмяВашегоШрифта"
      4. Скопируйте шрифт в каталог 1С (если требуется встроенное хранение):
        sudo cp /usr/share/fonts/ИмяШрифта.ttf /opt/1C/v8.3/{версия}/fonts/
      5. Перезапустите сервис 1С:
        sudo systemctl restart srv1cv83

      Если шрифт не отображается, проверьте:

      • 🔹 Права на файл шрифта (должны быть 644).
      • 🔹 Наличие шрифта в выводе команды fc-list.
      • 🔹 Логи сервера 1С (/var/log/1C/) на предмет ошибок FontLoadError.

      Для 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 без конфигуратора:

      1. Сделайте резервную копию файла базы (.1CD).
      2. Используйте утилиту chdbfl.exe (входит в комплект поставки 1С) для выгрузки данных:
        chdbfl.exe /F"путь\к\базе.1CD" /DumpDBCfg "выгрузка.cfg"

        В полученном файле выгрузка.cfg будут строки вида:

        Шрифт=ИмяШрифта|Путь\к\файлу.ttf|ДвоичныеДанные...
      3. Для извлечения двоичных данных шрифта используйте 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. Откройте файл настроек сервера 1С (обычно srvinfo.ini или conf.cfg).
      2. Добавьте параметры:
        
        

        [FontCache]

        Size=100 # Размер кэша в МБ (по умолчанию 50)

        TTL=3600 # Время жизни кэша в секундах

      3. Перезапустите сервер 1С.

      Для тонкого клиента кэш шрифтов хранится в папке: %APPDATA%\1C\1cv8\fonts\

      При проблемах с отображением можно очистить этот каталог (1С пересоберет кэш при следующем запуске).

      💡

      Если в отчете используется много разных шрифтов, попробуйте заменить их на один универсальный (например, Segoe UI или Roboto). Это уменьшит размер печатной формы и ускорит ее генерацию.

      FAQ: Частые вопросы о шрифтах в 1С

      🔹 Почему в печатной форме шрифт отображается не так, как в макете?

      Это типичная проблема, когда:

      • Шрифт, указанный в макете, не найден на компьютере пользователя (1С подставляет замену).
      • В настройках печати (Файл → Печать → Параметры) выбран режим Экономичный, который игнорирует пользовательские шрифты.
      • Для PDF-экспорта не включена опция Встраивать шрифты (проверьте в настройках экспорта).

      Решение: Убедитесь, что шрифт установлен на всех компьютерах, где используется печатная форма, или замените его на стандартный (например, Arial).

      🔹 Как узнать, какой шрифт используется в конкретном отчете?

      Откройте отчет в конфигураторе:

      1. Перейдите в Отчеты → [НужныйОтчет] → Макеты.
      2. Найдите текстовое поле с проблемным шрифтом и посмотрите его свойства (Шрифт, Начертание).
      3. Если шрифт подключен как ресурс, проверьте раздел Макеты → Шрифты.

      Для динамических отчетов (например, СКД) шрифты могут наследоваться из настроек схемы компоновки данных.

      🔹 Можно ли использовать шрифты из Google Fonts в 1С?

      Да, но с оговорками:

      • Скачайте шрифт с Google Fonts в формате .ttf или .otf.
      • Установите его в систему (C:\Windows\Fonts\ или /usr/share/fonts/).
      • Подключите в 1С через макет (см. раздел 3).

      Важно: Не все шрифты из Google Fonts поддерживают кириллицу. Перед использованием проверьте наличие русских символов в наборе глифов (можно открыть шрифт в программе FontForge или Glyphs).

      🔹 Почему после обновления 1С пропали пользовательские шрифты?

      Это происходит из-за:

      • Изменения структуры каталогов — в новых версиях путь к шрифтам может поменяться (например, с bin\ на bin\fonts\).
      • Очистки кэша — при обновлении платформы кэш шрифтов сбрасывается.
      • Конфликта версий — если шрифт был подключен как внешний файл, а его формат не поддерживается новой версией 1С.

      Решение:

      1. Проверьте, остались ли файлы шрифтов в старых каталогах (например, C:\Program Files\1cv8\8.3.19\bin\).
      2. Перенесите их в новый каталог шрифтов (см. раздел 1).
      3. Обновите пути в макетах через конфигуратор.
      🔹 Как полностью сбросить настройки шрифтов в 1С?

      Для сброса шрифтов до заводских настроек:

      • 🔄 Удалите все пользовательские макеты шрифтов в конфигураторе (Файл → Открыть → Макеты → Шрифты).
      • 🔄 Очистите кэш шрифтов:
        • Windows: %APPDATA%\1C\1cv8\fonts\
        • Linux: ~/.1cv8/fonts/
      • 🔄 Переустановите платформу 1С (это восстановит встроенные шрифты в каталоге bin\fonts\).