Penguin

A font antialiasing technique which involves rendering the text at a higher resolution than the screen, then using antialiasing to try and best represent the obtained font at screen resolution. Traditional antialiasing takes a screen resolution font and "smooths" it.

subpixel.jpg

This is most often referred to when referring to LCD screens, although subpixel antialiasing itself does not depend on an LCD. There is a technique which Microsoft calls ClearType, which exploits the three-band colour nature of LCD pixels to effectively triple the horizontal resolution. When used with subpixel antialiasing, this makes text extremely attractive, although often colour artifacts can be seen depending on the screen. Turning ClearType on on a CRT just makes everything horribly blurry produces terrible colour artifacts -- don't do it, it's not right.

ClearType has been patented by Microsoft and is only available in Windows XP, although both Freetype2 under X11 and Mac OS X use a similar technique, so the area the patent covers is at the moment unclear. Mac OS X also exploits subpixel antialiasing for rendering 'standard' antialiased text on CRTs, resulting in the far superior (or horribly blurry and ghastly, depending on your viewpoint) text quality under Mac OS X.

Linux support

If you are using the free type library (and you probably are if you are using a recent distribution), you can turn on subpixel anti-aliasing. You probably only want to do this on an LCD monitor (ie a flat panel or laptop display).

Better Linux support

David Turner from the Freetype project has some patches to enable better sub-pixel rendering, which gives you ClearType-esque rendering on Linux.

Some experimental Dapper packages with David Turner's sub-pixel patches are available also.


For distributions using the freetype library version 1 (such as Debian Woody and RedHat 7), edit /etc/X11/!XftConfig? (for every user) or $HOME/.xftconfig (just for yourself) and add the line
match edit rgba=rgb;

This uses colour anti-aliasing rather than grey. You could also try

match edit rgba=bgr;

instead to see if it gives better results.


In RedHat 8, and other distros which use freetype 2, this is now managed by the fontconfig package, via the /etc/fonts/fonts.conf file. The addition is as follows:

<!--

Enable sub-pixel rendering

-->

<match target="font">

<edit name="rgba" mode="assign"><const>rgb</const></edit>

</match>

Assuming its