*** Welcome to piglix ***

Grid-fitting


The Saffron Type System is a system for rendering high-quality scalable type on digital displays. It was developed by Mitsubishi Electric Research Laboratories, and is built on a core of adaptively-sampled distance field (ADF) technology. Saffron has been licensed to Adobe and Monotype and is shipping in numerous products such as the Adobe Flash Player and Amazon Kindle. Saffron has been implemented in both software and hardware.

Saffron performs anti-aliasing by first computing an explicit or implicit adaptively-sampled distance field (ADF) and then mapping distance values to densities. This renders beautiful curves, captures small details, and preserves the nuances of the original font design. Although only one distance sample is needed per pixel to achieve high-quality results, the program can use up to 3 samples per pixel to optimize image quality for LCD displays. The computation of a distance sample requires only linear interpolation and can be updated incrementally from pixel to pixel, thereby making the rendering process simple and efficient. For a more comprehensive treatment of distance-based anti-aliasing, see "A New Framework for Representing, Rendering, Editing, and Animating Type", Ronald N. Perry and Sarah F. Frisken, MERL, 2002.

Saffron supports two types of ADFs for representing glyphs: explicit ADFs and implicit ADFs. A compile time flag controls the selection of which ADF type to use throughout the system.

Explicit ADF generation uses top-down spatial subdivision to generate a spatial hierarchy of explicit ADF cells, where each explicit ADF cell contains a set of sampled distance values and a reconstruction method; explicit ADF rendering reconstructs the distance field within each explicit ADF cell using its reconstruction method and then maps the reconstructed distances to density values.

In contrast, implicit ADF cells are not generated initially, but are generated on-demand during rendering. More specifically, implicit ADF generation preprocesses an ADFPath (which represents a glyph); it generates implicit ADF cells from the preprocessed ADFPath and renders each implicit ADF cell by first reconstructing the distance field within the implicit ADF cell using its reconstruction method and then mapping the reconstructed distances to density values.


...
Wikipedia

...