Antialiasing styles

Some debate online over Safari's antialiased text on Windows.

Maxim has a good post here: Font Rasterization (Antigrain)

But I'll point out two things missing from the discussion:

1. Yes gamma correction is very important (I use gamma=1.4, and gamma=1/1.4 depending on whether or not I'm rendering dark or light text). Safari on Windows doesn't do seem to do enough gamma correction and so the comparison of "pure vector" vs. "hinted vector/cleartype" isn't quite fair here.

2. Filtering is also important. The original freetype paper had some mention of this, but most systems do box filtering in practice. If you box filter your fonts, you will not get consistent stroke widths. For my bitmap renderer, I use Lanczos-2 sampling from a 4x4 box-filtered source. (i.e. scaled to 25% at the pixel level). If you were really clever, you could do the analytic version of this for a vector renderer.

One of my favorite filtering tests (and subpixel tracking tests) is the "horizontal crawl" - make your text animate at +1 pixel translation/second, and see if it looks solid.

Picasa's does.

1 comment:

  1. "One of my favorite filtering tests (and subpixel tracking tests) is the "horizontal crawl" - make your text animate at +1 pixel translation/second, and see if it looks solid."

    Demo please :)
    (or at least an animated GIF or SWF screencast or something high quality? :P)

    ReplyDelete