[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ B ] [ successivo ]
Configurare il supporto all'euro in un sistema implica tre passi, che dovrebbero essere abbastanza semplici:
comunicare al sistema che si vuole usare l'euro (cioè la localizzazione).
disporre di un font che rappresenti l'euro.
fornire un meccanismo affinché la tastiera restituisca il carattere euro.
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).
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
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
.
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
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.
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.
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
.
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 ....
Per fare in modo che l'ambiente grafico rappresenti l'euro sono necessari:
font che includano il simbolo dell'euro
un'adeguata configurazione della tastiera
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
).
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:
cambiando le estensioni di xkb incluse nel server X
caricando un nuovo modmap (utilizzando xmodmap
)
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.
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
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).
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.
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.mailto:jfs@computer.org