Font configuration (Русский)/Examples (Русский)
Основная статья: Настройка шрифтов.
Настройки могут варьироваться в значительной степени. Пожалуйста, приводите примеры настроек Fontconfig с объяснением того, что они делают.
Хинтованные шрифты
$XDG_CONFIG_HOME/fontconfig/fonts.conf
<?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="font"> <edit mode="assign" name="antialias"> <bool>true</bool> </edit> <edit mode="assign" name="embeddedbitmap"> <bool>false</bool> </edit> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> <edit mode="assign" name="rgba"> <const>rgb</const> </edit> </match> </fontconfig>
Отключение хинтинга для курсивных или жирных шрифтов
<?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="font" > <edit mode="assign" name="autohint"> <bool>true</bool></edit> <edit mode="assign" name="hinting"> <bool>false</bool></edit> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const></edit> <edit mode="assign" name="hintstyle"> <const>hintslight</const></edit> <edit mode="assign" name="antialias"> <bool>true</bool></edit> <edit mode="assign" name="rgba"> <const>rgb</const></edit> </match> <match target="font"> <test name="pixelsize" qual="any" compare="more"><double>15</double></test> <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> </match> <match target="font"> <test name="weight" compare="more"><const>medium</const></test> <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> </match> <match target="font"> <test name="slant" compare="not_eq"><double>0</double></test> <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> </match> </fontconfig>
Резкие шрифты
<!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="lcdfilter" mode="assign"><const>lcddefault</const></edit> <edit name="rgba" mode="assign"><const>rgb</const></edit> </match> </fontconfig>
Шрифты семейства Liberation
Для достижения единства шрифтов во всей системе все приложения должны быть настроены на использование псевдонимов serif, sans-serif и monospace, значения для которых должны быть выставлены в fontconfig. Шрифты Liberation были выбраны для того, чтобы придерживаться метрической совместимости со шрифтами MS Core.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit mode="assign" name="antialias"><bool>true</bool></edit> <edit mode="assign" name="autohint"><bool>false</bool></edit> <edit mode="assign" name="embeddedbitmap"><bool>false</bool></edit> <edit mode="assign" name="hinting"><bool>true</bool></edit> <edit mode="assign" name="hintstyle"><const>hintslight</const></edit> <edit mode="assign" name="lcdfilter"><const>lcddefault</const></edit> <edit mode="assign" name="rgba"><const>rgb</const></edit> </match> <match target="pattern"> <test qual="any" name="family"><string>serif</string></test> <edit name="family" mode="assign" binding="same"><string>Liberation Serif</string></edit> </match> <match target="pattern"> <test qual="any" name="family"><string>sans-serif</string></test> <edit name="family" mode="assign" binding="same"><string>Liberation Sans</string></edit> </match> <match target="pattern"> <test qual="any" name="family"><string>monospace</string></test> <edit name="family" mode="assign" binding="same"><string>Liberation Mono</string></edit> </match> <match target="pattern"> <edit name="dpi" mode="assign"><double>96</double></edit> </match> </fontconfig>
Включение сглаживания (anti-aliasing) только для больших шрифтов
Некоторые пользователи предпочитают более чёткое отображение, которого anti-aliasing не позволяет добиться:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font" > <test name="size" qual="any" compare="more"> <double>12</double> </test> <edit name="antialias" mode="assign"> <bool>true</bool> </edit> </match> <match target="font" > <test name="pixelsize" qual="any" compare="more"> <double>16</double> </test> <edit name="antialias" mode="assign"> <bool>true</bool> </edit> </match> </fontconfig>
Шрифты Chrome OS
Веб-браузер и другие распространенные приложения используют шрифты (псевдонимы шрифтов) Serif
, Sans-Serif
и Monospace
по умолчанию. Процедура изменения шрифтов по умолчанию похожа на их замену. Например, чтобы использовать шрифты Chrome OS из пакета ttf-crosextraAUR:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Set preferred serif, sans serif, and monospace fonts. --> <alias> <family>serif</family> <prefer><family>Tinos</family></prefer> </alias> <alias> <family>sans-serif</family> <prefer><family>Arimo</family></prefer> </alias> <alias> <family>sans</family> <prefer><family>Arimo</family></prefer> </alias> <alias> <family>monospace</family> <prefer><family>Cousine</family></prefer> </alias> </fontconfig>
Патченные пакеты
- Как правило, необходима настройка.
- Новое отображение шрифтов не начнется, пока не перезагрузите приложения.
- Приложения которые статически ссылаются на библиотеку, не будут использовать патчи принятые к системной библиотеке.
- Infinality — Файлы настроек шрифтов, патчи, и скрипты.
Для восстановления непатченых пакетов, установите оригинальные пакеты freetype2, cairo, и fontconfig в качестве зависимостей (используя флаг --asdeps
при переустановки с помощью pacman). Включите lib32-cairo, lib32-fontconfig, и lib32-freetype2 если вы также устанавливали 32-разрядные версии.