Приветствуем вас, уважаемые коллеги! Каждый разработчик, системный администратор или опытный пользователь, работающий в экосистеме 1С, рано или поздно сталкивается с досадной технической сложностью: при запуске сеанса «1С:Предприятие» интерфейс программы отображается идеально, однако при переходе в режим Конфигуратора шрифты становятся огромными, элементы управления накладываются друг на друга, а дерево метаданных превращается в абсолютно нечитаемую кашу. Эта проблема особенно часто проявляется при работе через удаленный рабочий стол (RDP) или при использовании клиентских машин под управлением операционных систем семейства Linux.
В рамках этой статьи мы подробно разберем, почему возникает этот неприятный визуальный баг, проанализируем физику процесса рендеринга интерфейса 1С и изучим четыре проверенных практических способа решения проблемы как для Windows, так и для Linux-окружений. Давайте разберем эту задачу по шагам.
Для начала давайте разберем физику проблемы. Современные версии платформы 1С:Предприятие (начиная с релизов 8.3.14 и 8.3.15) получили современный движок отрисовки интерфейса. Режим клиента «1С:Предприятие» отлично оптимизирован для работы на мониторах с высоким разрешением (HiDPI, 2K, 4K) и корректно масштабируется операционной системой. Однако сам Конфигуратор до сих пор во многом опирается на устаревшие библиотеки Win32 и интерфейс GDI (Graphics Device Interface).
Когда вы подключаетесь к удаленному серверу по протоколу RDP, ваш локальный масштаб экрана (например, 125% или 150% на ноутбуке) автоматически передается в удаленную сессию. Конфигуратор пытается масштабировать шрифты, увеличивая их размер, но размеры окон, кнопок и полей ввода остаются жестко привязанными к абсолютным пикселям. В результате текст выходит за границы отведенных ему контейнеров.
Вторая причина — отсутствие или повреждение стандартных системных шрифтов Windows, таких как MS Sans Serif, MS Serif или Tahoma, которые Конфигуратор использует по умолчанию для отрисовки своих окон. Если система не находит нужный шрифт, она пытается заменить его альтернативным (например, Arial), метрики которого существенно отличаются. Это гарантированно приводит к искажению верстки окон.
Давайте сделаем небольшое теоретическое отступление и проанализируем, как операционная система Windows работает с приложениями различного возраста. Существует три основных уровня поддержки DPI приложением (DPI Awareness):
Конфигуратор 1С, будучи исторически развивающимся программным продуктом, частично застрял между первым и вторым типами. Он пытается самостоятельно масштабировать шрифты, получая данные от RDP-клиента, но не умеет корректно пересчитывать геометрические размеры диалоговых окон и управляющих элементов. Именно этот рассинхрон мы и устраняем с помощью переопределения режимов масштабирования.
Рассмотрим самый простой и быстрый метод локального исправления ситуации, если вы работаете на сервере Windows. Этот способ не требует внесения глобальных изменений в реестр системы и отлично подходит, когда проблему нужно решить «здесь и сейчас» для конкретного пользователя.
C:\Program Files\1cv8\ (или C:\Program Files (x86)\1cv8\ для 32-битных версий).8.3.16.1063), а затем в каталог bin.1cv8.exe (основной исполняемый файл платформы) и файл 1cv8s.exe (стартер запуска 1С).1cv8.exe и выберем пункт меню Свойства.Если вы являетесь администратором сервера терминалов и хотите решить проблему глобально для всех пользователей сразу, мы рекомендуем отключить наследование масштаба клиентских машин на стороне сервера RDP. Проанализируем, как это сделать с помощью редактора реестра.
При таком подходе сервер зафиксирует масштаб интерфейса для всех RDP-сессий на уровне 100%, и шрифты в Конфигураторе перестанут деформироваться, независимо от того, с какого монитора заходит программист или администратор.
Win + R, введем команду regedit и нажмем Enter.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
IgnoreClientDesktopScaleFactor.1 в десятичной системе исчисления.HKEY_CURRENT_USER\Control Panel\Desktop
LogPixels. Этот параметр задает плотность пикселей на дюйм. Переключим режим отображения в десятичный и введем одно из следующих значений:96 — соответствует стандартному масштабу 100%;120 — соответствует масштабу 125%;144 — соответствует масштабу 150%.Довольно часто некорректная отрисовка текста в старых Win32-приложениях, к которым относится Конфигуратор, вызвана повреждением системных шрифтов семейства MS Sans Serif или сбоем в механизме их подстановки. Давайте разберем, как восстановить корректные сопоставления шрифтов в реестре Windows.
regedit.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
MS Sans Serif. Если этот параметр отсутствует, его необходимо создать.MS Sans Serif значение Microsoft Sans Serif или Tahoma. Это укажет операционной системе использовать качественный векторный шрифт вместо устаревшего растрового шрифта при отрисовке элементов Конфигуратора.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
MS Sans Serif и MS Serif ссылаются на реальные файлы в папке C:\Windows\Fonts\ (обычно это файлы с расширением .fon, такие как sserife.fon или ssef.fon). Если ссылки битые, их можно заменить на стандартные векторные шрифты.Как справедливо заметили участники обсуждения на форуме, эта проблема является классической при запуске Конфигуратора 1С в операционных системах Linux (например, через Wine, xRDP или при использовании нативных Linux-клиентов платформы). Поскольку Linux по умолчанию не содержит проприетарных шрифтов Microsoft, Конфигуратор пытается отрисовать интерфейс стандартными шрифтами Linux (такими как Liberation Sans или DejaVu Sans). Из-за несовпадения метрик символов текст моментально превращается в нечитаемую кашу.
Давайте разберем по шагам, как установить официальный пакет шрифтов Microsoft в популярных дистрибутивах Linux.
Для дистрибутивов на базе Debian, Ubuntu, Linux Mint:
Откроем терминал и выполним последовательно следующие команды:
sudo apt update
sudo apt install ttf-mscorefonts-installer
В процессе установки операционная система предложит вам принять лицензионное соглашение EULA от Microsoft. Используйте клавишу Tab для выбора варианта «ОК» или «Да» и нажмите Enter.
Для дистрибутивов на базе RedHat, CentOS, Fedora:
В RPM-совместимых системах установка выполняется через менеджер пакетов dnf или yum. Выполните команду:
sudo dnf install curl cabextract xorg-x11-font-utils fontconfig
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
Для дистрибутивов Arch Linux, Manjaro:
Пользователи Arch Linux могут установить необходимые шрифты из репозитория AUR:
yay -S ttf-ms-fonts
После завершения установки шрифтов обязательно обновим глобальный кэш шрифтов в операционной системе, чтобы платформа 1С сразу их увидела. Выполним в терминале команду:
fc-cache -f -v
После этого перезапустите сеанс Конфигуратора 1С. Вы увидите, что шрифты приняли нормальный, аккуратный и читаемый вид, а элементы интерфейса расположились строго на своих местах.
Мы подробно проанализировали проблему масштабирования Конфигуратора 1С и изучили методы борьбы с некорректными размерами шрифтов в различных средах. В зависимости от вашей инфраструктуры, используйте переопределение DPI в свойствах ярлыка, правку реестра на сервере терминалов или установку пакета ttf-mscorefonts в операционных системах Linux. Эти несложные действия позволят вернуть комфорт и продуктивность в вашу ежедневную работу по разработке и поддержке решений на платформе 1С:Предприятие.