Improve Font Rendering
How to improve font rendering with your installed fonts
A little configuration maybe required to render the fonts in an optimal manner. Follow the steps illustrated below.
1. Create the global fontconfig setting file /etc/fonts/local.conf
sudo nano /etc/fonts/local.conf
Paste the following content in the file
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit name="autohint" mode="assign"> <bool>false</bool> </edit> <edit name="hinting" mode="assign"> <bool>true</bool> </edit> <edit name="antialias" mode="assign"> <bool>true</bool> </edit> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> <edit mode="assign" name="rgba"> <const>rgb</const> </edit> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> </match> </fontconfig>
After that save the file.
2. Create backup of ~/.Xresources file:
cp ~/.Xresources ~/.Xresources.bak
If the .Xresources file has not been already created and you get the error
"cp: cannot stat ‘~/.Xresources’: No such file or directory", then skip to step No. 3.
3. Open/Create ~/.Xresources file in text editor:
nano ~/.Xresources
If the following is not already present, paste at the end of the file or edit existing values:
Xft.antialias: 1 Xft.hinting: 1 Xft.autohint: 0 Xft.rgba: rgb Xft.hintstyle: hintslight Xft.lcdfilter: lcddefault
Save changes to the file.
4. Run the following command in terminal:
xrdb -merge ~/.Xresources
5. Make sure that Anti aliasing is On, Hinting is set to Slight and RGBA (subpixel) order is set to rgb in System Settings (Appearence).
6. Create symbolic links with some available presets from /usr/share/fontconfig/conf.avail/ to /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf /etc/fonts/conf.d/
7. Set preferred serif, sans-serif and monospace fonts (optional)
Create local fontconfig folder and setting file
mkdir -p ~/.config/fontconfig/
nano ~/.config/fontconfig/fonts.conf
Paste the following content in the file
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Liberation Serif</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Liberation Sans</family> </prefer> </alias> <alias> <family>sans</family> <prefer> <family>Liberation Sans</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Liberation Mono</family> </prefer> </alias> <alias> <family>mono</family> <prefer> <family>Liberation Mono</family> </prefer> </alias> <alias> <family>system-ui</family> <prefer> <family>Liberation Sans</family> </prefer> </alias> </fontconfig>
8. Finally rebuild fontconfig cache and reboot your computer to apply the settings.
sudo fc-cache -fv