Font compiler written by [Donald E. Knuth], so that he could create fonts for his [TeX] program. Essentially a programmable [bitmap] editor, somewhat geared towards drawing letters and symbols. The MetaFont scripting language has a mostly [algol]-style syntax, although it relies heavily on macro expansion. Despite looking much more like a "real" programming language than the meagre facilities provided in (Knuth's other major program) [TeX], it turned out that [TeX] provided the more flexible programming environment of the two. An interesting language feature is the built-in linear equation system solver. After the equations a = b-1 ; c = b+1; the three variables a, b, and c are still unknown, but dependent. After the additional equation 2a = c; the state is instead that all three are known, with a=2, b=3, and c=4. MetaFont programs for drawing a character often start out with a bunch of equations expressing design decisions, and when sufficient information has been provided, the solution is just available. One algorithm that can be worth harvesting is that for determining a ''nice looking'' cubic Bezier path through given points. Also impressive is the mechanisms for drawing nice-looking strokes on a discrete grid, which had to make do without antialiasing. See also: * http://www.math.utah.edu/~beebe/fonts/metafont.html ---- !!!!!! %| [Category Image Processing] | [Category Language] |% !!!!!!