Как исправить проблему с огромными шрифтами и масштабированием в Конфигураторе 1С при работе через RDP или Linux?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Приветствуем вас, уважаемые коллеги! Каждый разработчик, системный администратор или опытный пользователь, работающий в экосистеме 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), метрики которого существенно отличаются. Это гарантированно приводит к искажению верстки окон.

Подробнее о механизмах DPI-масштабирования в Windows

Давайте сделаем небольшое теоретическое отступление и проанализируем, как операционная система Windows работает с приложениями различного возраста. Существует три основных уровня поддержки DPI приложением (DPI Awareness):

Конфигуратор 1С, будучи исторически развивающимся программным продуктом, частично застрял между первым и вторым типами. Он пытается самостоятельно масштабировать шрифты, получая данные от RDP-клиента, но не умеет корректно пересчитывать геометрические размеры диалоговых окон и управляющих элементов. Именно этот рассинхрон мы и устраняем с помощью переопределения режимов масштабирования.

Способ 1. Переопределение масштабирования DPI в свойствах исполняемого файла (Windows)

Рассмотрим самый простой и быстрый метод локального исправления ситуации, если вы работаете на сервере Windows. Этот способ не требует внесения глобальных изменений в реестр системы и отлично подходит, когда проблему нужно решить «здесь и сейчас» для конкретного пользователя.

  1. Откроем директорию установки платформы 1С на удаленном сервере. По умолчанию исполняемые файлы находятся по пути: C:\Program Files\1cv8\ (или C:\Program Files (x86)\1cv8\ для 32-битных версий).
  2. Перейдем в папку конкретного релиза (например, 8.3.16.1063), а затем в каталог bin.
  3. Найдем исполняемый файл 1cv8.exe (основной исполняемый файл платформы) и файл 1cv8s.exe (стартер запуска 1С).
  4. Нажмем правой кнопкой мыши на файл 1cv8.exe и выберем пункт меню Свойства.
  5. В открывшемся окне перейдем на вкладку Совместимость.
  6. Найдем и нажмем кнопку Изменить параметры высокого DPI (на старых версиях Windows Server эта кнопка может называться «Отключить масштабирование изображения при высоком разрешении экрана»).
  7. В разделе «Переопределение масштабирования с высоким разрешением» установим флаг напротив пункта Переопределите режим масштабирования высокого разрешения.
  8. В выпадающем списке под флагом выберем режим Система (System) или Система (улучшенное) (System Enhanced). При таком режиме операционная система сама возьмет на себя масштабирование окна Конфигуратора, аппаратно растягивая его. Интерфейс может выглядеть слегка размытым («мыльным»), но пропорции шрифтов и элементов управления полностью восстановятся, и текст перестанет наползать друг на друга.
  9. Нажмем кнопку Применить, затем ОК и перезапустим Конфигуратор.

Способ 2. Отключение передачи масштаба клиента через реестр Windows Server

Если вы являетесь администратором сервера терминалов и хотите решить проблему глобально для всех пользователей сразу, мы рекомендуем отключить наследование масштаба клиентских машин на стороне сервера RDP. Проанализируем, как это сделать с помощью редактора реестра.

При таком подходе сервер зафиксирует масштаб интерфейса для всех RDP-сессий на уровне 100%, и шрифты в Конфигураторе перестанут деформироваться, независимо от того, с какого монитора заходит программист или администратор.

  1. Запустим редактор реестра. Для этого нажмем комбинацию клавиш Win + R, введем команду regedit и нажмем Enter.
  2. Перейдем по следующему системному пути:
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
  4. В свободном месте правой панели нажмем правую кнопку мыши, выберем Создать -> Параметр DWORD (32 бита).
  5. Присвоим созданному параметру имя IgnoreClientDesktopScaleFactor.
  6. Дважды кликнем по созданному параметру и установим его значение равным 1 в десятичной системе исчисления.
  7. Если некоторым пользователям шрифт на 100% масштабе покажется слишком мелким, мы можем настроить масштабирование индивидуально для них. Для этого перейдем в ветку конкретного пользователя:
  8. HKEY_CURRENT_USER\Control Panel\Desktop
  9. Найдем или создадим параметр типа DWORD с именем LogPixels. Этот параметр задает плотность пикселей на дюйм. Переключим режим отображения в десятичный и введем одно из следующих значений:
  10. Для применения изменений пользователю необходимо завершить сеанс RDP (выполнить выход/Logoff) и зайти заново.

Способ 3. Исправление подмены шрифтов (Font Substitution) в реестре Windows

Довольно часто некорректная отрисовка текста в старых Win32-приложениях, к которым относится Конфигуратор, вызвана повреждением системных шрифтов семейства MS Sans Serif или сбоем в механизме их подстановки. Давайте разберем, как восстановить корректные сопоставления шрифтов в реестре Windows.

  1. Откроем редактор реестра regedit.
  2. Перейдем в ветку реестра, отвечающую за сопоставление шрифтов:
  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
  4. Проверим наличие строкового параметра с именем MS Sans Serif. Если этот параметр отсутствует, его необходимо создать.
  5. Зададим для параметра MS Sans Serif значение Microsoft Sans Serif или Tahoma. Это укажет операционной системе использовать качественный векторный шрифт вместо устаревшего растрового шрифта при отрисовке элементов Конфигуратора.
  6. Также проверим ветку реестра со списком установленных шрифтов:
  7. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
  8. Убедимся, что параметры шрифтов MS Sans Serif и MS Serif ссылаются на реальные файлы в папке C:\Windows\Fonts\ (обычно это файлы с расширением .fon, такие как sserife.fon или ssef.fon). Если ссылки битые, их можно заменить на стандартные векторные шрифты.
  9. Для применения изменений обязательно перезагрузим сервер или рабочую станцию.

Способ 4. Установка шрифтов Microsoft Core Fonts в Linux-окружении (Ubuntu, Debian, Mint, RedHat)

Как справедливо заметили участники обсуждения на форуме, эта проблема является классической при запуске Конфигуратора 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С:Предприятие.

← На главную