Next: Umlaute im Emacs Up: Umlaute unter UNIX Previous: Einleitung

Umlaute unter X11

Das wichtigste Requisit ist ein Font, der die Sonderzeichen enthält, und das an den richtigen Stellen, wie von der ISO-Norm gefordert. Mit den üblichen X11-Tools wie xfontsel und xfd kann man sich einen solchen heraussuchen, geeignet sind insbesondere die Courier-Fonts, z.B. '-adobe-courier-bold-r-normal-14-100-100-100-m-90-iso8859-1'. Die Endung zeigt dabei schon an, daß die richtige Reihenfolge eingehalten wird. Einen falschen Font erkennt man daran, daß die Sonderzeichen falsch oder überhaupt nicht dargestellt werden.

Als nächstes wollen wir Umlaute auch eingeben. Besitzer deutscher Tastaturen sind da in der Regel gut dran: Taste ``ä'' drücken genügt. Für die Programmierer unter uns, die {, }, , etc. an griffigen Stellen vorziehen, gibt es aber die Möglichkeit, mit Hilfe des Programms xmodmap fast jede beliebige Tastenbelegung einzustellen. Grundsätzlich kann man vorhandene ``freie'' Tasten (F-Tasten z.B.) verwenden oder aber eine weitere Umschaltfunktion (Alt-a = ä) einsetzen. Ich habe mich hier für die zweite Möglichkeit entschieden, die erste ist noch einfacher umzusetzen.

Unter X11R5 kann man Tasten mit bis zu vier verschiedenen Funktionen belegen, z.B. mit dem Kommando


      xmodmap -e 'keysym a = a A adiaeresis Adiaeresis'
Die ersten beiden Funktionen erreicht man durch die Taste ``a'' selbst bzw. mit ``Shift-a''. Die beiden anderen (ä, Ä) erhält man, indem man eine Umschalt-Taste auswählt und dies dem X-Server mitteilt. Ich habe mir dafür die rechte Alt-Taste ausgesucht. Ein kompletter Satz von xmodmap-Befehlen lautet dann:

     xmodmap -e 'keysym Alt_R = Mode_switch'
     xmodmap -e 'add Mod2 = Mode_switch'
     xmodmap -e 'keysym a = a A adiaeresis Adiaeresis'
     xmodmap -e 'keysym o = o O odiaeresis Odiaeresis'
     xmodmap -e 'keysym u = u U udiaeresis Udiaeresis'
     xmodmap -e 'keysym s = s S ssharp'
Nun erreicht man also die Umlaute mit der rechten Alt-Taste (und ggf. Shift). Durch diese Kommandos wird die interne Tabelle des X-Servers geändert, was dieser durch eine entsprechende Botschaft seinen Clients mitteilt. Leider reagieren nicht alle Clients auf diese Nachricht, so daß man manche neu starten muß, damit auch für diese die neuen Tastendefinitionen gelten. Am besten führt man xmodmap-Befehle daher schon beim Einloggen (im /.xsession o.ä.) aus.

Um auch in xterm-Fenstern Umlaute eingeben zu können, muß man u.U. dem Terminaltreiber noch beibringen, 8-bit-Zeichen zuzulassen, indem man - am besten im .login oder .profile - eingibt:


     stty -istrip
Falls es immer noch nicht klappt, kann auch die Shell der Bösewicht sein. Beispielsweise reagiert die beliebte tcsh (auf der Convex einfach csh genannt!) auf 8-Bit-Zeichen teilweise mit Editierkommandos; auch von der GNU-bash wird ähnliches berichtet.



Next: Umlaute im Emacs Up: Umlaute unter UNIX Previous: Einleitung