- Anlage1: Benutzung von verschiedenen Code-Varianten -
Datei codepage.txt
Alle Code-Varianten sind in der Datei codepage.txt beschrieben. Es können vorerst max. 48 Codes definiert werden (Programmerweiterung bei Bedarf möglich). Die Reihenfolge der Codes bestimmt die interne Code-Nummer, die für die Speicherung von Einstellungen in der INI-Datei verwendet wird. Die Reihenfolge sollte daher nicht geändert werden, da sonst die gespeicherten Einstellungen zu Fehlinterpretationen führen.
Bei der Installation mit dem SETUP-Programm ist zu beachten, dass eine bereits bestehende codepage.txt nicht überschrieben wird, da die Datei auch vom Benutzer angepaßt werden kann. Soll die aktuelle codepage.txt übernommen werden, so muss die Datei codepage.opg nach codepage.txt kopiert werden.
Die Datei enthält für jede Code-Variante als Header die Anweisungen CODE, NOTE und PARAM sowie für jedes Zeichen von 00 bis FF eine Zeile mit der Definition des entsprechenden Unicode-Zeichens.
Neben den Beschreibungen der Code-Varianten muss noch die Tabelle LOWCAPTAB definiert werden, die alle Buchstaben enthält und für die Konvertierung von Klein- in Großbuchstaben und umgekehrt (siehe Kommandos LOWER und UPPER) verwendet wird.
*bemerkung Bemerkungszeile
CODE=name,alias,alias,....
Codename und Aliasnamen. Für das Kommando CODE können wahlweise der Codename oder einer der Aliasnamen benutzt werden. In den Dialogboxen wird immer nur der Codename angezeigt.
NOTE=beschreibung
Kurzbeschreibung des Codes für die Darstellung in den Comboboxen des Dialogs Optionen / Einstellungen / Code und Funktionen / Code bzw. des Menüs Ansicht / Code. In diesen Dialogelementen werden der Name und diese Beschreibung angezeigt. Die Beschreibung darf max. 50 Zeichen lang sein.
PARAM=ss uu  Definition Leerzeichen und undefinierte Zeichen.
ss Dieses Zeichen wird während der Bearbeitung von Daten zum Auffüllen mit Leerzeichen verwendet. Dies kommt z.B. vor, wenn eine neue Zeile per Tastatureingabe erzeugt und das erste Zeichen in Spalte 10 eingegeben wird. Die Spalten 1-9 werden mit Leerzeichen aufgefüllt.
uu Sind in einer Code-Variante bestimmte Zeichen nicht belegt, wie z.B. beim 7-Bit EBCDIC-Code oder ist bei der Konvertierung ein Zeichen des "Sende-Codes" im "Ziel-Code" nicht vorhanden, wird dieses Zeichen erzeugt.
BITS=x
kann sein: 7 oder 8, für einen 7-Bit-Code oder 8-Bit-Code. Der Wert 8 braucht nicht angegeben werden, dies ist der Standard.
Korresp=xxxxxxx
Name des korrespondierenden Codes. Bei einem ANSI-Code ist der Name des entsprechenden EBCDIC-Codes, bei einem EBCDIC-Code ist der Name des entsprechenden ANSI-Codes hier anzugeben.
Dieser Parameter ist optional.
CC UUUU A #bemerkung
Beschreibung jedes Zeichens (pro Zeichen eine Zeile mit bis zu 4 Spalten). Für jede Code-Variante müssen alle 256 Zeichen beschrieben werden.
In dieser Beschreibung wird das entsprechende Unicode-Zeichen für die Code-Umwandlung definiert. Eine Code-Umwandlung erfolgt immer in zwei Schritten: 1. Umwandlung vom alten Code in Unicode, 2. Umwandlung von Unicode in den neuen Code. Die Tabelle Unicode Code-Variante wird vom Programm automatisch generiert.
Die Beschreibung enthält außerdem Kennzeichnung für die automatische Code-Erkennung.
CC Zeichen 2-stellig hexadezimal
UUUU Entsprechendes Unicode Zeichen 4-stellig hexadezimal. Die ersten 256 Zeichen des Unicodes und die Zeichen des Codes ISO 8859 sind identisch. Die weiteren Zeichen des Unicodes enthalten spezielle themen- bzw. sprachabhängige Sonderzeichen, wie z.B. das EURO-Zeichen (X'20AC'). Die vollständige Beschreibung aller Unicode-Zeichen ist in der Datei unicode.txt enthalten. Weitere Informationen finden Sie im Internet unter www.unicode.org.
Ist ein Zeichen dieses Codes nicht belegt bzw. soll es bei der Konvertierung in ein Schmierzeichen übersetzt werden, ist als Unicode FFFF anzugeben.
A 1 = Zeichen für automatische Code-Erkennung (optional bis Version 3.21). Ab Version 4.0 wird diese Option ignoriert.
Im Menü Optionen / Einstellungen / Code kann die Option "Auto" eingestellt werden. Beim Einlesen einer Datei wird anhand von typischen Zeichen festgestellt, um welchen Code es sich handelt und dann die Anzeige auf diese Code-Variante eingestellt. Die maßgebenden Zeichen für die automatische Erkennung müssen mit "1" gekennzeichnet werden.
Ab Version 4.0 wird bei der Einstellung "Auto" der Code wie folgt ermittelt: Die ersten 50.000 Bytes einer Datei werden mit allen Codes, die in der Datei codepage.txt enthalten sind, nach UNICODE umgewandelt und nach Buchstaben, Umlauten und Zahlen untersucht. Der Code mit den meisten Treffern wird ausgewählt. Bei gleichen Treffern wird ANSI bevorzugt.
#bemerkung Bemerkung (optional)
Die gesamte Zeile darf max. 128 Zeichen lang sein.
Hinweise:
Die Spalten werden durch ein Leerzeichen getrennt. Die Spalten 3 - 4 sind optional, es können jedoch nur rechtsbündig Spalten entfallen, z.B. "CC UUUU", "CC UUUU A".
Falls in einem Code Zeichen nicht besetzt sind, wie z.B. beim 7-Bit EBCDIC-Code, muss für dieses Zeichen das Unicode-Zeichen FFFF eingetragen werden.
Da vom Programm automatisch eine zweite Tabelle UNICODE- Code-Variante aufgebaut wird, darf ein Unicode-Zeichen mit Ausnahme von FFFF nur einmal vorkommen.
Die Reihenfolgen der Anweisungen muss eingehalten werden:
1. CODE=
2. NOTE=
3. PARAM=
4. 256 Zeichenbeschreibungen.
LOWCAPTAB Beginn der Tabelle für die Konvertierung von Klein- in Großbuchstaben und umgekehrt. Die Definition der Buchstaben gilt für alle Code-Varianten. Danach folgt für jeden Buchstaben die folgende Anweisung. Die Reihenfolge der Eintragungen in diesem Abschnitt der codepage.txt ist unbedeutend.
GGGG KKKK #bemerkung
GGGG Unicode-Wert für den Großbuchstaben
KKKK Unicode-Wert für den Kleinbuchstaben
Beispiel codepage.txt:
* Beispiel Codepage.txt auszugsweise
* 1. Code-Variante
CODE=ASCIIDOS,ASCII,DOS,CP850
NOTE=ASCII MS-DOS (CP850)
PARAM=20 00
00 0000 #NULL
01 0001 #START OF HEADING
02 0002 #START OF TEXT
03 0003 #END OF TEXT
04 0004 #END OF TRANSMISSION
* Hier folgen weitere Anweisungen 05 bis 40
41 0041 #LATIN CAPITAL LETTER A
42 0042 #LATIN CAPITAL LETTER B
43 0043 #LATIN CAPITAL LETTER C
44 0044 #LATIN CAPITAL LETTER D
45 0045 #LATIN CAPITAL LETTER E
80 00C7 # Ç LATIN CAPITAL LETTER C WITH CEDILLA
81 00FC # ü LATIN SMALL LETTER U WITH DIAERESIS
82 00E9 # é LATIN SMALL LETTER E WITH ACUTE
83 00E2 # â LATIN SMALL LETTER A WITH CIRCUMFLEX
* Hier folgen weitere Anweisungen 84-FF

* 2. Code-Varianten
CODE=ASCII2
NOTE=ASCII Variante2
PARAM=20 00
00 0000 #NULL
01 0001 #START OF HEADING
* Hier folgen weitere Anweisungen 02-FF

* Tabelle mit den Zuweisungen der Klein/Gross-
* Schreibungen: erste Spalte Grossbuchstabe
* zweite Spalte Kleinbuchstabe
LOWCAPTAB
0041 0061 #LATIN LETTER A
0042 0062 #LATIN LETTER B
0043 0063 #LATIN LETTER C
0044 0064 #LATIN LETTER D
0045 0065 #LATIN LETTER E
0046 0066 #LATIN LETTER F
* Hier folgen weitere Anweisungen für die restlichen
* Buchstaben