The operation of Metafont

{\manual META}{\manual FONT} can only be called from the CLI, as the following example shows:

> virmf
This is METAFONT, C Version 2.7
** _

{\manual META}{\manual FONT} shows its banner line and awaits the name of a {\manual META}{\manual FONT} source file. Such files have a name ending with .mf. If your system is equiped with too few RAM, it can happen that {\manual META}{\manual FONT} stops with the error message Not enough memory (x)! (x is a number). To circumvent this situation you can reduce the size of the internal memory arrays of {\manual META}{\manual FONT}, as described below.

{\manual META}{\manual FONT} accepts a number of parameters at call time. This is especially helpful for the writing of script files. The following parameters are allowed:

name
Name of a {\manual META}{\manual FONT} source file.
&name
Name of a .base file. This file contains frequently used procedures in a pre-compiled form (see below).
`` \…''
{\manual META}{\manual FONT} language commands, separated by `;', e.g.:
batchmode
Suppress the {\manual META}{\manual FONT} terminal output.
input name
Process the {\manual META}{\manual FONT} source file name.mf.
mag:=size
Size of the font to be produced.
mode:=name
Produce a font for the output device name.
screenchars
Show completed characters in the graphic output window.
screenstrokes
Show all creation stages of a character in the graphic output window.

{\manual META}{\manual FONT} can produce fonts for any output device. The user must create a so called mode definition for each device. The name of such a definition must be given behind the mode command. The file mydevices.mf contains some examples. Detailed information about mode definitions and font sizes can be obtained from [1].

Two special output devices exist, which can be used to produce big enlarged fonts. These modes have the names proof and smoke. If one of this modes is used, the command screenchars will be executed. It opens a graphic output window with the size of 500*400 (or 250*200, see below), which will be used to display the characters. If the window couldn't be opened, {\manual META}{\manual FONT} does not display an error message, but continues its work.

{\manual META}{\manual FONT} displays the number of the currently processed character at runtime. If an error occurs, {\manual META}{\manual FONT} stops and displays an extensive but cryptic error message and a prompt. This is the {\manual META}{\manual FONT} error mode. In this interactive mode you can try to correct the error. A command list is available with `?'. With `X' you can leave the program and {\manual META}{\manual FONT} continues to work with RETURN. At runtime you can reach this error mode with CTRL-C.

If you have typed in the wrong file name, then {\manual META}{\manual FONT} prompts you for the right one. In this mode you can leave the program with CTRL- \.

And now an example run of {\manual META}{\manual FONT}. We want to produce the font cmb10 in the size magstep 4 for the screen previewer. The command line and the (shorten) example run looks as follows:

> virmf "\mode:=previewer; mag:=magstep(4); input cmb10"
This is METAFONT, C Version 2.7
(mf:mfinputs/cmb10.mf (mf:mfinputs/roman.mf
(mf:mfinputs/romanu.mf [65] [66] [67] [68] [69] [70]
[......]
[34] [45] [92] [123] [124]) ) )
Font metrics written on cmb10.tfm.
Output written on cmb10.207gf (128 characters, 9620 bytes).
Transcript written on cmb10.log.
> _