Syntax

Die Codepage-Definitionen werden im Konfigurationsfile |tex.cnf| angegeben, dabei kann man die Definition auch in mehrere Teile angeben. Jeder Teil wird durch |codepage| zu Beginn der Zeile eingeleitet, anschliessend folgt pro Zeile eine Anweisung. Die Definition wird durch |«| abgeschlossen.

Folgende Anweisungen sind möglich:

`=!=! = !=

123456 (1) !x = y! Das Zeichen |x| wird beim Lesen umgewandelt in |y|, geschrieben wird |y| nicht mehr in der Notation |9y|, sondern als |x|. Beispiel: (|"a| wäre Amiga-Zeichen (ein Buchstabe!) für Umlaut a, |�| sei TEX-Codierung für den Umlaut a) Nach

|"a=80|

wird jedes |"a| sofort in 128 umgewandelt, außerdem gibt TEX für Zeichen 128 nicht mehr |�| aus, sondern |"a|. (xord[x]=y; xchr[y]=x; printable(y)=true;) (2) !x > y! Das Zeichen |x| wird beim Lesen umgewandelt in |y|. Hier kann |y| aus dem vollständigen Bereich |-�| gewählt werden. Beispiel: Nach

|"a > a|

wird "a als a gelesen. (xord[x]=y;) (3) !< y! Das Zeichen |y| wird nicht mehr in der Notation |9y| ausgegeben, sondern als ein Zeichen |y|. Dabei findet evtl. noch bei der Ausgabe eine Umwandlung statt, falls eine Anweisung !x = y! in der Codepage-Definition angegeben wird.         (printable(y)=true;) Default: alle Zeichen < 32 oder > 126 werden in |9| Notation ausgegeben.         (printable(y)=false; for y in [0…32, 126…255]) (4) !<| y! Negation zu (3). |y| wird danach als |9y| ausgegeben. Beispiel: Nach

|"a=80|

wird das Zeichen 128 als ein Zeichen |"a| ausgegeben. Soll dies unterbleiben, danach noch angeben:

| < |$|$| 80|

(printable(y)=false;)

Die einzelnen Anweisungen werden zeilenweise abgearbeitet, dabei ist die Reihenfolge der Anweisungen wichtig.

Allgemeine Anmerkung:

Gibt man in TEX Zeichen in |<-Notation an, so werden diese nicht mehr gemappt, d.h. mit |<-Notation muß der Zeichencode in TEX und nicht der im jeweiligen Rechner verwendeten Code angegeben werden.

Gemappt werden nur direkt eingegebene Zeichen. Mapping findet beim Lesen in input_line() statt, außerdem beim Schreiben mit print_char() und beim Umwandeln von Filenamen.