It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g. PostScript.
For describing shapes, Metafont has a rich set of path construction operations that mostly relieves the user of having to calculate control points.
Many families of Metafont fonts are set up so that the main source file for a font only defines a small number of design parameters (x-height, em width, slant, vertical stroke width, etc.
), then calling a separate source file common for a whole range of fonts to actually draw the individual glyphs; this is the meta aspect of the system.
These bitmaps are typically stored for later reuse, so that Metafont does not have to be run every time a document is displayed, but on the other hand TeX distributions with a Metafont component have typically not included any prebuilt bitmap fonts, since they would be rather large in comparison to the sources from which they could be generated.
A third way of operating Metafont is proof mode: if the proofing variable is positive then the bitmap font file also contains additional information provided via special commands, in particular the positions and names of points the font designer considered important for the design.
If using the separate gftodvi utility to generate enlarged images of the font glyphs, this information from specials is included; point positions are not limited to pixel resolution.
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.
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.
The pk format was primarily introduced to reduce file size (to about half), but expected to also speed up processing since less data would have to be input/output.
[1] In the TeX Directory Structure standard, filenames are limited to 8+3 characters, so GF and PK files would only have extensions .gf and .pk.
Record and array types may be simulated through collections of variables that share a common name prefix, an idiom supported by the type declaration system giving all variables whose names which differ only in numeric indices the same type (as expected for arrays) while keeping variables whole name differ in some symbolic token separate (as expected for records).
They have a more direct internal representation than ordinary variables, making it convenient for primitive operations in Metafont (or extensions thereof) to use them implicitly.
A notable application of these rules is that # is frequently appearing as part of variable names in Metafont code, e.g. em# and pt#.
Curves in Metafont are defined as cubic splines, rather than quadratic, for greater versatility at the cost of more complex arithmetic.
Knuth attributes this to the fact that "asking an artist to become enough of a mathematician to understand how to write a font with 60 parameters is too much.
"[4] Jonathan Hoefler commented that the Metafont system ultimately became "a technology behind zero of your favourite fonts...Knuth's idea that letters start with skeletal forms is flawed.
[6] Donald Knuth started work on font creation software in 1977, and produced the first version of Metafont in 1979.