Terms97801
Das Euro-Zeichen und Terms97801
Das 97801-Terminal besitzt in seinem Zeichenvorrat kein Zeichen für den Euro. Auch die Tastatur
hat ist nicht auf die Eingabe eines Eurozeichens vorbereitet. Da aber beim 97801-Terminal Tastaturtabellen
geladen und eigene Zeichen programmiert werden können, ist es prinzipiell schon möglich
Eurozeichen einzugeben und darzustellen. Die eigentliche Frage besteht darin, ob die verwendete
Software hierzu in der Lage ist.
Da Terms97801 alle Funktionen des Originals emuliert, kann bei Terms97801 auch eine
Tastaturtabelle geladen und ein eigenes Eurozeichen programmiert werden. Die diskutierte Lösung
funktioniert also mit Terms97801 und dem Original-97801 gleichermaßen.
Die Anzeige des Eurozeichen
Im folgenden wird ein kleines Shell-Skript vorgestellt, mit dem ein Euro auf dem Bildschirm
dargestellt werden kann.
# Euro-Symbol auf 97801
#
# gemacht fuer Terms97801 - funktioniert aber
# auch mit dem echten 97801 in 7 und 8 bit
#
# 16.6.98 Systemberatung Drewes
#
# Fuer Linux echo -e verwenden. In Zeilen mit \c echo -e -n verwenden.
#
echo "\033[2J"
echo "\033[4mBeispiel fuer die Dartstellung des Euro-Symbols\033[m"
# Zeichengenerator programmieren
echo "\033RB02400000E11207E207C20110E0000000000\033\\"
# alternatives Euro-Symbol
#echo "\033RB0240000001E217C207C211E000000000000\033\\"
# obere Fonthaelfte mit International laden
# (\100 ist Klammeraffe)
echo "\033)\0100\c"
# \016 = si (shift in) \017 = so (shift out)
echo "Euro = \016$\017 Dollar = $\c"
echo " Pound = \033)u\016n\017\n"
Dieses Skript belegt das Zeichen 0x24 des Superfonts mit einem Eurozeichen. An dieser
Stelle liegt das sogenannte Währungszeichen ¤. Im Unicode hat dieses
Zeichen den Dezimalwert 164.
Die Escape-Sequenz
<Esc>RBxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy<Esc>\
weist dem Superfontzeichen xxx die 16 folgenden Pixelzeilen yy zu. Die Werte xxx und yy
sind in ASCII-codierten Hex-Werten anzugeben (in Großbuchstaben). Die entstehende
Zeichenzelle hat eine Größe von 16x8 Pixel.
Um das Währungszeichen auszugeben, muss ein Zeichensatz geladen werden, der dieses
Zeichen beinhaltet, z.B. Zeichensatz International.
Die Escape-Sequenz
<Esc>)@
lädt diesen Zeichensatz in die obere Hälfte des Bereitstellungsbereichs. Die
Umschaltung auf den oberen Zeichensatz erfolgt mit dem Steuerzeichen si (shift in).
Diese Lösung funktioniert auch im 7bit-Modus des 97801. Im 8bit-Modus funktioniert
dies auch, aber auf Kosten der Umlaute. Im 8bit-Modus sollte darum kein Zeichensatz
geladen werden, sondern das vorhandene Währungszeichen aus der oberen Hälfte
der ISO-Latin-Zeichensatzes verwendet werden, das mit dem Zeichencode 164 = \xA4 = \0244
angesprochen wird.
Auflösungsproblem
Das Original-Terminal hat nur eine feste Bildschirmauflösung und die Zeichenprogrammierung
geht von einer Zeichenzelle der Größe 16x8 aus. Terms97801 verwendet in der
Bildschirmauflösung normal (640 Pixel) eine fast gleichgroße Zeichenzelle,
nämlich 15x8. Für andere Auflösungen hat die Zeichenzelle eine andere
Größe, z.B 20x10 oder 24x12. Die 16x8-Zeichenzelle aus der Programmiersequenz
muss auf die entsprechende Größe gestreckt werden, was außer bei
Bildschirmauflösung ultra groß (1280 Pixel) zu einem etwas 'angefressenem
Zeichen' führt.
Zudem wird bei Terms97801 bei einem Wechsel der Zeichengröße die interne Fontbitmap
neu geladen, wodurch die vorangegangene Zeichenprogrammierung verloren geht. Abhilfe schafft
hier die Möglichkeit mit einer externen Fontbitmap zu arbeiten (ab Terms97801 V 2.1-0).
In einer Fontbitmap passender Auflösung (seit Terms97801 V2.2-0 im Lieferumfang) kann dann
ein Zeichen mit Hilfe eines Malprogramms (z.B. PaintBrush) mit einem Eurozeichen übermalt
werden.
Die Eingabe des Eurozeichen
Soll ein Eurozeichen wie unter Windows mit AltGr-E eingegeben werden, so muss der 97801-Taste
auf die die PC-Taste AltGr-E abgebildet wird mit dem Euro-Zeichencode belegt werden. Beim
Originalterminal geschieht dies über das Senden einer Escape-Sequenz mit der Tastaturtabelle
(eklig, aber machbar; siehe auch Sinix-Tool keyload). Bei Terms97801 kann über den
Dialog 97801-Taste programmieren interaktiv ein einzelner Tastencode zugewiesen werden.
Die Frage besteht darin, welcher Zeichencode für das Eurozeichen verwendet werden soll? Windows
verwendet den Wert 128 = 0x80. Dieser Wert erfordert 8bit-Modus für Terminal und Leitung und
zusätzlich liegt dieser Wert im Bereich der Kontrollzeichen (control characters), so dass er
eventuell durch tty-Treiber gefiltert wird. Der Unicode-Wert für das Eurozeichen ist 0x8364, was
mit einem Byte nicht mehr dargestellt werden kann.
Praktisches Beispiel
Zum Ausprobieren wird folgende Vorgehensweise vorgeschlagen:
Jetzt erscheint beim Drücken von AltGr-E auf der PC-Tastatur ein Eurozeichen auf der Terms97801-Anzeige.
Fazit
Wenn es möglich ist die Zeichenfolge DM durch EUR darzustellen, so ist dies
sicherlich der einfachere Weg, denn außer Bildschirmanzeige und Tastatureingabe gibt es auch noch das
Druckerausgabeproblem. (Bildschirmabzüge mit programmiertem Eurozeichen sind unter Terms97801 kein Problem.)
Wer sich ernsthaft mit der Problematik auseinandersetzen möchte, darf sich gerne telefonisch oder
per Email an uns wenden.
|