Make Fedora fonts better

Citizens of the Internet, welcome. Fonts in Linux are a rather neglected topic; there are things with a higher delight factor we could talk about, discuss, test, and indeed, write. But fonts be probably one of the most important elements of modern computing. Because we spend countless hours staring at monitors, and the precision of displayed information affects our productivity, health, mood, and ability to remain in front of a screen.

It’s not all about fonts, but then, it is. Types of displays, pixel density, color calibration, screen resolution, lighting, viewing distance, and many other factors affect how we experience text before us. But for any given hardware and setup, there’s a drastic variation among operating systems. Windows and Linux. And then, each distro has its own way of showing text. We talked about this in my songesque-titled article, and one of the things I mentioned was the inferiority of Fedora fonts compared to Ubuntu. I want to focus on this claim some more today, and eventually, give you better fonts. Let’s do-oo-oo-oo it.

Fedora font saga

If you search online for “Fedora + fonts”, you will get a big handful of results, telling how you can improve the quality of fonts in this particular distro. The regular suggestions revolve around three main topics: 1) Infinality fonts, which have recently been deprecated, to the best of my knowledge 2) the use of different hinting and anti-aliasing options, which in my mind, show no difference 3) Microsoft fonts.

I tried all these, and I also paid lots of attention to the Cantarell family of fonts, which have been introduced in Fedora 24, and which do improve the basic quality of rendered text in Fedora. However, they only partially address the gap. After several hours of work in front of a Fedora, be it the 24th or 25th edition, my eyes begin to hurt. This does not happen on the same laptop – Lenovo G50 – with either the default Windows installation, or even the Ubuntu instance.

So we need something else.

Ubuntu fonts

This may sounds radical, but I decided to see whether Fedora can tolerate – or even actually look good – if I plaster the Ubuntu font family onto it. The fonts are available for free from font.ubuntu.com, and they come in an archive, ready for use. The setup is relatively trivial, but for the sake of this article, let me elaborate a little more then.

Extract the fonts into any which directory, and then copy them (with sudo or root permissions) into the system-wide fonts directory. If you do not want to make the fonts available for everyone, you can place them into the hidden .fonts folder into your home directory. If this path does not exist, create it.

cp <extracted archive path>/*.ttf /usr/share/fonts

Next, you want to recreate the font cache (so you need not reboot):

sudo fc-cache -f -v

The command will run for a brief while, and the output will look as follows:

/usr/share/fonts: caching, new cache contents: 13 fonts, 39 dirs
/usr/share/fonts/aajohan-comfortaa: caching, new cache contents: 3 fonts, 0 dirs
/usr/share/fonts/abattis-cantarell: caching, new cache contents: 4 fonts, 0 dirs
...

Let the command complete, and then you will have Ubuntu fonts available for testing

Cantarell vs Ubuntu fonts

Now, the combat test. I decided to change the system fonts completely, to see if this make the distro more palatable for extended viewing. More importantly, I created two LibreOffice documents and filled them with Lorem Ipsum text, and then had one document use the default Fedora Cantarell fonts, size 12, and the other use regular-weight Ubuntu fonts, same number of points.

Cantarell, default fonts

Default Fedora Cantarell fonts, rendering of text in a text editor.

Changed to Ubuntu fonts

Ubuntu fonts, rendering of text in a text editor.

System wide, I felt an immediate, positive improvements. The fonts just look sharper, the clarity is better, and if I’m not mistaken, the fonts are also darker, so you also have a better contrast separation, which can help with extended reading. I tested this both under sunlight – natural daylight, coming from a side window, no direct glare – and also under artificial lighting in the evening hours, where there are three diffuse sources, all fluorescent cool white. I was quite pleased, right away. Once again, tweaking the anti-aliasing and hinting settings made no difference whatsoever.

Fedora vs Ubuntu, default line spacing

Comparison between default Fedora fonts – Cantarell (right) and Ubuntu fonts (left), default line spacing.

The LibreOffice comparison test shows the results even more vividly. You can definitely see a stark difference in how the text is displayed. Cantarell is a paler font, with wider character, word and line spacing, which can make reading more difficult. Ubuntu is more rounded and condensed, and with the default line spacing, Ubuntu may feel a little crowded.

Comparison between default Fedora fonts - Cantarell (right) and Ubuntu fonts (left), 110% line spacing

Comparison between default Fedora fonts – Cantarell (right) and Ubuntu fonts (left), 110% line spacing.

I then adjusted the line spacing of the Ubuntu family font to be 110% of the original, and this aligned the text to a pretty much identical vertical setup like Cantarell. This further improved the viewability of the Ubuntu family compared to the Fedora default. Not to be blinded by my own taste, I shared my results with the few, select few, happy few, band of bro – I mean friends and family, and while they were split on which family is more superior with the default line spacing, in the equi-distant vertical positioning scenario, Ubuntu won hands down. At this point, the too-liberal spacing of characters and words in the Cantarell family and its less prominent contrast started to show their weak points, making for much harder reading, and consequently, more eye wear within a shorter period of time.

Cantarell vs Ubuntu, top, bottom

Comparison between default Fedora fonts – Cantarell (top) and Ubuntu fonts (bottom).

Cantarell vs Ubuntu, top, bottom, full screen

Comparison between default Fedora fonts – Cantarell (top) and Ubuntu fonts (bottom), full screen.

Interestingly, it seems that not all components of the system respect the font change, or at the very least, Gnome Tweak Tool does not have the option to make the necessary adjustments everywhere. For instance, system notifications still use the Cantarell fonts. This should not be the case. There’s the question of consistency, but also allowing users to make the necessary changes without having to hack complex theme CSS files.

You may also not see any drastic improvements in browsers, as each page may use its own font set, and these will show in a different way. However, the overall clarity and contrast problems still remain, with Ubuntu leading ahead of Fedora in this regard. There might be some arcane magic in the anti-aliasing and hinting properties, but I have not been able to discern them yet. The other element that might be of importance, and here we could have a placebo effect, the Ubuntu theme allows for a better separation between background color and text. However, without display calibration and careful sampling of RGB values, this is a speculation at this point. Another long-term exercise that I will need to follow through in the coming weeks and months.

Conclusion

One man and his eyes should never be the deciding factor in anything, but if you do ask me and the small sample pool of users that participated and helped me in this experiment, Ubuntu fonts allow for longer times of continuous use with less fatigue. Where multi-line text is applicable, the 110% line spacing helps make for an even more convincing case. The measurements are subjective – eye wear, headache, concentration, productivity – but it does seem that Fedora needs to improve its fonts rendering. I still do not know why or how the fine tweaks make no difference, or what difference I ought to expect, but I believe this is an easily neglected area that needs a lot of research and focus. Because there’s a fine line that separates amateurs from professionals, and that line is full of fonts.

If you have any black magic tricks or tips, I’m all ears. Overall, Linux fonts are a wild, unexplored territory, and it would be nice to see a common, healthy approach to ergonomics and productivity. At this point in time, with a lot of testing done, the only clear result is that Ubuntu has better fonts, and they also win when applied on Fedora. Awaiting your responses and suggestion. And we’re done.


Cover Image: Letter Soup by Bo de Visser for Freeimages.com.

 

  • OracleJMT

    Infinality font rendering can make magic with Droid fonts. On all distros.

    • Xtigyro

      Infinality has been the best for many years now.

  • bela285

    How to adjust Ubuntu fonts line spacing to 110% ??

  • http://www.backtothefuture.com/ Marty McFly

    Esto en Fedora Sobra, el renderizado de las fuentes es excelente, el creador del post simplemente miente…

  • Valerio Mariani

    Thanks for the great article. I strongly agree with you that a lot of the problems with Fedora fonts come from choosing Cantrell as the default font. I really don’t think it is as good as Ubuntu or even as Noto. However, I found that the hinting and antialiasing settings make a lot of difference. Particularly setting the LCD filter to lcddefault seem to make fonts in general a lot better. However, one must do it through fontconfig as there is no GUI for that.

    The Gnome fonts for the lock screen and notifications are unfortunately hard coded. In order to change them one must extract the theme, make the change and pack it again. Please see here the instructions to change the GSM background here:

    https://wiki.archlinux.org/index.php/GDM#Log-in_screen_background_image

    The same solution can be used to change the fonts by editing gnome-shell.css