2011-03-08, Rev. 4UTF-8 unter Gentoo
Dieser Leitfaden zeigt Ihnen, nachdem die Vorzüge von Unicode und genauer
UTF-8 erläutert wurden, wie Sie den UTF-8 Unicode Zeichensatz auf Ihrem Gentoo
Linux System einrichten und verwenden.
UTF-8 unter Gentoo
1.
Zeichensätze
1.1 Was ist ein Zeichensatz?
Computer verstehen den Text nicht als solches, stattdessen wird jedes Zeichen
durch eine Zahl repräsentiert. Traditionell war die Zeichentabelle mit den
entsprechenden Zuordnungen aufgrund technischer Begrenzungen in ihrer Größe
beschränkt.
1.2 Die Geschichte der Zeichensätze
Der verbreitetste (oder der zumindest weitgehend meist akzeptierte) Zeichensatz
ist ASCII (American Standard Code for Information Interchange). Er wird
weitesgehend als erfolgreichster Softwarestandard überhaupt anerkannt. Modernes
ASCII wurde 1986 vom American National Standards Institute standardisiert
(ANSI X3.4, RFC 20, ISO/IEC 646:1991, ECMA-6).
ASCII nutzt strikt Bitmuster mit sieben Binärziffern, welche einen
Dezimalzahlenraum von 0 bis 127 zulassen. Darunter befinden sich 32 unsichtbare
Steuerzeichen, die meisten zwischen 0 und 31, mit dem letzten Steuerzeichen DEL
bzw. Entf bei 127. Die Zeichen von 32 bis 126 sind sichtbare Zeichen: darunter
ein Leerzeichen, Satzzeichen, lateinische Buchstaben und Zahlen.
Das achte Bit in ASCII wurde ursprünglich als Prüfbit genutzt. Falls dies nicht
gewünscht ist, wird es mit einer 0 belegt. Das bedeutet, dass jedes Zeichen in
ASCII durch ein einzelnes Byte repräsentiert wird.
ASCII reichte zur Kommunikation im modernen Englisch aus, in anderen
europäischen Sprachen jedoch, die weitere Zeichen nutzen, wurde es schwierig.
Aus diesem Umstand wurden die ISO-8859-Standards entwickelt, welche zum einen
abwärtskompatibel zu ASCII sind, zum anderen das achte Bit für weitere 127
Zeichen nutzen. Die Begrenzungen von ISO-8859 wurden schnell ersichtlich,
mittlerweile gibt es 15 Varianten des ISO-8859-Standards (8859-1 bis 8859-15).
Um die Interoperabilität zwischen den Zeichensätzen weiter zu erschweren, wurde
in einigen Microsoft Windows-Versionen Windows-1252 für westeuropäische
Sprachen eingesetzt, eine Obermenge von ISO-8859-1, jedoch unterscheidet diese
sich in vielerlei Hinsicht. All diese Zeichensätze behalten dennoch
ASCII-Kompatibilität.
Die benötigte Entwicklung von komplett verschiedenen Single-Byte-Zeichensätzen
für nicht-lateinische Alphabete, wie EUC (Extended Unix Coding) für Japanisch
und Koreanisch (und in geringerem Maße Chinesisch) stiftete noch mehr
Verwirrung, während andere Betriebssysteme weiterhin andere Zeichensätze für
die gleichen Sprachen nutzten, beispielsweise Shift-JIS und ISO-2022-JP.
Benutzer, die die Darstellung von kyrillischen Zeichen wünschten, hatten die
Wahl zwischen KOI8-R für Russisch und Bulgarisch, oder KOI8-U für Ukrainisch
und anderen kyrillischen Zeichensätzen wie z.B. der nicht erfolgreiche
ISO-8859-5- und der gebräuchliche Windows-1251-Satz. Alle diese Zeichensätze
sind größtenteils nicht ASCII-kompatibel (obwohl KOI8 Kodierungen die
kyrilischen Zeichen in lateinischer Reihenfolge plazieren, so dass wenn das
achte Bit entfernt wird der Text auf einem ASCII-Terminal noch durch
Buchstaben-verdrehte Transkription zu entzifferen ist).
Dies führte zu Verwirrungen und beinahe zur Unfähigkeit mehrsprachiger
Kommunikation, besonders zwischen verschiedenen Alphabeten. Nun kommt Unicode.
1.3 Was ist Unicode?
Unicode durchbricht die traditionelle Single-Byte-Grenze der Zeichensätze. Der
Zeichensatz nutzt 17 Ebenen von 65.536 Code Points und ermöglicht ein Maximum
von 1.114.112 Zeichen. Die erste Ebene wird "Basic Multilingual Plane" oder BMP
bezeichnet und beinhaltet fast alles was Sie je brauchen werden. Viele nahmen
fälschlicherweise an, dass Unicode ein 16-Bit-Zeichensatz sei.
Unicode wurde auf verschiedene Weise abgebildet, aber die meist verbreitetsten
sind UTF (Unicode Transformation Format) und UCS (Universal
Character Set). Eine Nummer hinter UTF gibt die Zahl der Bits in einer Einheit
an, während die Nummer hinter UCS die Zahl der Bytes anigbt. Aufgrund der
sauberen 8-Bit-Basis von UTF-8, ist es die weitverbreitetste Konvention zum
Austausch von Unicode-Text geworden und ist daher Thema dieses Dokuments.
1.4 UTF-8
UTF-8 ist ein variabellanger Zeichensatz, was in diesem Beispiel bedeutet,
dass er 1 bis 4 Byte pro Symbol nutzt. So wird das erste UTF-8-Byte zur
ASCII-Kodierung genutzt, dies ermöglicht volle Abwärtskompatibilität zu ASCII.
UTF-8 bedeutet, dass ASCII- und lateinische Zeichen austauschbar sind, mit
einem relativ geringen Anstieg der Datengröße, da nur das erste Bit genutzt
wird. Benutzer der östlichen Alphabete wie die Japaner, welche einen höheren
Zahlenbereich zugeschrieben bekamen, dürften hingegen über die 50% zusätzliche
Datenredundanz unglücklich sein.
1.5 Was UTF-8 für Sie tun kann
UTF-8 erlaubt ihnen in einer standardkonformen und international akzeptierten,
mehrsprachigen Umgebung zu arbeiten, mit einer vergleichsweise geringen
Datenredundanz. UTF-8 ist der bevorzugte Weg nicht-ASCII-Zeichen über das
Internet, Email, IRC und nahezu jedem anderen Medium zu übertragen. Trotzdessen
stehen einige Menschen UTF-8 in der Online-Kommunikation schmähend gegenüber.
Es ist daher immer ratsam sich der Haltung in Channels, Mailinglisten, oder
Usenet-Gruppen gegenüber UTF-8 bewusst zu sein, bevor man nicht-ASCII
UTF-8 verwendet.
2.
UTF-8 unter Gentoo Linux einrichten
2.1 Finden oder Erstellen von UTF-8 Locales
Jetzt, wo Sie die Hintergründe zu Unicode verstanden haben, sind Sie bereit auf
ihrem System UTF-8 zu benutzen.
Die Grundvorraussetzung UTF-8 nutzen zu können, ist eine installierte Version
von glibc mit National Language Support. Dazu brauchen Sie die
/etc/locale.gen Datei. Es geht jedoch über den Rahmen dieses
Dokuments hinaus, die Benutzung dieser Datei zu erklären. Es wird in der Gentoo Anleitung zur
Lokalisierung erläutert.
Nun werden wir überprüfen, ob schon UTF-8-Locales installiert sind, oder ob wir
sie erst erstellen müssen.
Befehlsauflistung
1.1: Überprüfen ob eine UTF-8-Locale existiert
# locale -a | grep 'en_GB'
en_GB
en_GB.UTF-8
In der Ausgabe muss das Resultat mit einem Suffix wie .UTF-8 vorkommen,
andernfalls müssen wir eine UTF-8-kompatible Locale erstellen.
|
Führen Sie die nachfolgenden Befehle nur aus, wenn Sie keine UTF-8-kompatible
Locale für ihre Sprache zur Verfügung haben.
|
Befehlsauflistung
1.2: Eine UTF-8-Locale erstellen
# localedef -i en_GB -f UTF-8 en_GB.UTF-8
Ein weiterer Weg eine UTF-8-Locale zu erstellen, ist diese der
/etc/locale.gen Datei hinzuzufügen und die nötigen Locales mit dem
locale-gen Befehl zu erstellen.
Befehlsauflistung
1.3: Zeile in /etc/locale.gen
en_GB.UTF-8 UTF-8
2.2 Setzen der Locale
Es muss eine Umgebungsvariable gesetzt werden, damit die neuen UTF-8-Locales
genutzt werden können: LC_CTYPE (oder optional LANG, falls Sie
auch die Systemsprache ändern wollen). Es gibt hier wieder einige Möglichkeiten,
sie zu setzen. Manche Menschen bevorzugen es, die Einstellung nur für bestimmte
Nutzer zu übernehmen; in diesem Fall muss sie entweder in
~/.profile (wenn Sie /bin/sh verwenden) bzw. in
~/.bash_profile oder ~/.bashrc (wenn Sie
/bin/bash verwenden) gesetzt werden.
(Weitere Details und bewährte Vorgehensweisen finden Sie in unserer
Anleitung zur Lokalisierung.
Andere bevorzugen die Locale global zu setzen. Dies empfiehlt der Autor
besonders, wenn /etc/init.d/xdm genutzt wird, da das Initskript
den Displaymanager und den Desktop startet, bevor irgendwelche zuvor erwähnten
Shell-Startup-Dateien gelesen werden.
Um die Einstellung global zu übernehmen, muss
/etc/env.d/02locale bearbeitet werden. Die Datei sollte wie folgt
aussehen:
Befehlsauflistung
2.4: Demonstrations /etc/env.d/02locale
LANG="en_GB.UTF-8"
|
Sie können auch LC_CTYPE anstelle von LANG verwenden.
Für weitere Informationen zu den Kategorien, welche von LC_CTYPE
betroffen sind, lesen Sie bitte die
GNU Locale Seite.
|
Als Nächstes muss die Umgebung mit den Änderungen aktualisiert werden.
Befehlsauflistung
2.5: Aktualisierung der Umgebung
# env-update
>>> Regenerating /etc/ld.so.cache...
* Caching service dependencies ...
# source /etc/profile
Nun führen Sie locale ohne Argumente aus, um zu sehen, ob wir die
korrekten Variablen in unserer Umgebung haben.
Befehlsauflistung
2.6: Überprüfen ob unsere neue Locale in der Umgebung ist
# locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
Das ist alles. Sie nutzen jetzt UTF-8-Locales. Die nächste Hürde ist die
Konfiguration der Programme, die Sie täglich nutzen.
3.
Programmunterstützung
Als Unicode anfing in der Softwarewelt Bedeutung zu erlangen, waren
Multi-Byte-Zeichensätze unpassend zu Sprachen wie C, in welcher viele der
heutigen Programme geschrieben sind. Auch heute noch, sind einige Programme
nicht in der Lage, mit UTF-8 entsprechend umzugehen. Glücklicherweise sind es
die wenigsten.
3.2 Dateinamen, NTFS und FAT
Es existieren mehrere NLS-Optionen im Linux-Kernelkonfigurationsmenü, aber es
ist wichtig sich nicht beirren zu lassen. Für den größten Teil müssen Sie nur
die UTF-8-NLS-Unterstützung in den Kernel einbauen und die NLS-Standardoption
nach utf8 abändern.
Befehlsauflistung
2.1: Kernelkonfigurationsschritte für UTF-8-NLS
File Systems -->
Native Language Support -->
(utf8) Default NLS Option
<*> NLS UTF8
Falls Sie vorhaben, NTFS-Partitionen zu mounten, müssen Sie unter Umständen
eine nls=-Option mit mount spezifizieren. Falls Sie FAT-Partitionen
mounten wollen, muss unter Umständen die codepage-Option angegeben
werden. Optional können Sie eine Standard-Codepage für FAT in der
Linux-Kernelkonfiguration definieren. Bedenken Sie, dass die
codepage-Option welche Sie mit mount angeben, die Standardeinstellung
des Kernels überschreibt.
Befehlsauflistung
2.2: FAT-Einstellungen in der Kernelkonfiguration
File Systems -->
DOS/FAT/NT Filesystems -->
(437) Default codepage for fat
Sie sollten es vermeiden, Default iocharset for fat auf UTF-8 zu setzen,
da es nicht empfohlen wird. Stattdessen sollten Sie die Option utf8=true
übergeben, wenn Sie FAT-Partitionen mounten. Für weitere Informationen, lesen
Sie die Manpage zu mount (man mount) und die Kerneldokumentation in
/usr/src/linux/Documentation/filesystems/vfat.txt.
Zur Änderung der Kodierung der Dateinamen, kann app-text/convmv
genutzt werden.
Befehlsauflistung
2.3: Beispiel zur Nutzung von convmv
# emerge --ask app-text/convmv
# convmv -f <current-encoding> -t utf-8 <Dateiname>
# convmv -f iso-8859-1 -t utf-8 filename
Um den Inhalt von Dateien zu ändern, nutzen Sie das iconv
Programm, welches mit glibc installiert wird:
Befehlsauflistung
2.4: Beispiel zur Nutzung von iconv
# iconv -f iso-8859-1 -t utf-8 filename
# iconv -f iso-8859-1 -t utf-8 filename > newfile
app-text/recode kann für diesen Zweck ebenso genutzt werden.
3.3 Die Systemkonsole
|
Sie brauchen >=sys-apps/baselayout-1.11.9 für Unicode in der Konsole.
|
Um UTF-8 in der Konsole zu aktivieren, müssen Sie /etc/rc.conf
editieren und UNICODE="yes" setzen, zudem sollten Sie die Kommentare
in dieser Datei lesen -- es ist wichtig, eine Schriftart zu finden, welche
einen möglichst großen Zeichenvorrat hat, wenn Sie das Potential von Unicode
ausschöpfen möchten. Damit dies funktioniert, müssen Sie sicher sein, dass Sie,
wie in Kapitel 1 beschrieben, eine Unicode-Locale
korrekt erstellt haben.
Die KEYMAP-Variable, welche in /etc/conf.d/keymaps gesetzt
wird, sollte ein Unicode-Layout spezifizieren.
Befehlsauflistung
3.5: Beispielsauszug aus /etc/conf.d/keymaps
KEYMAP="uk"
3.4 Ncurses und Slang
|
Ignorieren Sie alle Erwähnungen von Slang in diesem Abschnitt, wenn Sie es
nicht installiert haben, oder nicht nutzen.
|
Es ist ratsam unicode zu ihren globalen USE-Flags in
/etc/make.conf hinzuzufügen und die Pakete sys-libs/ncurses
und, sofern installiert, sys-libs/slang erneut zu installieren. Dies
erledigt Portage automatisch, wenn Sie ihr System aktualisieren:
Befehlsauflistung
4.6: Aktualisieren des Systems
# emerge --update --deep --newuse world
Nachdem die USE-Flags geändert wurden, müssen alle Pakete erneut gebaut
werden, welche auf Ncurses oder Slang verlinken. Das Tool das wir dafür
verwenden (revdep-rebuild) ist Teil des gentoolkit Pakets.
Befehlsauflistung
4.7: Neukompilieren der Programme, welche von Ncurses oder Slang abhängen
# revdep-rebuild --soname libncurses.so.5
# revdep-rebuild --soname libslang.so.1
3.5 KDE, GNOME und Xfce
Alle großen Desktopumgebungen bieten volle Unicode-Unterstützung und benötigen
keine weiteren Einstellungen, welche nicht schon in diesem Guide behandelt
wurden. Der Grund dafür ist, dass die eingesetzten grafischen Toolkits (Qt oder
GTK+2) UTF-8-gerüstet sind. Folglich sollte jede Anwendung, die auf einer
dieser Toolkits aufbaut, UTF-8-gerüstet sein.
Ausnahmen bilden Xlib und GTK+1. GTK+1 erfordert eine ISO-10646-1 FontSpec in
~/.gtkrc, zum Beispiel -misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1.
Des Weiteren benötigen Anwendungen, welche Xlib oder Xaw nutzen, eine ähnliche
FontSpec, andernfalls verweigern sie ihren Dienst.
|
Falls Sie noch eine Version vom Gnome-Kontrollzenter 1 haben, nutzen Sie diese
stattdessen. Wählen Sie von dort irgendeine ISO-10646-1 Schriftart.
|
Befehlsauflistung
5.8: Beispiel ~/.gtkrc (für GTK+1) das eine Unicode-kompatible Schrift definiert
style "user-font"
{
fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1"
}
widget_class "*" style "user-font"
Sollte eine Anwendung Unterstützung für sowohl Qt, als auch GTK+2 bieten, wird
die GTK+2-GUI allgemein bessere Ergebnisse mit Unicode liefern.
3.6 X11 und Schriftarten
TrueType-Schriften bieten Unterstützung für Unicode und die meisten mit Xorg
mitgelieferten Schriften haben eine beeindruckende Zeichenunterstützung, wenn
auch offensichtlich nicht jedes einzelne für Unicode existierende Zeichen für
jede Schrift verfügbar ist. Um Schriften zu erstellen (einschließlich des
Bitstream Vera-Satzes), welche Unterstützung für ostasiatische Buchstaben
bieten, müssen Sie cjk zu ihren USE-Flags hinzufügen. Einige andere
Anwendungen nutzen dieses Flag, daher kann es von Vorteil sein es permanent
als USE-Flag hinzuzufügen.
Auch sind mehrere Schriftpakete in Portage Unicode-gerüstet.
Befehlsauflistung
6.9: Optional: Installation weiterer Unicode-gerüsteten Schriften
# emerge terminus-font intlfonts freefonts corefonts
3.7 Window-Manager und Terminal-Emulatoren
Window-Manager, welche nicht auf GTK oder Qt basieren, haben allgemein eine
sehr gute Unicode-Unterstützung, da sie zum Handhaben der Schriften oft die
Xft-Bibliothek nutzen. Falls ihr Window-Manager kein Xft nutzt, bleibt Ihnen
immer noch die im vorherigen Abschnitt erwähnte FontSpec als Unicode-Schrift.
Terminal-Emulatoren, welche Xft nutzen und Unicode unterstützen, sind
schwieriger zu bekommen. Abgesehen von Konsole und gnome-terminal, sind die
besten Optionen in Portage x11-terms/rxvt-unicode,
x11-terms/terminal, gnustep-apps/terminal,
x11-terms/mlterm, oder das simple x11-terms/xterm, sofern es
mit dem unicode-USE-Flag kompiliert wurde und mit uxterm
aufgerufen wird. app-misc/screen unterstützt ebenfalls UTF-8, dazu muss
es mit screen -U aufgerufen werden, oder das Folgende wird zur
~/.screenrc hinzugefügt:
Befehlsauflistung
7.10: ~/.screenrc für UTF-8
defutf8 on
3.8 Vim, Emacs, Xemacs und Nano
Vim bietet volle UTF-8-Unterstützung und hat eine eingebaute
UTF-8-Dateierkennung. Für weitere Informationen rufen Sie in Vim :help
mbyte.txt auf.
Emacs Version 23 und Xemacs Version 21.5 haben volle UTF-8-Unterstützung. Emacs
24 wird weiterhin das Editieren bidirektionalen Textes unterstützen.
Nano hat volle Unterstützung für UTF-8 seit Version 1.3.6.
3.9 Shells
Zurzeit bietet die bash volle Unicode-Unterstützung durch die GNU
Readline Library. Z-Shell (zsh) bietet Unicode-Unterstützung mit dem
unicode USE-Flag an.
Die C-Shell, tcsh und ksh unterstützen kein UTF-8.
3.10 Irssi
Irssi bietet UTF-8-Unterstützung, auch wenn es einer zusätzlichen Einstellung
bedarf.
Befehlsauflistung
10.11: Aktivieren von UTF-8 in Irssi
/set term_charset UTF-8
Für Channels, in denen nicht-ASCII-Zeichen durch nicht-UTF-8-Zeichen
ausgewechselt werden, kann der Befehl /recode verwendet werden, um diese
Zeichen umzuwandeln. Tippen Sie /help recode ein, für mehr
Informationen.
3.11 Mutt
Der Mutt MUA (Mail User Agent) hat sehr gute Unicode-Unterstützung. Um UTF-8
mit Mutt zu nutzen, müssen Sie nichts zu Ihren Konfigurationsdateien
hinzufügen. Mutt wird unter Unicode-Umgebungen ohne Anpassung funktionieren,
wenn alle Konfigurationsdateien (einschließlich der Signatur) in UTF-8
kodiert sind.
|
Es kann vorkommen, dass Sie weiterhin ein '?' sehen, wenn Sie Mails mit Mutt
lesen. Das ist ein Ergebnis aus falschen Einstellungen des Mailclients, den
der Sender benutzt. Sie können da nicht viel tun, außer das Sie die betreffende
Person bitten, den Client so einzustellen, dass der korrekte Zeichensatz
spezifiziert wird.
|
Weitere Informationen sind im Mutt Wiki
verfügbar.
3.12 Man
Manpages sind integraler Bestandteil eines jeden Linuxsystems. Um
sicherzustellen, dass Unicode in ihren Manpages korrekt dargestellt wird,
editieren Sie /etc/man.conf und ersetzen eine Zeile wie unten
gezeigt.
Befehlsauflistung
12.12: man.conf Änderungen für Unicode-Unterstützung
NROFF /usr/bin/nroff -Tascii -c -mandoc
NROFF /usr/bin/nroff -mandoc -c
3.13 elinks und links
Dies sind oft genutzte Textbrowser und wir sollten zeigen, wie Sie deren
UTF-8-Unterstützung aktivieren. Für elinks und links
gibt es zwei Wege, um dies zu realisieren. Einer besteht darin, die
Setup-Option des Browsers zu nutzen, der andere darin, die Konfigurationsdatei
zu editieren. Um die Option durch den Browser zu setzen, öffnen Sie eine Seite
mit elinks oder links und drücken Alt+S, um das Setup-Menü
aufzurufen. Dann wählen Sie Terminal Options, oder drücken T. Scrollen
Sie runter und wählen Sie die letzte Option UTF-8 I/O durch drücken der
Enter-Taste. Speichern Sie und verlassen Sie das Menü. Bei links müssen
Sie Alt+S wiederholt drücken und anschließend S um zu speichern.
Die Methode mit der Konfigurationsdatei wird unten gezeigt.
Befehlsauflistung
13.13: UTF-8 für elinks/links aktivieren
set terminal.linux.utf_8_io = 1
terminal "xterm" 0 1 0 us-ascii utf-8
3.14 Samba
Samba ist ein Softwarepaket, dass das SMB-Protokoll (Server Message Block)
für UNIX-Systeme wie Macs, Linux und FreeBSD implementiert. Das Protokoll wird
manchmal auch als Common Internet File System (CIFS) bezeichnet. Samba
beinhaltet außerdem das NetBIOS-System; verwendet für den Dateiaustausch unter
Windows-Netzwerken.
Befehlsauflistung
14.14: Aktivieren von UTF-8 für Samba
dos charset = 1255
unix charset = UTF-8
display charset = UTF-8
3.15 Es alles austesten
Es gibt eine Vielzahl an UTF-8-Testseiten. net-www/w3m,
net-www/links, net-www/elinks, net-www/lynx und alle
Mozilla-basierenden Browser (einschließlich Firefox) unterstützen UTF-8.
Konqueror und Opera bieten ebenfalls volle UTF-8-Unterstützung.
Wenn Sie einen der textbasierten Web-Browser verwenden, stellen Sie sicher,
dass das Terminal, das Sie einsetzen, Unicode-gerüstet ist.
Falls Sie einige Zeichen als Boxen mit Buchstaben, oder Zahlen dargestellt
bekommen, bedeutet das, dass die eingesetze Schrift kein geeignetes Zeichen
für das Symbol zur Verfügung hat. Stattdessen wird eine Box mit dem zum
UTF-8-Symbol gehörenden Hex-Code angezeigt.
3.16 Eingabemethoden
Dead Keys werden genutzt, um in X Zeichen einzugeben, welche nicht auf
Ihrer Tastatur vorhanden sind. Das funktioniert, wenn Sie die rechte Alt-Taste
(in einigen Ländern AltGr) und eine weitere Taste aus dem nicht-alphabetischen
Teil der Tastatur links von der Eingabe-Taste einmal drücken, loslassen und
dann einen Buchstaben drücken. Der Dead Key sollte ihn modifizieren.
Eingaben können des Weiteren durch gleichzeitiges Drücken der Shift-Taste
zusammen mit dem AltGr und dem Modifier beeinflusst werden.
Um Dead Keys in X zu aktivieren, brauchen Sie ein Layout, welches diese
unterstützt. Die meisten europäischen Layouts haben bereits Dead Keys in der
Standardausführung. Dies trifft jedoch nicht auf nordamerikanische Layouts zu.
Auch wenn es einen gewissen Grad an Unbeständigkeit zwischen den Layouts gibt,
scheint der einfachste Weg zu sein, beispielsweise ein Layout der Form "en_US"
statt "us" zu nutzen. Das Layout wird in /etc/X11/xorg.conf
bestimmt, zum Beispiel so:
Befehlsauflistung
16.15: /etc/X11/xorg.conf Auszug
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "en_US"
EndSection
|
Die obigen Änderungen müssen Sie nur durchführen, wenn Sie ein
nordamerikanisches Layout nutzen, oder ein anderes Layout, bei welchem die Dead
Keys nicht funktionieren. Europäische Nutzer sollten funktionierende Dead Keys
haben, ohne etwas zu ändern.
|
Diese Änderung wird erst nach einem Neustart des X-Servers wirksam. Um sie
sofort durchzusetzen, nutzen Sie das Tool setxkbmap, zum Beispiel so:
setxkbmap en_US.
Es ist vermutlich einfacher Dead Keys anhand von Beispielen zu beschreiben.
Auch wenn die Ergebnisse von der Locale abhängig sind, sollten die Konzepte,
unabhängig von der Locale, die gleichen sein. Die Beispiele beinhalten UTF-8,
um sie darzustellen müssen Sie ihrem Browser entweder mitteilen, die Seite als
UTF-8 anzuzeigen, oder aber Sie haben bereits UTF-8-Locales konfiguriert.
Wenn ich AltGr und einmal [ drücke, loslasse und dann a drücke, erhalte ich
'ä'. Wenn ich AltGr und einmal [ drücke und dann e, erhalte ich 'ë'. Wenn ich
einmal AltGr und ; drücke, erhalte ich 'á' und wenn ich AltGr und ; drücke,
dann loslasse, erhalte ich 'é'.
Durch gleichzeitiges Drücken von AltGr, Shift und [, dann loslasse und a
drücke, erhalte ich ein skandinavisches 'å'. Wenn ich AltGr, Shift und [ drücke
und nur [ loslasse, dann nochmals drücke, erhalte ich '˚'. Auch
wenn es aussieht wie eines, dieses (U+02DA) ist nicht das gleiche wie ein
Grad-Symbol (U+00B0). Das funktioniert für andere Akzente, welche mit Dead Keys
produziert werden - AltGr und [, nur [ loslassen, dann nochmals drücken,
produziert '¨'.
AltGr kann allein mit alphabetischen Tasten benutzt werden. Beispielsweise wird
durch Drücken von AltGr und m ein kleines griechisches mu produziert: 'µ'.
AltGr und s produzieren ein scharfes s oder Esszet: 'ß'. Wie einige europäische
Nutzer erwarten würden (weil es auf ihren Tastaturen aufgedruckt ist),
produziert AltGr und 4 (oder E, abhängig vom Tastaturlayout) ein Eurozeichen,
'€'.
3.17 Ressourcen
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|