Das Euro-Zeichen und Terms97801 Terms-Logo
Home   Inhalt   Em@il   Impressum     deutsch   english

Terms97801-Logo 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:

  • Nach aufgebauter Verbindung Terms97801 auf 8bit stellen (falls dies nicht schon der Fall ist).
  • Auf der Shell-Kommandozeile mit
    echo "\033RB02400000E11207E207C20110E0000000000\033\\"
    
    das Eurozeichen programmieren.
  • Auf der Terms97801-Tastaturbitmap Taste E programmieren und in dem Programmierdialog den Knopf '97801-Taste programmieren' anklicken. In dem erscheinenden Dialog für Alt-E den Wert A4 eintragen.
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.