Creating new fonts with VirMF

The production version of {\manual META}{\manual FONT} is called `Vir{\mc MF}' and is slightly different to Ini{\mc MF}. It is designed for high-speed production runs and is incapable of creating base files, but it can read such command bases. Just like with Ini{\mc MF} you have two possibilities to call Vir{\mc MF}. If you simply type its name (and if the operating system knows where to find the program), {\manual META}{\manual FONT} will prompt you for an interactive dialog.
   > VirMF
   This is METAFONT, C Version 2.71
   **
You may answer this prompt with any valid command, assuming `plain' base preloaded as described in the `{\manual META}{\manual FONT}book' [4].

For an easy beginning try the following (quoted from page 31 of the `{\manual META}{\manual FONT}book' [4]). Type `\relax'—that's backslash, r, e, l, a, x—and hit 〈return〉 (or whatever stands for ``end-of-line'' on your keyboard). {\manual META}{\manual FONT} is all geared up for action, ready to make a big font; but you're saying that it's all right to take things easy, since this is going to be a real simple run. The backslash means that {\manual META}{\manual FONT} should not read a file, it should get instructions from the keyboard; the `relax' means ``do nothing.''

The machine will respond by typing a single asterisk: `*'. This means it's ready to accept instructions (not the name of a file). Type the following, just for fun:

   drawdot (35,70); showit;
and 〈return〉—don't forget to type the semicolons along with the other stuff. A more-or-less circular dot should now appear on your screen! And you should also be prompted with another asterisk. Type
   drawdot (65,70); showit;
and 〈return〉, to get another dot. (Henceforth we won't keep mentioning the necessity of 〈return〉ing after each line of keyboard input.) Finally, type
   draw (20,40)..(50,25)..(80,40); showit;
   shipit; end.
This draws a curve through three given points, displays the results, ships it to an output file, and stops. {\manual META}{\manual FONT} should respond with `[0]', meaning that it has shipped out a character whose number is zero, in the ``font'' just made; and it should also tell you that it has created an output file called `mfput.2602gf'.

Alternatively you may specify one or more arguments on the command line when calling Vir{\mc MF}. The first argument may be the name of an alternative base file by prepending a & sign (as in &plain) and there may be a string of commands that will be executed after the base has been installed. For example, if you want to create a font at a specific resolution, type something like the following:

   > VirMF &plain "\mode:=amiga; mag:=magstep2; input cmr10"
You have to type the quotation marks because of the semicolons. They have a special meaning for the Amiga operating system. This command will create the standard text font cmr10 for the screen previewer at resolution 100 dpi but magnified twice, so the resulting font will get the name cmr10.144gf and {\manual META}{\manual FONT} will write the following text to your screen (and into the log file).
 This is METAFONT, C Version 2.71
 (cmr10.mf (cmbase.mf) (roman.mf (romanu.mf [65] [66] [67] [68]
 [69] [70] [71] [72] [73] [74] [75][76] [77] [78] [79] [80] [81]
 [82] [83] [84] [85] [86] [87] [88] [89] [90]) (romanl.mf [97]
 [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108]
 [109] [110] [111] [112] [113] [114] [115] [116] [117] [118]
 [119] [120] [121] [122]) (greeku.mf [0] [1] [2] [3] [4] [5] [6]
 [7] [8] [9] [10]) (romand.mf [48] [49] [50] [51] [52] [53] [54]
 [55] [56] [57]) (romanp.mf [36] [38] [63] [62]) (romspl.mf [16]
 [17] [25] [26] [27] [28]) (romspu.mf [29] [30] [31]) (punct.mf
 [33] [60] [35] [37] [39] [40] [41] [42] [43] [44] [46] [47] [58]
 [59] [61] [64] [91] [93] [96])  (accent.mf [18] [19] [20] [21]
 [22] [23] [24] [32] [94] [95] [125] [126] [127]) (romlig.mf [11]
 [12] [13] [14] [15]) (comlig.mf [34] [45] [92] [123] [124]) ) )
 Font metrics written on cmr10.tfm.
 Output written on cmr10.144gf (128 characters, 7276 bytes).
 Transcript written on cmr10.log.

If you know a little bit of the {\manual META}{\manual FONT} language, it should be clear what else you can do here; if you don't, I recommend that you buy the `{\manual META}{\manual FONT} book' [4] or the second volume of Kopka's series [9].