Re: Eurosupport und Freebsd

From: Peter Much <pmc(at)citylink.dinoex.sub.org>
Date: Sun, 6 Jan 2002 21:05:45 GMT

<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 message
Received on Mon 07 Jan 2002 - 01:40:52 CET

search this site