Erzeugung neuer Zeichensatzgrößen mit VirMF

Die Produktionsversion von {\manual META}{\manual FONT} heißt ,Vir{\mc MF}` und unterscheidet sich in einigen Punkten von Ini{\mc MF}. Das Programm ist dazu gedacht, in hoher Geschwindigkeit Zeichensätze zu erzeugen und kann deshalb keine base-Dateien schreiben, diese aber zu Beginn eines Laufes schnell einlesen. Genau wie Ini{\mc MF} können Sie Vir{\mc MF} auf zweierlei Weise aufrufen. Geben Sie lediglich seinen Namen ein (und gesetzt, das Betriebssystem weiß, wo es das Programm zu suchen hat), so meldet sich {\manual META}{\manual FONT} für einen interaktiven Dialog.
   > VirMF
   This is METAFONT, C Version 2.71
   **
Sie können diese Aufforderung mit jedem gültigen Kommando beantworten und dabei die ,plain` base voraussetzen, wie sie im ,{\manual META}{\manual FONT} book` [4] beschrieben wird.

Als leichten Einstieg versuchen Sie doch einfach folgendes. (Zitiert von Seite 31 des ,{\manual META}{\manual FONT}book` [4]). Geben Sie ,\relax` ein—also Rückstrich, r, e, l, a, x—und drücken Sie 〈return〉 (oder was auch immer auf Ihrer Tastatur für „Zeilenende`` steht). {\manual META}{\manual FONT} ist ganz begierig darauf loszulegen, bereit einen großen Zeichensatz zu erzeugen; Sie aber sagen ihm, es erst einmal ruhig anzugehen, denn dies wird ein ganz vergnüglicher Spaziergang. Der Rückstrich bedeutet, daß {\manual META}{\manual FONT} nicht eine Datei einlesen soll, sondern direkt Anweisungen von der Tastatur entgegen zu nehmen; der Befehl ,relax` bedeutet „tue nichts``.

Die Maschine wird jetzt mit einem einzelnen Sternchen antworten: ,*`. Dies bedeutet, daß sie jetzt bereit ist, Befehle (und nicht den Namen einer Datei) entgegen zu nehmen. Nur so zum Spaß geben Sie jetzt folgendes ein:

   drawdot (35,70); showit;
und 〈return〉—nicht vergessen, die Strichpunkte mit dem anderen Zeug einzugeben. Ein mehr oder weniger runder Klecks sollte jetzt auf Ihrem Bildschirm erscheinen! Und Sie sollten ein weiteres Sternchen als Eingabeaufforderung sehen. Tippen Sie jetzt
   drawdot (65,70); showit;
und 〈return〉, um einen zweiten Klecks zu erhalten. (Im folgenden werden wir die Notwendigkeit, nach jeder Eingabezeile 〈return〉 zu drücken, nicht mehr erwähnen.) Zum Abschluß tippen Sie
   draw (20,40)..(50,25)..(80,40); showit;
   shipit; end.
Dies malt eine Kurve durch drei gegebene Punkte, zeigt das Gesamtergebnis an, schreibt es gleichzeitig in eine Ausgabedatei und beendet das Programm. {\manual META}{\manual FONT} sollte noch mit ,[0]` antworten, was soviel bedeutet, daß es einen Buchstaben mit der Nummer Null in dem gerade verarbeiteten „Zeichensatz`` geschrieben hat; und es sollte Ihnen mitteilen, daß es eine Ausgabedatei mit dem Namen mfput.2602gf erzeugt hat.

Alternativ können Sie auch ein oder mehrere Argumente beim Aufruf von Vir{\mc MF} angeben. Das erste Argument kann der Name einer abweichenden base-Datei sein, was durch ein vorangestelltes &-Zeichen (wie bei &plain) festgelegt wird, und es dürfen mehrere Kommandos in Form einer Zeichenkette folgen, die nach dem Einlesen der base-Datei ausgeführt werden. Zum Beispiel geben Sie folgendes ein, wenn Sie einen Zeichensatz in einer bestimmten Auflösung erzeugen wollen:

   > VirMF &plain "\mode:=amiga; mag:=magstep2; input cmr10"
Sie müssen die Anführungszeichen in dieser Form eingeben, denn die Strichpunkte haben eine besondere Bedeutung für das Betriebssystem des Amiga. Dieses Kommando wird den normalen Textzeichensatz cmr10 passend für den Bildschirmanzeiger der Auflösung 100 dpi in zweifacher Vergrößerung erzeugen, so daß der Zeichensatz die Bezeichnung cmr10.144gf erhalten wird und {\manual META}{\manual FONT} folgenden Text auf Ihren Bildschirm (und in die Logdatei) schreiben wird.
 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.

Wenn Sie sich schon etwas mit der {\manual META}{\manual FONT}-Sprache auskennen, wissen Sie sicher, was an dieser Stelle noch möglich ist; falls nicht, rate ich Ihnen, sich das ,{\manual META}{\manual FONT}book` [4] oder den zweiten Band von Kopka [9] zu kaufen.