Inleiding

Internationalization houdt meer in dan alleen maar 8-bit characters kunnen verwerken, het is echter een eerste stap in de goede richting:

level 0:
  • geen internationalization wordt gesupporteerd,
  • de software is niet 8-bit clean (en verwijdert die bit of gebruikt die bit voor eigen doeleinden)
level 1:
  • software is 8-bit clean (waar dit document over handelt)
  • character set: iso 8859-1 (ISO Latin-1)
level 2:
  • software is locale sensitief, de gebruiker kan formattering van getallen, munteenheden, tijd, datum, .... instellen
  • alfabetische sortering wordt hierdoor veranderd !
level 3:
  • user interface: vertaling in de taal van de gebruiker (standaarden: POSIX/UniForum en XPG-3)
  • vb (eigenlijk van level 2 en 3 tesamen): [Solaris 2.3]
  • $ date
    Tue Jul 18 10:37:15 MET DST 1995
    $ export LC_TIME=fr ; date
    mardi, 18 juillet 1995, 10:37:33 MET DST
    $ export LC_TIME=de ; date
    Dienstag, 18. Juli 1995, 10:40:26 Uhr MET DST
     

    (Nederlands hoort gedefinieerd te worden als nl, maar de definitie bestaat niet)

level 4:
  • East Asian languages support, multi-byte codesets (i.e. meer dan 256 tekens)

HOW-TO:

  • Je "display" moet een ISO-LATIN-1 characterset gebruiken (vt100, tvi955, ..., doen dat niet), het merendeel van de X-terminals, werkstations, ... doen dat wel.

  • Er zijn 2 manieren om 8-bit tekens in te geven: met de Meta toets en met de Multi_key/Compose toets.

    De Meta toets wordt gebruikt zoals een Shift of Ctrl toets: als je die ingedrukt houdt terwijl je een andere toets indrukt, krijg je een ander teken (meestal een van de 8-bit tekens).

    De Compose/Multi_key stelt de 2 volgende tekens die je ingeeft, samen tot 1 teken. Meestal is het heel duidelijk welke 2 tekens welk ander teken opleveren.

  • Zowel de Compose/Multi_key als Meta key moet in sommige gevallen gedefinieerd worden met xmodmap
  • uit man xmodmap:

              %  xmodmap -e "keysym Alt_L = Meta_L Alt_L"
              %  xmodmap -e "keysym Alt_R = Multi_key Alt_R"
    

    Dit veranderd de linkse Alt toets in een Meta (Alt_L is nog steeds bereikbaar door ook de Shift toets in te drukken) en mutatis mutandis met de rechtse Alt toets en Compose/Multi_key.

    Je kunt deze instellingen in je .xmodmaprc en/of .Xmodmap bestand steken, zodat dat telkens bij het begin van je X sessie geladen wordt.

  • Voorbeelden:
  • Gewenst
    teken
    Meta-manier Compose-manier
    é <META>-<i> <COMPOSE> <e> <'>
    ß <META>-<SHIFT>-<-> <COMPOSE> <s> <s>
    © <META>-<SHIFT>-<0> <COMPOSE> <c> <o>
    ® <META>-<.> <COMPOSE> <r> <o>
    ç <META>-<SHIFT>-<G> <COMPOSE> <,> <c>

  • Overzicht van het klavier (Meta methode van intikken) (positie van sommige toetsen verschilt nogal eens van klavier tot klavier):

  • GEWOON:
    ` 1 2 3 4 5 6 7 8 9 0 - =
    q w e r t y u i o p [ ] \
    a s d f g h j k l ; '
    z x c v b n m , . /
    META:
    à ± ² ³ ´ µ · ¸ ¹ ° ­ ½
    ñ ÷ å ò ô ù õ é ï ð Û Ý Ü
    á ó ä æ ç è ê ë ì » §
    ú ø ã ö â î í ¬ ® ¯
    META-SHIFT:
    þ ¡ À £ ¤ ¥ Þ ¦ ª ¨ © ß «
    Ñ × Å Ò Ô Ù Õ É Ï Ð û ý ü
    Á Ó Ä Æ Ç È Ê Ë Ì º ¢
    Ú Ø Ã Ö Â Î Í ¼ ¾ ¿

    Dit laat nog twee tekens over:

    teken META Sequentie
    ÿ <META>-<DEL> y umlaut
    nbs <META>-<SPACE> (no break space)

  • Sommige tools zetten de 8-bit characters van de shell af (en doen dus het equivalent van een stty cs7)
    "stty pass8" en/of "stty -istrip cs8" lossen dit (terug) op.

  • De volledige ISO Latin 1 characterset:
  • HEX 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf
    0x0? nul soh stx etx eot enq ack bel bs ht nl vt np cr so si
    0x1? dle dc1 dc2 dc3 dc4 nak syn etb can em sub esc fs gs rs us
    0x2? sp ! " # $ % & ' ( ) * + , - . /
    0x3? 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
    0x4? @ A B C D E F G H I J K L M N O
    0x5? P Q R S T U V W X Y Z [ \ ] ^ _
    0x6? ` a b c d e f g h i j k l m n o
    0x7? p q r s t u v w x y z { | } ~ el
    HEX 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf
    0xa? nbs ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯
    0xb? ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
    0xc? À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
    0xd? Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
    0xe? à á â ã ä å æ ç è é ê ë ì í î ï
    0xf? ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

(Verouderd) Overzicht mogelijkheden van onze machines (voor level 1)

Om rlogin 8bit clean te maken:
   rlogin <host> -8
FUNCTIE solaris hp alpha
type met META OK OK OK
cut/paste OK OK OK
vi OK OK OK
mail ontvangen OK N/A N/A
mail versturen OK (1) XX
extra probl. (2) (3)

Waarbij:

OK:
het werkt
XX:
werk niet
N/A:
not applicable
1:
stuurt het als meta mail in base64, waarschijnlijk erg OK, tenzij ontvanger geen base64 kent
2:
op de console van een HP wordt blijkbaar geen ISO LATIN 1 font gebruikt, met erge gevolgen voor alle tekens. (noch in een HPterm, noch in een xterm (remote of lokaal)),
misschien dat een HP specialist hier raad mee weet.
3:
alpha's hebben last met het y-umlaut teken (0xff) en met het nbs teken (0xa0), ze kunnen het niet displayen (maar de compose ervan werkt wel!) Lijkt een font probleem te zijn.