Font configuration/Examples (Русский)
Основная статья: Настройка шрифтов.
Настройки могут варьироваться в значительной степени. Пожалуйста, приводите примеры настроек Fontconfig с объяснением того, что они делают.
Contents
Хинтованные шрифты
$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-chromeos-fontsAUR[ссылка недействительна: package not found]:
<?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>
Патченные пакеты
- https://launchpad.net/ubuntu/+source/freetype || freetype2-ubuntuAUR[ссылка недействительна: package not found] fontconfig-ubuntuAUR
- Infinality — Файлы настроек шрифтов, патчи, и скрипты.
Для восстановления непатченых пакетов, установите оригинальные пакеты freetype2, cairo, и fontconfig в качестве зависимостей (используя флаг --asdeps при переустановки с помощью pacman). Включите lib32-cairo, lib32-fontconfig, и lib32-freetype2 если вы также устанавливали 32-разрядные версии.