<de-bsd-questions(at)DE.FreeBSD.ORG> aka Matthias Fechner schrieb
mit Datum Thu, 3 Jan 2002 19:26:58 +0100 in m2n.de.fbsd.questions:
!wollte jetzt mein FreeBSD auf Euro umstellen, aber ich finde
!nirgendwo, was ich ändern muss.
!Reicht es ISO-8859-15 zu stezten?
!
!Wenn ja, wo muss ich das setzten(welche Variable oder Configfile)?
!
!Wäre auch super, wenn es im xterm geht.
Meine Forschungen haben ergeben (Version 4.4-RELEASE mit XFree-4.1):
1. Scancode der Tastatur
Der Scancode wird ueber die xmodmap festgelegt.
Auch wenn man keyboard-Extensions aktiviert hat, ist der Scancode
mit "xmodmap -pk" anzeigbar. Da ist bei 26 (Buchstabe E) fuer
den erstem Modifier (Alt-Gr) das "EuroSign" (0x20ac) definiert.
Das funktioniert so.
2. xterm
Damit ein xterm dieses Zeichen anzeigt, braucht es zweierlei:
- das Xterm (und nicht etwa die Shell darin!) muss mit der
richtigen Locale in der LC_CTYPE Env-Variable aufgerufen worden
sein.
Dabei muss diese Locale sowohl der C-Lib als auch der X-Lib
bekannt sein! Ist eines davon nicht der Fall, dann gibt
xterm eine entsprechende Meldung aus und faellt zurueck auf die
C locale.
Die Locales fuer die C-Lib liegen als Verzeichnisse unter
/usr/share/locale vor. Dort gibt derzeit es keine *.ISO_8859-15,
sondern die heissen alle DIS_8859-15. Warum auch immer.
Die Locales fuer die X-Lib liegen unter /usr/X11R6/lib/X11/locale
vor, indem in der dortigen alias.dir ein entsprechender Eintrag
ist, der auf eine vorhandene XLC_LOCALE Datei zeigt, oder aber
sie sind als Alias in der dortigen locale.alias definiert.
Dort heisst nun aber alles ISO8859 oder iso8859, und
nur fuer einige wenige gebraeuchliche Locales ist ein Alias
als ISO_8859 definiert. Die 8859-15 Locales sind dort mit
so ulkigen Aliases wie fr_FR.iso885915 oder gar fr_FR(at)euro
angelegt.
Knackpunkt ist dabei aber nur, dass der gewaehlte Namen in
beiden Verzeichnissen irgendwo existiert und in der X-Lib
auf eine passende XLC_LOCALE sowie in der C-Lib auf eine
passende LC_CTYPE zeigt.
D.h. wenn man in der C-Lib einen Symlink mit einem in der
X-Lib bekannten Namen auf das de_DE.DIS_8859-15 Verzeichnis
anlegt und diesen Namen dann als LC_CTYPE Environment-Variable
exportiert, dann akzeptiert das danach gestartete xterm auch
die Taste AltGr-E.
Das erfassste Zeichen wird dann als Hexcode a4 in eine Datei
gespeichert; das ist wohl im X so definiert.
- den richtigen Font.
Der standarddfont "fixed" ist ein 8859-1 Font und zeigt daher
ein ganz anderes Zeichen an. Ein geeigneter 8859-15 Font kann
problemlos gewaehlt werden, es kann aber auch in der
/usr/X11R6/lib/X11/fonts/misc/font.alias der Eintrag
"fixed" passend geaendert werden.
3. Anwendungen.
Bei Anwendungen kommt es auf seiten von X nur auf den Scancode
der Tastatur und auf den richtigen Font an. Die Locale-Auswertung
und Beruecksichtigung ist Sache der Anwendung, es kommt darauf
an, wie diese programmiert ist.
less: Zeigt das Zeichen mit den normalen Einstellungen fuer dt.
Umlaute (ISO_8859-1) an, mit dem richtigen Font auch richtig.
Staroffice: Erlaubt das einfuegen von Sonderzeichen ueber Menue-
Befehl, direktes Erfassen nicht getestet.
Gruss
Peter
-- WARNING: Globalized political assassinations may lead to damage of the skyline. September 11 for world cultural heritage. Write to: Peter Much * Fichtenstr. 28 * D-65527 Niedernhausen * +49-6127-967111 EMail: p.much(at)citylink.dinoex.sub.org * Fax: +49-6127-967112 (nur manchmal) To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Mon 07 Jan 2002 - 01:40:52 CET