Using the FreeType Bytecode Interpreter

The bytecode interpreter in freetype is disabled in many Linux distributions for some patenting issue or other. For example in Fedora Core. It's possible to get much nicer fonts if you enable the BCI. I have made some example images to demonstrate the difference.

I'm using the webcore-fonts-1.3-1.noarch.rpm font package, that is based on some M$-fonts. The font settings in KDE is visible in the example pictures. I'm using non-antialiased fonts for font sizes up to 9 pts, to get crisper fonts. Antialiased fonts get a bit blurred, although they might appear less jagged in the edges. I'm using antialiasing for larger fonts.

With BCI

Without BCI

With BCI

Without BCI

With BCI

Without BCI

With BCI

Without BCI

How do you install this?

You need to build it yourself, if it isn't provided in your distribution. I'm including a step by step instruction that I copied from a post at: fedoraforum.org

1) Download the freetype source rpm in the official repository. E.g. http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/SRPMS/

2) Move to the download directory, and extract the rpm with "rpm -ivh freetype-2.1.4-5.src.rpm"

3) Move to /usr/src/redhat/SPECS, and open freetype.spec with your editor of choice.

4) Change the 1 to a 0 in %define without_bytecode_interpreter 1 and save.

5) Build the rpm with "rpmbuild -bb freetype.spec". Note that this depends on the XFree86-devel package, so install it if you get errors.

6) Move to /usr/src/redhat/RPMS/i386/. The packages should be there. Do a "rpm -Uvh --force freetype-2.1.4-5.i386.rpm". I installed the devel package too, but I'm not sure if that's necessary.

7) Now just restart X, and your fonts should be crisper and better-proportioned. :-)

Fedora 14 64-bit:
1) yumdownloader --source freetype

2) Install rpm:
  rpm -ivh /usr/src/redhat/RPMS/x86_64/freetype-2.4.2-4.fc14.src.rpm

3) Build:
  rpmbuild -bb freetype.spec --with bytecode_interpreter --with subpixel_rendering

4) INstall:
  cd /usr/src/redhat/RPMS/x86_64
  rpm -Uvh --force  freetype-2.4.2-4.fc14.x86_64.rpm