Scan conversion is essentially the job of coloring inside the character outlines
contained in the font. According to the TrueType specification, the TrueType
rasterizer generates a character bitmap from pixels which are turned on whenever
their centers are inside or exactly on the character outlines. Performing this
task is the job of the scan converter, a component of the rasterizer.
The scan converter is able to maintain the continuity of character bitmaps by
performing dropout control. Dropouts occur when the space within the outlines
becomes so narrow that pixel centers are missed, as illustrated below.
Figure 1. Character outline, before and after dropout control.
The process of scan conversion consists of four steps:
- Measurement - The outline of the character outline is traversed point by
point and contour by contour in order to find the maximum and minimum
co-ordinate values of the outline. In addition, the amount of workspace memory
that will be needed to perform steps two and three is calculated.
- Rendering - Every contour is broken into lines and splines. Calculations
are made to find the point at which each line or spline intersects with scan
lines (lines passing through bitmap pixel centers). The intersections for each
scan line are sorted from left to right.
- Filling - Using the sorted intersections, runs of pixels are set for each
scan line of the bitmap from top to bottom.
- Dropout control - If dropout control is enabled, the intersection list is
checked again looking for dropouts. If various criteria are met it is decided
which dropout pixel to set, and it is set. Dropout control requires scanning in
the vertical direction as well as the horizontal.
Last updated 30 June 1997.