Improving Font Rendering for Fedora Using Bytecode Interpreter

Fedora’s font rendering isn’t very nice. At least on my laptop with Fedora 12. Bytecode Interpreter (BCI for short) is disabled by default because of patent issues. As the TrueType bytecode patents have expired. We may enable BCI in Fedora now. TrueType announced that BCI is enabled by default from 2.4. Fedora 12’s TrueType version is 2.3 which disables BCI. However, we can use rpmfusion’s font rendering package freetype-freeworld instead. On my laptop, BCI with liberation fonts looks quite nice.

Let’s use Fedora 12 as the example to introduce how to use the bytecode interpreter font rendering algorithm.

1. Add rpmfusion repositories

Add the RPMfusion repositories following the tutorial [[go:enable-rpmfusion|Enable RPM Fusion repositories]].

2.Install freetype-freeworld

# yum install freetype-freeworld

3. Install liberation fonts

# yum install liberation-sans-fonts \
liberation-mono-fonts liberation-serif-fonts

We may set the default font in Gnome’s “Appearance” configuration tools. We may also map “sans” “sans serif” and “mono” fonts’ default to liberation: Download my fonts configuration file, and save it to `~/.fonts.conf`.

4. Change Gnome’s font rendering

In “System > Preferences > Appearance”, select the font and rendering. “Subpixel smoothing (LCDs)” looks best on my latptop with LCD.

5. Restart X server

All the applications’ fonts should look much better now. Enjoy it!

Eric Ma

Eric is a systems guy. Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.


  1. Hi, thank you very much for sharing. About the step number 4, there is no option “Subpixel smoothing (LCDs)” here, just RGB, BGR .. what do you suggest?

    1. My please to know that it helps. That’s the options for older version of Gnome. You may choose any one that make the font render well for you.

Leave a Reply

Your email address will not be published. Required fields are marked *