[arch-general] Crisp Rendering Fonts

Denis Kobozev d.v.kobozev at gmail.com
Thu Apr 29 18:38:33 CEST 2010

On Thu, Apr 29, 2010 at 11:22 AM, Michishige Kaito
<chris.webstar at gmail.com> wrote:
> Aren't "raster" and "bitmap" similar, if not equal, concepts?

Yes, they are equal (or similar). There are bitmap (or raster, or
pixel, whatever you want to call them) fonts that only work well for
specific resolutions. Examples are Dina font, Proggy family and
Terminus. Then there are outline (or vector) fonts - these scale
better that bitmap fonts, but shouldn't be used without anti-aliasing.
Examples are DejaVu and Liberation fonts. And then there are hybrids
like ms-ttf-fonts that include both bitmap and outline versions in the
same package.

Bitmap fonts are designed to work well without anti-aliasing, because
they have a 1:1 mapping to pixels on screen. These are the most
crisp-looking, to the point where some people consider them too

Then there are different flavors of anti-aliasing. The simplest form
uses shades of gray (for black text) to make fonts look less jagged.
It also produces the most blurry text. Subpixel rendering [1] (e.g.
ClearType) uses physical properties of LCD monitors for less blurry

[1]: http://en.wikipedia.org/wiki/Subpixel_rendering

> Anyway, I had some headache (literally, blurry fonts...) for a while until I
> found out about the -lcd packages for cairo. I think there was some insight
> on the arch wiki[1]. Everything looks very crisp now, although I'm sure it
> could be better with some fine tuning.

I understand that -lcd packages implement some kind of subpixel
rendering mechanism. Pixels on modern are still way too huge, and even
subpixel rendering does not produce great results for rendering of
small point sizes. I find that bitmap fonts or ms-ttf-fonts work best
for me - I use Terminus for the console and code editing and
ms-ttf-fonts for everything else. Anti-aliasing is turned off for
small point sizes and turned on for larger sizes.


More information about the arch-general mailing list