# Euro symbolet på FreeBSD

Aaron
Kaplan

    	    aaron@lo-res.org

2002
2003
The FreeBSD Documentation Project
$FreeBSD$

Dette dokument vil forsøge at hjælpe dig med at komme i gang med det nye euro symbol på det nye keyboard du var nødt til at købe i starten af 2002 på grund af skiftet til den fælles valuta. Vi vil først fokusere på de mere vigtige dele, som det at være i stand til at vise symbolet korrekt på konsollen. Senere sektioner vil handle om konfiguration af specifikke programmer som for eksempel X11.

Megen hjælpende input kom fra Oliver Fromme, Tom Rhodes og utallige andre. Tak! uden jer ville denne artikel ikke have været mulig!

&trans.da.jespersen;

## Euroen i en nøddeskal

Hvis du allerede føler dig komfortabel med lokalisering som det er beskrevet i FreeBSD Håndbogen, er du måske kun interesseret i de følgende fakta som lader dig komme hurtigt i gang:

ISO8859-15

  Dette er en lettere modificering af det almindeligt brugte ISO8859-1 karatersæt. Det inkluderer eurosymbolet. Det bruges til `LANG`, `LC_CTYPE` miljø variabler.

`iso15-8x16.fnt`

  &man.vidcontrol.1; fonten til konsollen

`/usr/share/syscons/keymaps/*.iso.kbd`

  Passende tegnsæt afhængigt af dit sprog. Sæt din `keymap` indtastning i `rc.conf` til en af disse.

`LC_CTYPE`

  Bruges til at specificere den korrekte karakter type på din lokalitet.

`XkbLayout "lang(euro)"`

  XFree86 konfigurations mulighed.

`/usr/X11R6/lib/X11/fonts/*/fonts.alias`

  Vær sikker på at tilpasse dine X11 fonte til `-*-..-*-iso8859-15`

## En generel bemærkning

I de følgende sektioner vil vi ofte referere til ISO8859-15. Dette er standard notationen startende med FreeBSD 4.5. I ældre versioner, var standard notationen enten ISO_8859-15 eller DIS_8859-15.

Hvis du bruger en ældre version af FreeBSD, skal du være sikker på at kigge på `/usr/share/locale/` for at finde ud af hvilken navnekonvention der bruges.

## Konsollen

### Opsætning af din konsol font

Afhængigt af din konsols opløsning og størrelse kan du få brug for en af de følgende linier i `rc.conf`:

    font8x16="iso15-8x16.fnt" # from /usr/share/syscons/fonts/*
    font8x14="iso15-8x14.fnt"
    font8x8="iso15-8x8.fnt"

Dette vil vælge ISO8859-15 også kendt som Latin-9 fonten. ISO8859-15 er en variation af ISO8859-1. Du kan se forskellen på de to ved at kigge på Euro symbolet: dets decimale værdi er 164. I ISO8859-1 vil du bemærke en cirkel med fire små streger i hjørnerne. Dette kaldes ofte "universal currency symbol". I ISO8859-15, istedet for den lille cirkel, vil du have Euro Symbolet. Ellers er fontene mere eller mindre identiske.

I skrivende stund virker det som om den eneste brugbare font er `iso15-8x16.fnt`. De andre ser ud til kun at vise ISO8859-1 selvom deres navne tyder på andet.

Ved at specificere denne font vil konsol programmer se forvrængede ud. Dette er på grund af det faktum at de antager at du bruger en anden font/karaktersæt så som ANSI 850. Et bemærkelsesværdigt eksempel er /stand/sysinstall. Det meste af tiden burde det dog ikke være den store bekymring.

Som det næste skridt burde du enten reboote dit system for at lade ændringerne tage effekt eller (manuelt) tage de skridt der ville være blevet taget ved systemets start:

    &prompt.user; vidcontrol -f iso15-8x16.fnt

For at checke om fonten er blevet valgt kan du eksekvere det følgende korte `awk` script:

    #!/usr/bin/awk -f
    BEGIN {
            for(i=160;i<180;i++)
                    printf"%3d %c\n",i,i
    }

Resultatet skulle afsløre Euro tegnet ved position 164.

### Opsætning af dit tastatur til Euroen

De fleste tegnsæt burde allerede være opsat korrekt. f.eks.: Hvis du har et tysk tastatur og dine Umlaut taster virker, kan du sagtens skippe denne sektion eftersom det tegnsæt allerede har opsat hvilkensomhelst tastekombination der er nødvendig (f.eks.: Alt Gre) til decimal værdi 164. Hvis man løber ind i problemer, er den bedste måde at checke på, ved at kigge på `/usr/share/syscons/keymaps/*.kbd`. Formatet af tegnsættene er beskrevet i &man.keyboard.4;. &man.kbdcontrol.1; kan bruges til at loade et speciallavet tegnsæt.

Når det korrekte tegnsæt er valgt skal det tilføljes til `/etc/rc.conf` med linien:

    keymap="german.iso" # eller et andet tegnsæt

Som anført ovenfor er dette skridt nok allerede taget af dig ved installationen (med sysinstall). Hvis ikke, skal du enten reboote eller loade det nye tegnsæt via &man.kbdcontrol.1;.

For at verificere tegnsættet, skift til en ny konsol og ved login prompten, istedet for at logge ind, prøv at at taste Euro tegnet. Hvis det ikke virker, kan du enten sende en bug report via &man.send-pr.1; eller vær sikker på at du faktisk valgte det rette tegnsæt.

På dette stadie vil Euro tasten ikke virke i bash eller tcsh.

### Fix miljø variablerne

Shellsne (bash, tcsh) falder tilbage til &man.readline.3; biblioteket som igen respekterer `LC_CTYPE` miljø variablen. `LC_CTYPE` skal være sat før din shell kører helt. Helddigvis er det nok at tilføje linien:

    export LC_CTYPE=de_DE.ISO8859-15

til din `.bash_profile` (bash), eller:

    setenv LC_CTYPE de_DE.ISO8859-15

til din `.login` (tcsh) fil. de_DE skal selvfølgelig erstattes med dit sprog. Det næste du skal gøre er at, logge ud, logge ind igen, og verificerer at din Euro tast virker. Nu burde de fleste af konsol programmerne svare på Euro tasten. Ekstra konfigurations skridt for specielle programmer som pine er dog måske stadigt nødvendige.

Et alternativ til at modificere `.login` og `.bash_profile` er at sætte miljø variablerne gennem &man.login.conf.5; mekanismen. Denne indgangsvinkel har den fordel af at sætte visse brugeres login klasser (f.eks. Franske brugere, Italienske brugere, osv) på et sted.

## Modificering af X11

Modificer `/etc/XF86Config` på den følgende måde:

    Option "XkbLayout"  "de(euro)"

Erstat de med dit eget sprog. Nu burde tastaturet være korrekt opsat. Som i konsol sektionen, skal den korrekte font være valgt. For KDE, gå til KDE control center -> Personalization -> Country & Language -> Charset og skift det til `ISO8859-15`. Lignende skridt tages for kmail og andre programmer.

En anden god ide er at modificere din `fonts.alias` fil. Navnlig `fixed` font skulle være skiftet til det korrekte tegnsæt: Forfatterens `/usr/X11R6/lib/X11/fonts/misc/fonts.alias` ser sådan ud:

    ! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $
    fixed   -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
    variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
    (...)

Som i konsol sektionen, skal specielle programmer stadig have ISO8859-1 fontene konfigureret i deres respektive xrdb databaser. Et bemærkelsesværdigt eksempel er xterm. Som en generel tommefingerregel er det nok at ændre den tilsvarende konfigurations fil i `/usr/X11R6/lib/X11/app-defaults` og tilføje den korrekte font. Lad os demonstrere dette med xterm.

    &prompt.root; cd /usr/X11R6/lib/X11/app-defaults/
    &prompt.root; vi XTerm

Tilføj den følgende linie til begyndelsen af filen:

    *font:     -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15

Endelig, genstart X og check, at fonte kan vises ved, at køre det ovenstående awk script. Alle større programmer bør respektere tegnsættet og font indstillingen.

## Åbne problemer

Forfatteren vil selvfølgelig gerne have feedback. Lad mig meget gerne høre om du har et fix for et af disse åbne problemer:

- Beskriv en alternativ måde at opsætte XFree86: `x11/xkeycaps`

- Indstillinger i GNOME

- Indstillinger i XFCE

- Indstillinger for (X)Emacs

- Beskrivelse af UTF-8

- Beskriv libiconv som en effektiv måde at konvertere mellem ISO8859-15 og UTF-{8,16} indefra programmer