[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ B ] [ successivo ]


Debian Euro HOWTO (Obsolete Documentation)
Capitolo 3 - Configurare il supporto all'euro


3.1 Considerazioni iniziali

Configurare il supporto all'euro in un sistema implica tre passi, che dovrebbero essere abbastanza semplici:

Nella zona dell'euro, il meccanismo raccomandato per generare il simbolo dell'euro sulle moderne tastiere la combinazione è AltGr+e per gli euro e AltGr+c per i centesimi. Nota: Gli utenti di portatili potrebbero non avere il tasto AltGr.

Questo documento affronta la configurazione dell'euro in Debian considerando, in primo luogo, i problemi di localizzazione e il corretto modo di configurarla. Inoltre approfondirà come configurare la console (terminale virtuale) disponibile in tutti i sistemi Debian GNU/Linux. Si può saltare questa sezione e andare direttamente alla prossima, che spiega la corretta configurazione dell'ambiente grafico (X window) per il supporto all'euro.

Anche se ciò potrebbe, talvolta, confondere il lettore, le differenti problematiche di configurazione sono spiegate sia per la vecchia versione di Debian (come, ad esempio, la Debian 2.2 denominata potato) che per quella più recente (Debian 3.0, denominata woody).


3.2 La questione della localizzazione

I programmi usano i settaggi della localizzazione allo scopo di conoscere sia la lingua che il charset usato. Per il momento non c'è differenza, a meno che non si stia usando UTF-8, sia per quanto riguarda locale che come rappresentazione. I pacchetti locales usano la lingua per entrambi i casi, per esempio:

     es_ES.ISO-8859-1
     en_US.utf
     ....

Le definizioni di locale sono conservate, in Debian, in /etc/locale.alias per la libreria libc e in /usr/X11R6/lib/X11/locale/locale.alias. Allo scopo di indicare quale charset si sta usando, è necessario impostare la variabile d'ambiente LANG. Uno dei modi per farlo è modificare /etc/environment o /etc/profile.

Tuttavia, c'è un problema dovuto alla differente rappresentazione dei pacchetti locales XFree86 (Xlib) e glibc (i primi utilizzano ISO8859 e il secondo ISO-8859, si noti il trattino). Così, impostando il locale a XX_XX.ISO-8859-15 in /etc/environment si è destinati a causare problemi nell'ambiente X (potrebbe non essere riconosciuto o provocare errori nelle applicazioni).

A partire da Debian 3.0, l'alias XX_XX@euro è fornito da /usr/X11R6/lib/X11/locale/locale.alias e da /etc/locale.alias, gli utenti che desiderano configurare il loro ambiente locale dovrebbero usare questa abbreviazione piuttosto della precedente XX_XX@ISO-...

Eseguendo locale è possibile vedere quale sia l'ambiente corrente e la propria mappa dei caratteri usando locale charmap. Per effettuare cambiamenti nel propri locale si deve modificare /etc/environment o /etc/profile e aggiungere (l'esempio è per lo spagnolo, si modifichi all'occorrenza):

     export LANG=es_ES@euro
     export LC_ALL=es_ES@euro

Nota: si deve usare la parte @euro, altrimenti, usando solamente es_ES, la definizione locale sarà quella del charset ISO-8859-1.

Da notare: le definizioni di LANG e LC_ALL dovrebbero essere simili (o meglio ancora le stesse); in caso contrario le librerie potrebbero avvertire la presenza di un locale incompatibile. Verranno visualizzati dei warning nel caso, per esempio, di settaggi di questo tipo:

     export LANG=spanish
     export LC_ALL=es_ES@euro

poiché 'spanish' ha come alias es_ES.ISO-8859-1 e es_ES@euro invece ha come alias es_ES.ISO-8859-15. Occorre fare attenzione a questo problema in quanto alcuni programmi non controllano il locale.aliases, ma usano un valore predefinito. Si raccomanda di non cambiare locale.aliases per ottenere, ad esempio, 'spanish' come alias di es_ES.ISO-8859-15, dal momento che i programmi che utilizzano questo metodo non funzionerebbero correttamente. Se il vostro programma preferito non funziona con 'XX_XX@euro' si consiglia di riportare il bug.

È possibile verificare tutte le variabili locali eseguendo locale -a.

Per i programmi che danno troppi warning soprattutto a causa di problemi di localizzazione/rappresentazione con messaggi simili a

     Gdk-WARNING **: locale not supported by C library

o

     Warning: locale not supported by C library, locale unchanged

si utilizzi LANG=XX_XX.ISO-8859-1 program& per eseguirli ed evitare gli errori/warning. In ogni caso, è opportuno controllare che il locale sia stato impostato in maniera corretta: nel caso che i settaggi siano effettivamente corretti, si apra un bug relativo al pacchetto in questione.

Perché l'ambiente X sia funzionante, si dovrebbe trovare in /usr/X11R6/lib/X11/locale una definizione di iso8859-15. Se locales non è stato configurato correttamente, X potrebbe dare un warning a questo riguardo (prima di eseguire ogni programma). È consigliabile controlllare il file ~/.xsession-errors poiché questo potrebbe accadere nei moderni ambienti desktop senza che l'utente lo noti (in questo file e non sullo schermo, vengono rediretti tutti gli errori). Un warning di esempio potrebbe essere:

     Warning: locale not supported by Xlib, locale set to C

3.2.1 La localizzazione in Debian 3.0

Perché il locales funzioni in 3.0 l'amministratore deve configurare correttamente la localizzazione del sistema. Il modo più semplice per fare queste modifiche è eseguire dpkg-reconfigure -plow locales e scegliere il proprio locale nella versione che presenti in aggiunta @euro.

È possibile anche modificare /etc/locale.gen direttamente, inserendovi la definizione dell' euro locales ed eseguendo locale-gen. Se locales è già definito ma preceduto da un simbolo '#', si devono decommentare (rimuovendo quel simbolo) le righe necessarie per il locale degli utenti, principalmente le righe XX_XX.ISO-8859-15 e XX_XX@euro e si deve eseguire locale-gen. Ciò dovrebbe creare /usr/lib/locale/XX_XX@euro.


3.2.2 La localizzazione in Debian 2.2

Se utilizzate Debian 2.2 non è possibile editare /etc/locale.gen per il semplice fatto che non esiste. In ogni caso non sarà necessario farlo perché in Debian tutti i pacchetti locales sono installati di default. Ad ogni modo locales in Debian 2.2 (versione 2.1.3-13) non fornisce la definizione del carattere euro. Se non è possibile fare l'upgrade al locales di woody (3.0) (questo upgrade con molte probabilità cambierà la versione delle libc), sarà necessario effettuare i cambiamenti manualmente.

In Debian 2.2 gli utenti devono modificare alcuni file (queste modifiche non sono necessarie nella 3.0 in quanto sono già state apportate). Supponendo un ambiente in spagnolo (locale es_ES) i cambiamenti per /etc/locale.alias saranno:

     es_ES@euro	es_ES.ISO-8859-15

e per /usr/X11R6/lib/X11/locale/locale.alias saranno:

     es_ES@euro	es_ES.ISO8859-15

Dopo aver apportato le modifiche sarà necessario generare i locales, lanciando localedef manualmente. I charmapfiles (file della mappa caratteri) risiedono in /usr/share/i18n/charmaps, gli inputfiles in /usr/share/i18n/locales. Per creare ad esempio una localizzazione en_US.ISO-8859-15 dovrete fare così:

     $ localedef --force -i /usr/share/i18n/locales/en_US \
                -f /usr/share/i18n/charmaps/ISO-8859-15 \
                 en_US.ISO-8859-15

È possibile anche usarne una versione semplificata in quanto localedef è in grado di trovare i charmaps e i locales da solo:

     $ localedef --force -v -i en_US -f ISO-8859-15 en_US.ISO-8859-15

La directory creata si chiamerà /usr/share/locale/en_US.iso885915. È necessario anche creare la directory en_US.ISO-8859-15, per farlo occorre creare un symlink (link simbolico) a quella realizzata precedentemente.

     $ cd /usr/share/locale
     $ ln -s en_US.ISO-8859-15 en_US.iso885915

3.3 Configurare la console

Configurare la console per ottenere il simbolo dell'euro è molto semplice. I seguenti comandi funzionano su un sistema Debian GNU/Linux:

     $ loadkeys euro.inc
     $ consolechars -f lat0-16.psf

Ad ogni modo, queste modifiche saranno perse dopo il reboot. Per renderle permanenti vanno apportate alcune modifiche ai file di configurazione dei pacchetti Debian.


3.3.1 Configurare la tastiera in console

Il procedimento per cambiare la mappatura dei tasti richiede modifiche in /etc/console-tools/default.map.gz oppure in /etc/kbd/default.map.gz. Solitamente questa keymap (mappa dei tasti) viene modificata utilizzando kbdconfig (nel caso non si stiano utilizzando i console-tools si consiglia di leggere più avanti i diversi schemi per la configurazione della tastiera in console supportate da Debian); dal momento che quest'ultimo viene caricato al boot, prima che i filesystem di rete vengano montati, non è possibile modificarlo direttamente (aggiungendo per esempio include euro), in quanto potrebbe non essere in grado di caricare le estensioni (situate in /usr/share/keymaps). Per avere quindi il supporto all'euro, se la keymap corrente non ce l'ha, sarà necessario modificarne una già esistente. Ecco un esempio di come modificare la keymap spagnola aggiungendo il supporto al carattere dell'euro (kbdconfig porrà alcune domande, di seguito verranno riportate solo le risposte):

     $ cd /usr/share/keymaps/i386/qwerty
     $ cp es.kmap.gz es-euro.kmap.gz
     $ gzip -d es-euro.kmap.gz
     $ echo "include \"euro\"" >>es-euro.kmap
     $ echo "altgr keycode  46 = cent" >>es-euro.kmap
     $ gzip es-euro.kmap
     $ kbdconfig
     -----RISPOSTE:
     n
     i386
     qwerty
     es-euro
     y
     y
     $ zgrep "keycode  18" /etc/console-tools/default.kmap.gz
     keycode  18 = +e                +E                currency         Control_e
         Control_e        Meta_e           Meta_E           Meta_Control_e

N.B.: Sarebbe opportuno aprire una richiesta di bugfix per console-data in modo da includere questo comportamento come default in tutte le language maps della zona euro.


3.3.2 Come viene caricata la tastiera in Debian

Il pacchetto console-common in Debian 3.0 installa /etc/init.d/keymap.sh che esegue loadkeys di console-tools (utilizzando /etc/console-tools/default.map.gz) oppure di kbd (utilizzando /etc/console/boottime.kmap.gz). Questo file è stato generato utilizzando /usr/sbin/install-keymap.

All'avvio del sistema viene eseguito /etc/rcS.d/S05keymap.sh (per kbd) o /etc/rcS.d/S05keymap-lct.sh (per console-tools) che installa la keymap appropriata. Entrambi gli script permetteranno di chiamare con l'opzione 'start' /etc/init.d/keymap.sh o /etc/init.d/S05keymap-lct.sh.


3.3.3 Configurazione dei font per la console

Un modo semplice per configurare una console in un sistema Debian è installare fonty, fornito sin dalla Debian 2.2, al quale verrà indicato di usare i font iso15 (fonty attualmente non supporta ancora iso-8859-16). Questi font includeranno il carattere euro ed il pacchetto configurerà in modo adeguato i file di configurazione necessari. Ci sarà bisogno, in ogni caso, di configurare la keymap (mappa dei tasti), come descritto precedentemente.

Nel caso in cui i font del pacchetto fonty non fossero richiesti (o graditi) dall'utente, è possibile configurare personalmente i font della console. Affinché i font vengano caricati automaticamente quando il sistema è avviato, devono essere cambiati alcuni file di configurazione (da superuser).

Se il sistema sta usando il pacchetto console-tools, sarà presente quindi il file /etc/console-tools/config. Per far caricare il font appropriato ci sarà bisogno di includere le linee:

     SCREEN_FONT=lat0-16
     APP_CHARSET_MAP=iso15

Se si sta usando il pacchetto kbd si dovrà modificare il file /etc/kbd/config aggiungendo, per esempio:

     CONSOLE_FONT=lat0-16.psfu.gz
     # CONSOLE_MAP=iso15
     CONSOLE_MAP=8859-15_to_uni

Ovviamente, il font lat0-16 non è il solo disponibile, dal momento che fin dalla versione 11.1 del 29.08.1999 del pacchetto console-data è presente un discreto numero di font latin9 (detti anche latin0) disponibili in /usr/share/consolefonts. Alcuni preferiscono il font lat0-sun16, ma questa è solo una questione di gusti.

Nel caso si stia utilizzando il pacchetto svgatextmode (reso obsoleto dal framebuffer) si può configurare il font della console anche modificando il file /etc/TextConfig.

NOTA: se si utilizza il dispositivo framebuffer per il testo della console, si leggano le note riguardo la configurazione dei console-tools nel file /etc/console-tools/config. Sostanzialmente, la definizione globale funzionerà solo sul primo terminale virtuale, per cui sarà necessario indicare esplicitamente il font per gli altri terminali, in questo modo:

     SCREEN_FONT_vc1=lat0-16
     SCREEN_FONT_vc2=lat0-16
     SCREEN_FONT_vc3=lat0-16
     ....

3.4 Configurazione dell'ambiente X

Per fare in modo che l'ambiente grafico rappresenti l'euro sono necessari:

XFree86 include font pronti per l'euro fin dalla versione 3.3.3.1, come, per esempio, il font 7x13euro.bdf o 7x13euroB.bdf. Comunque, l'utente potrebbe non averli installati poiché i font ISO-8859-15 non fanno parte della installazione predefinita (quella base) di XFree86.

Inoltre, Debian 3.0 fornisce un'adeguata configurazione della tastiera per la maggior parte delle lingue, anche se per alcune lingue non è fornito un pieno supporto per l'euro a causa del keycode non correttamente definito. Se la configurazione per la lingua non ha un corretto comportamento in X, si consiglia di segnalare un wishlist bug a riguardo del pacchetto xlibs (errori noti a questo riguardo sono #117185, #127609 e #139826).


3.4.1 Configurazione della tastiera

La configurazione della tastiera qui è più facile che in console. Nel caso vengano usate le estensioni Xkb nel server X (predefinita sin dalla 3.3.5) si possono modificare usando l'opzione XkbLayout nella sezione InputDevice del file di configurazione di X. Il file si trova in /etc/X11/XF86Config per XFree 3.3.6 e in /etc/X11/XF86Config-4 per XFree86 4.1.

Ci sono diversi modi per aggiungere il supporto per il simbolo dell'euro:

Una volta modificato il modmap con xmodmap e appurato il suo funzionamento, occorre ricordare che si tratta di una soluzione temporanea, in quanto dopo aver fatto ripartire il server i cambiamenti andranno persi. Per poter caricare queste modifiche all'avvio occorre aggiungere la seguente definizione con Xmodmap:

     $ xmodmap -pke > ~/.xmodmap

NOTA: Xmodmap è obsoleto, si consiglia di usare le estensioni di Xkb. Versioni future di XFree86 potrebbero anche non supportare xmodmap definiti dall'utente.

NOTA: le impostazioni di locales devono essere effettuate prima dell'avvio della sessione di X, perciò occorre assicurarsi che la vostra configurazione sia caricata correttamente prima di eseguire startx (nel caso si stia usando un'applicazione XDM come gdm è possibile scegliere direttamente le impostazioni).

NOTA: il simbolo usato per l'Euro cambia da XFree 3.3.6 (server X standard in Debian 2.2) ad XFree 4.1 (server X standard in Debian 3.0). In XFree 3.3.6 occorre usare "currency" anzichè "EuroSign" per definire il simbolo. Ciò è stato cambiato in XFree 4.1 che ha un supporto integrato per il carattere del simbolo dell'Euro. Se si usa currency in XFree 4.1, lo stesso simbolo potrebbe non rappresentare correttamente il carattere dell'Euro a causa del supporto UTF.


3.4.1.1 Xfree in Debian 3.0

Nel caso si usasse la Debian woody (3.0), che include XFree86 4.1, occorre solo configurarla correttamente con una lingua della zona europea modificando il file di configurazione /etc/X11/XF86Config-4: Inserendo il simbolo dell'euro dovrebbe funzionare correttamente (altrimenti si consiglia di segnalare un bug).

È possibile inoltre fare delle modifiche per fornire il supporto all'euro se il vostro sistema non funziona correttamente. Si possono cambiare le estensioni di Xkb (nel file /etc/X11/xkb/symbols) per includere il supporto dell'Euro con qualcosa simile a:

       key <AD03> {        [                 e,    E               ],
                           [        EuroSign,      cent        ]       };

Questo, comunque, dovrebbe già essere fornito in tutti i file delle lingue della zona Europea (es, it...)

Oppure si possono cambiare le impostazioni di Xmodmap con:

     $ echo "keycode 0x1A = e  E EuroSign cent" | xmodmap -

Se non si utilizzano le estensioni di Xkb sarà necessario cambiare le impostazioni disponibili nella directory /usr/share/xmodmap/ (il nome del file è xmodmap.XXX dove XXX corrisponde alla lingua che si vuole impostare).

Poiché le estensioni di Xkb sono predefinite, i file di Xmodmap forniti da Xfree86 4.1 potrebbero non essere aggiornati correttamente. È necessario controllare che la linea relativa al keycode 26 (il carattere E) sia simile alla seguente:

     keycode  26 = e E EuroSign cent

3.4.1.2 Xfree in Debian 2.2

Se si stanno usando versioni di Debian come la Debian potato (2.2) o precedenti, la definizione della lingua potrebbe non essere correttamente definita. Se non è possibile eseguire un upgrade ad una nuova versione di XFree86, si può usare uno dei precedenti approcci per aggiungere il supporto per la definizione dell'euro:

Si possono cambiare le estensioni Xkb (/etc/X11/xkb/symbols) per includere il supporto per la valuta con qualcosa di simile:

       key <AD03> {        [                 e,    E               ],
                           [        currency,      cent        ]       };

Oppure si può cambiare la definizione di Xmodmap con:

     $ echo "keycode 0x1A = e  E currency cent" | xmodmap -

Si possono anche usare le definizioni disponibili nella directory /usr/share/xmodmap/ (si utilizzi il file appropriato per la propria lingua) se non si stanno usando le estensioni Xkb. Verificare che la linea relativa a keycode 26 (il carattere E) sia simile alla seguente:

     keycode  26 = e E currency cent

Le definizioni di Xmodmap in Debian 2.2 contengono il carattere dell'euro (il suo simbolo), quindi è possibile usare il comando xmodmap /usr/share/xmodmap/xmodmap.XX (dove XX è la lingua che si desidera usare).


3.4.2 Configurazione dei font

Per rappresentare il simbolo dell'euro in X è necessario avere font adatti a rappresentare la codifica ISO-8859-15 (se non si usa UTF-8). Si può vedere quali caratteri possono essere usati a questo scopo dando il comando:

     $ xlsfonts | grep 'iso8859-15$'

In un'installazione Debian standard, il solo font che fornisce questa codifica è il carattere fixed (misc), che può essere appropriato per xterm, ma che potrebbe non esser visualizzato correttamente in molte altre applicazioni. Comunque, Debian 3.0 (woody) fornisce pacchetti che includono altri font ISO-8859-15. Questi pacchetti sono xfonts-base-transcoded, xfonts-75dpi-transcoded, xfonts-100dpi-transcoded, installabili tramite il comando apt-get install 'xfonts.*transcoded'.

Qualcuno potrebbe non voler installare questi pacchetti in quanto occupano spazio su disco, circa 15Mb. È disponibile una versione modificata da 3Mb in cui sono stati rimossi tutti i font non appartenenti al gruppo 15. È possibile trovare questa versione presso http://sites.inka.de/W1752/reduced-xfonts/. Si noti che questa non fa parte della distribuzione standard di Debian.


3.4.2.1 Potato, XFree86 3.X

Si noti che se si sta usando Debian 2.2 non si potranno installare questi pacchetti senza effettuare un aggiornamento del sistema poiché dipendono da XFree86 4.

I seguenti pacchetti forniscono anche font ISO-8859-15: xfonts-jmk, xfonts-arphic-bsmi00lp, xfonts-arphic-gbsn00lp, xfonts-arphic-bkai00mp e xfonts-arphic-gkai00mp.

Il pacchetto xfonts-cyrillic fornisce anche (in XFree86 3.3.6) alcuni caratteri ISO-8859-15.

NOTA: Ci si assicuri di non avere una definizione per un altro font nel file .Xdefaults, per esempio con

     *VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-16

Se non è possibile trovare alcun font adatto, è possibile usare i caratteri ISO106446-1, che sono un insieme più grande dei caratteri ISO8859-X e che sono forniti da Debian. Markus Kuhn mette a disposizione uno script chiamato ucs2any.pl nel quale si può leggere:

     Questo script in Perl permette di generare da un font BDF codificato
     ISO10646-1 altri font BDF in qualunque altra codifica. In
     questo modo si può derivare, da un singolo carattere ISO10646-1,
     un'intera serie di caratteri a 8-bit in tutte le codifiche
     ISO 8859 e altre ancora.

Sono disponibili font Unicode per X-windows presso http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html. In ucs-fonts.tar.gz e ucs-fonts-15dpi100dpi.tar.gz sono presenti Times, Helvetica, Lucida, Utopia, New Century, Schoolbook, Courier..., font questi che possono essere usati. Si può anche usare il programma yudit per cambiare questi font.

Sono disponibili altri font utili XFree 3.3.6 ISO-8859-15 su http://linux.ee/~ville/vh-fonts-0.99.2.tar.gz. Anche se forniti per la maggior parte per utenti Estoni, sono caratteri corretti e includono versioni modificate di helvetica, times, courier ed un font per i terminali.


[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ B ] [ successivo ]


Debian Euro HOWTO (Obsolete Documentation)

version 1.2, 4 giugno 2003.

Javier Fernández-Sanguino Peña mailto:jfs@computer.org
Per la traduzione si veda l'Appendice B