===== GENF ===== Das Kommando //GENF// war eine Besonderheit der Kyocera-Drucker der ersten Generation. Da keine direkte Unterstützung für skalierbare Schriften vorhanden war, implementierte die Fa. Kyocera ein Kommando, mit dem man aus drei im Drucker abgespeicherten Schriften eigene Schriftschnitte in der erforderlichen Grösse erzeugen konnte. Im Kommando konnte angegeben werden, ob die Schrift (algorithmisch) fett oder kursiv gemacht werden sollte. Das Kommando //GENF// erzeugte unter einer bestimmten Schriftnummer diese neue Schrift, die dann mit dem Kommando //FONT// zur Benutzung ausgewählt werden konnte. Mit der Einführung richtiger skalierbarer Schriften in verschiedenen Schnitten wurde die Unterstützung des Kommandos //GENF// aufgegeben. Es existieren aber immer noch genügend Anwendungen, die das Kommando //GENF// erzeugen, sodass im Prescribe-Emulator eine Möglichkeit eingebaut wurde, auch mit diesem alten Kommando umzugehen. Der grundlegende Ansatz hier ist der, mit Hilfe einer Funktion zum Austausch von Zeichenketten im Druckdatenstrom, das Kommando //GENF// durch ein entsprechendes //SFNT// Kommando zu ersetzen. Zu diesem Zweck kann im Anpassungsbereich eine Ressource mit dem Namen **IF** (Input Filter) angelegt werden. Die Struktur und die Möglichkeiten dieser Ressource sind sehr komplex. In diesem Kontext ist aber nur interessant, dass nach zwei Zeichenkette eine beliebige Menge von Gruppen angegeben werden kann, die eine auszutauschende Zeichenkette und ihre zugehörige Ersatzzeichenkette definieren. Aus bestimmten Gründen ist es notwendig, dass die Ersatzzeichenkette selbst wieder in Klammern eingeschlossen werden muss. Im Beispiel unten ist der Austausch zweier //GENF// Kommandos zu sehen. \\ \\ ( IF /* Input Filter */ /* The following two sequences will be attached at the beginning and the end of the incoming data stream. This means they will also pass through the emulator. */ "", /* initialization string */ "", /* termination string */ /* A sequence of string replacements can be located here. */ ( "GENF 201, 'DYNAMIC1', 10,32,126,32,1,0,0,0,0,0;", ( "SFNT 'Helvetica', 10, 201, 277, 1, 0;" ) ), ( "GENF 202, 'DYNAMIC2', 10,32,126,32,1,0,0,0,0,0;", ( "SFNT 'Times-Rom', 10, 202, 277, 1, 0;" ) ) ), \\ === Hinweise === * Es ist zu beachten, dass die Schriftgrösse im Kommando //GENF// in den aktuellen Einheiten angegeben wird, im Kommando //SFNT// aber immer in Punkten. * Ausserdem ist wichtig, dass Roman 8 als Zeichensatz ausgewählt wird, weil die mit //GENF// erzeugten Schriften auch nur in diesem Zeichensatz zur Verfügung standen. * Um diese Ersetzung überhaupt zuzulassen, wurde im Prescribe-Emulator zugelassen, dass das Kommando //SFNT// auch Schriftnummern im Bereich 100 bis 999 akzeptiert.