Which anti-aliasing algorithm is used by FreeType 2?
The algorithm has been specifically designed for FreeType. It is based on ideas that were originally found in the implementation of the libArt graphics library to compute the exact pixel coverage of a vector image with absolutely no sub-sampling/filtering. However, these two implementations are radically distinct and use vastly different models. The FreeType 2 renderer is optimized specifically for rendering small complex shapes, like glyphs, at very high speed while using very few memory; while libArt shines at general shape/polygon processing, especially large ones. The FreeType 2 anti-aliasing renderer is indeed faster than the monochrome renderer for small character sizes (typically <20 pixels). The reason is that the monochrome renderer must perform two passes on the outline in order to perform drop-out control according to the TrueType specification (we could drop this requirement later though). We will try to document its design in a later document, though this is not a priority