Skip to content. | Skip to navigation

Personal tools


You are here: Home / Members / jhb / Fonts on Ubuntu - revamped

Fonts on Ubuntu - revamped

by Jörg Baach last modified Jan 25, 2017 02:08 PM
Good font rendering is possible! :-)

Some years later, I am at the same spot: trying to get proper font rendering for ubuntu, this time 16.04. After some research, these are my findings:

  • Ubuntu Tweak is where one can set the fonts for Unity - this affects most menus, and some of the apps
  • Other apps, especially firefox and thunderbird, don't respect this setting. They respect fontconfig though - so one has to configure both.
  • fontconfig is configured in /etc/fonts/conf.d, and also in ~/.config/fontconfig/fonts.conf. A good resource to understand this is
    one can check what fontconfig will match for a given font name by: fc-match fontname
  • Firefox and thunderbird might update their rendering after fontconfig has rescanned the configuration. This might happen, but to be sure, better restart them.
  • Firefox and thunderbird have font settings for each encoding. So one has to set proper values for 'latin' and 'other writing systems' which is their acronym for utf-8.

I like my fonts to be crisp, like in the screenshots below, and I don't care too much about the actual font shape. I don't use MacOS (or whatever OSX is called these days) :-).

So, In Ubuntu Tweak I selected the following settings:

Ubuntu Tweak Font Settings

Before configuring fontconfig one has to understand the problem of Helvetica. Lots of websites want it, but Ubuntu delivers a really unsuitable replacement. Thats why lots of websites look ugly, unless a better alternative is configured. I like to use Arial as a replacement, but DejaVu Sans would do as well.

To get Arial I have to install it.  In 16.04 there is a bug though, but loading the upgrade debian package helps:

sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb

This leaves my fontconfig file in ~/.config/fontconfig/fonts.conf

<match target="font" >
<edit name="rgba" mode="assign"><const>none</const></edit>
<!-- <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit> -->
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="autohint" mode="assign"><bool>false</bool></edit>
<edit mode="assign" name="hintstyle"><const>hintfull</const></edit>
<match target="pattern">
<test qual="any" name="family"><string>Helvetica</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string></edit>
<!-- <rescan><int>5</int></rescan> -->


In Firefox I have the following font settings (remember: latin and other writing systems):

Firefox font settings

Update: I use 16 now instead of 14.

In thunderbird (latin and other writing systems):

Thunderbird font settings

Last there are the qt based apps. like skype, where the font is a bit to small for me. So I used qtconfig from qt4-qtconfig, changed appearance to another style, saved, changed back to Desktop Settings (Default), saved again. and now it looks good.

Last note: I tried using Helvetica and Helvetica Neue from MacOS, but they don't render nicely with hinting set to 'full'. If hinting is set to 'slight', using the MacOS creates a nice visual experience (but as I said, I need crisp fonts)

Add comment

You can add a comment by filling out the form below. Plain text formatting.

Question: What is 23 plus 19?
Your answer: