LINUX.ORG.RU

Помогите устранить ШГ

 , ,


0

2

За 20 лет пользования Линуксом на десктопе, пожалуй, самой темной для меня частью остаются шрифты.

Вот допустим поставил я Арч, с завода там какие то совсем базовые шрифты. В Thunderbird при чтении текстовых сообщений (не ХТМЛ), все отображается как то мелко и стремно. В Хромиуме шрифты свои. Панго никогда в жизни у меня не завелся. Еле еле настраиваю в консоли Consolas. neofetch вообще инфу о шрифтах не показывает.

Нет, в случаи необходимости я вроде как умею установить нужный шрифт. Но при этом, как узнать какие шрифты нужны тому же thunderbird?

В общем на этих выходных я решил восполнить этот пробел знаний с помощью любимых форумчан.

С чего начать?


Ответ на: комментарий от alex07

FullHD это Low-End монитор. Хуже него только нищебродские 1366x768.

HiDPI это то, что выше FullHD и при этом не слишком большая диагональ. FullHD тоже может быть HiDPI при условии, что это телефон с диагональю < 5".

EXL ★★★★★ ()

Для того чтобы была конкретика, решил настроить хотя бы терминал. Скачал Powerline, патченые шрифты к нему, настроил в termite Inconsolata.

Вроде ОК работает, но если что то кириллицей надо набрать то шрифт меняется на другой, более страшный.

Вот как быть в подобных случаях?

alex07 ()

$HOME/.config/fontconfig/fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

  <match target="font">
    <edit name="antialias" mode="assign">
      <bool>true</bool>
    </edit>
  </match>

  <match target="font">
    <edit name="autohint" mode="assign">
      <bool>false</bool>
    </edit>
  </match>

  <match target="pattern">
    <edit name="hintstyle"><const>hintfull</const></edit>
  </match>

  <match target="pattern">
    <edit name="rgba" mode="append"><const>none</const></edit>
  </match>

  <match target="pattern">
    <edit mode="append" name="lcdfilter">
      <const>lcdnone</const>
    </edit>
  </match>

  <alias>
    <family>Terminus</family>
    <prefer><family>xos4 Terminus</family></prefer>
    <default><family>sans</family></default>
  </alias>

  <match target="pattern">
    <test qual="any" name="family"><string>monospace</string></test>
    <edit name="family" mode="assign" binding="same"><string>Terminus</string></edit>
  </match>

</fontconfig>
$HOME/.bashrc
...
# truetype:interpreter-version=35  # Classic mode (default in 2.6)
# truetype:interpreter-version=38  # Infinality mode
# truetype:interpreter-version=40  # Minimal mode (default in 2.7)
export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
...
Ставлю DejaVu и Terminus везде где можно, глаза не текут на 1280x1024

DeaDDooMER ()
Последнее исправление: DeaDDooMER (всего исправлений: 1)
Ответ на: комментарий от alex07

Вроде ОК работает, но если что то кириллицей надо набрать то шрифт меняется на другой, более страшный.

Это значит в шрифте кириллицы нет. Вообще, там почти всё разжевано https://wiki.archlinux.org/index.php/Font_configuration кроме некоторых нюансов.

Также прочитать последний комментарий здесь: https://bugs.archlinux.org/task/60658?project=1&string=freetype2.

Настоятельно рекомендую установить ttf-croscore, также ttf-caladea, ttf-carlito, это метрические аналоги шрифтов MS https://en.wikipedia.org/wiki/Croscore_fonts, noto-fonts, noto-fonts-cjk если нужны иероглифические шрифты, неплохие ttf-liberation, ttf-ubuntu-font-family, ttf-hack.

~/.config/fontconfig/fonts.conf делаете такой:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
            <const>hintfull</const>
        </edit>
        <edit name="rgba" mode="assign">
            <const>rgb</const>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="lcdfilter" mode="assign">
            <const>lcdnone</const>
        </edit>
    </match>
</fontconfig>

/etc/profile.d/freetype2.sh либо не трогаете, либо принудительно выставляете версию 40:

# Subpixel hinting mode can be chosen by setting the right TrueType interpreter
# version. The available settings are:
#
#     truetype:interpreter-version=35  # Classic mode (default in 2.6)
#     truetype:interpreter-version=38  # Infinality mode
#     truetype:interpreter-version=40  # Minimal mode (default in 2.7)
#
# There are more properties that can be set, separated by whitespace. Please
# refer to the FreeType documentation for details.

# Uncomment and configure below
export FREETYPE_PROPERTIES="truetype:interpreter-version=40"

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

Единственное, у меня шрифты отмасштабированы на 1,25, потому как 1920х1080 при 12.5'

https://i.ibb.co/x3vjF0n/2019-06-08-13-44-58.png

https://i.ibb.co/ftLgdD1/2019-06-08-13-52-26.png

rbh-17m ()