Font configuration/Examples
See Font configuration for the main article.
Configurations can vary to a degree. Please post Fontconfig configurations with an explanation for why they were done.
Contents
Hinted fonts
$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>
No hinting for italic or bold
<?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>
Sharp fonts
<!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 fonts
For font consistency, all applications should be set to use the serif, sans-serif, and monospace aliases, which are mapped to particular fonts by fontconfig. The Liberation fonts were chosen to follow metric-compatibility of the MS Core fonts.
<?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>
Enable anti-aliasing only for bigger fonts
Some users prefer the sharper rendering that anti-aliasing does not offer:
<?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 fonts
Web browser and another common applications use Serif, Sans-Serif and Monospace as default fonts (Fonts#Font alias). The procedure to change default fonts is similar to replace them. For example, to use Chrome OS fonts ttf-chromeos-fontsAUR:
<?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>
Google Noto Fonts
The following configuration might be necessary to make use of Google's Noto Fonts available in the official repositories.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Noto Serif</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Noto Sans</family> </prefer> </alias> <alias> <family>sans</family> <prefer> <family>Noto Sans</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Noto Mono</family> </prefer> </alias> <match> <test name="family"> <string>Arial</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Sans</string> </edit> </match> <match> <test name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Sans</string> </edit> </match> <match> <test name="family"> <string>Verdana</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Sans</string> </edit> </match> <match> <test name="family"> <string>Tahoma</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Sans</string> </edit> </match> <match> <test name="family"> <string>Times New Roman</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Serif</string> </edit> </match> <match> <test name="family"> <string>Times</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Serif</string> </edit> </match> <!--match> <test name="family"> <string>Georgia</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Serif</string> </edit> </match--> <match> <test name="family"> <string>Consolas</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Mono</string> </edit> </match> <match> <test name="family"> <string>Courier New</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Noto Mono</string> </edit> </match> </fontconfig>
Patched packages
- Infinality — Font configuration files, patches, and scripts.
To restore the original packages, reinstall freetype2, cairo, and fontconfig as dependencies (use the --asdeps flag with pacman when reinstalling). Include lib32-cairo, lib32-fontconfig, and lib32-freetype2 if you also installed 32-bit versions.