METAFONT
|
METAFONT is a programming language used to encode rasterized outline fonts. It is also the name of the interpreter that executes METAFONT code.
This programming language was devised by Donald Knuth as counterpart to his TEX typesetting system. One of the characteristics of METAFONT is that all the outlines of the glyphs are defined with powerful geometrical equations, e.g., you can define a given point to be the intersection of a line segment and a Bézier curve.
Knuth started work on font creation software in 1977, and produced the first version of METAFONT in 1979. Due to shortcomings in the original METAFONT language, Knuth developed an entirely new METAFONT system in 1984, and it is this revised system that is used today.
You can use METAFONT to render any kind of graphical output you wish, not just glyphs. However, MetaPost with its PostScript output is preferred for advanced illustrations.
METAFONT is most commonly invoked without a direct request from the user. DVI files can only contain references to typefaces, rather than the sets of raster or vector glyphs that other formats like PostScript allow. Consequently the glyphs in the typefaces need to be accessed whenever a request is made to view, print or convert a DVI file. Most TEX distributions are configured so that any fonts not currently available at the required resolution are generated by calls to METAFONT. The typefaces are then stored for later reuse.
METAFONT can also be run interactively, and has commands for displaying on the screen the images it produces. Knuth has said that he uses METAFONT as a kind of desk calculator for solving complicated equations, though he now uses MetaPost for mathematical illustrations.
References
- Donald Knuth: METAFONT: The Program, Addison-Wesley 1986. ISBN 0-201-13438-1
- Donald Knuth: The METAFONTbook, Addison-Wesley 1986. ISBN 0-201-13444-6
External links
- http://www.ctan.org/tex-archive/systems/knuth/mf/mfbook.tex - Donald Knuth's METAFONTbook freely available on his FTP server in TEX format.
- http://jeff.cs.mcgill.ca/~luc/metafont.html - Exhaustive collection of links relating to fonts and meta-fontsde:Metafont