вторник, 7 января 2020 г.

Настройка шрифтов в Arch Linux

Хотелось бы еще раз остановиться на вопросе настройки шрифтов в Arch, так как, столкнувшись с чистой установкой, которую не делал уже не знаю даже сколько лет, пришлось искать информацию для решения некоторых проблем, и это оказалось непросто.
  1. Устанавливаем желаемую версию интерпретатора freetype2 в файле /etc/profile.d/freetype2.sh. Для этого необходимо раскомментировать строку export FREETYPE... и отредактировать ее. Лично я предпочитаю версию 35 (classic mode), ибо только она дает прекрасное сглаживание шрифтов (в основном я использую шрифты семейств Dejavu и Ubuntu).
  2. Настраиваем шрифты, создавая/удаляя символические ссылки (symlinks) в /etc/fonts/conf.d на соответствующие файлы в /etc/fonts/conf.avail. Для себя я считаю необходимым добавить ссылки на следующие файлы:
    10-hinting-full.conf
    10-sub-pixel-rgb.conf
    11-lcdfilter-default.conf
  3. Настраиваем шрифты в окружении рабочего стола. Я использую xfce4, поэтому привожу снимок окна для этого DE.
  4. Если необходимо перезагрузиться, перезагружаемся и убеждаемся, что шрифты во всех приложениях выглядят идеально, просто прекрасно, за исклюнием некоторых, использующих qt5 (например, virtualbox и vlc). В следующих пунктах решаем эту проблему.
  5. Проверяем, установлен ли пакет qt5ct. Если нет, его необходимо установить.
  6. В файле /etc/profile дописываем пару строк:
    export QT_QPA_PLATFORMTHEME="qt5ct"
    export QT_AUTO_SCREEN_SCALE_FACTOR=0

    Сколько же у меня ушло времени на поиск второй строки. Весь интернет говорит только о первой (а этого мало, эффект ноль), и только установив на виртуальную машину manjaro и поковырявшись в ней, я понял что нужно.
  7. Выбираем желаемые шрифты для приложений, использующих qt5 в конфигураторе qt5ct. Достаточно просто выбрать шрифты, создавать fonts.conf не нужно.
Ну вот и все. Теперь абсолютно все программы выглядят замечательно и пользоваться системой приятно, глаза благодарны.
Вот так теперь выглядят шрифты в разных приложениях.
 
UPD 2023-04-29
 
При переходе некоторых приложений на использование библиотеки gtk4 отрисовка шрифтов у них поломалась. Шрифты выглядят размыто. Для исправления этой ситуации необходимо создать файл конфигурации ~/.config/gtk-4.0/settings.ini, в котором прописать параметры gtk-hint-font-metrics, gtk-xft-antialias, gtk-xft-hinting, gtk-xft-hintstyle и gtk-xft-rgba. Привожу содержимое моего файла.
 
[Settings]
gtk-hint-font-metrics=1
gtk-theme-name=Adwaita
gtk-icon-theme-name=elementary
gtk-font-name=DejaVu Sans ExtraLite 10
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none
gtk-application-prefer-dark-theme=0