User Guide
quality letter shapes. Fontographer supports automatic
tangent joins during character construction, so its
characters are perfectly smooth where they should be
smooth (but can be discontinuous if necessary).
Caching
Translating from the program into a bitmap is a complex
process which takes an amount of time proportional to the
complexity of the character. To minimize the amount of
time spent generating bitmaps from the letter drawing
programs, the bitmaps are saved on the printer’s hard disk
or in memory for later use. This saving process is called
caching. The first time a particular letter is printed, its
bitmap must be generated and cached before it can be
drawn on the page. Once a letter has been converted, its
bitmap is normally found in the cache, and is used directly.
Paths
A path is composed of line or curve segments. These
segments may be connected (the normal case) or
disconnected (such as the dot on a lower-case “i”). Paths
may be open or closed. A segment of a path is closed if the
last point connects back to the first point, otherwise it is
open.
Characters may consist of open paths or closed paths, but
not both. Normally a character is constructed such that its
outline is defined as a single closed path. The program that
generates the bitmap can then just fill in the outline. Some
characters, such as the letter “O,” have an inside and an
outside. A simple-minded approach to filling such a letter
would fill both outlines, resulting in a single solid circle. To
handle this case, PostScript has two sophisticated
approaches to filling.
Filling techniques
Winding number fill
The standard PostScript filling technique is called a
winding number fill. This relies on one path being described
in a clockwise direction, and the other path being described
in a counterclockwise direction. A point is outside, and
thus not filled, if a line away from that point in any
direction crosses exactly as many counterclockwise paths
Fontographer User's Manual
C: General information Page #7