[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ suivant ]
Configurer le support de l'euro sur un système implique deux étapes assez simples :
Dites au système que vous voulez utiliser l'euro (localisation) ;
Ayez une police disponible qui représente l'euro ;
Fournissez un mécanisme pour le clavier pour envoyer le caractère euro.
Les mécanismes
recommandés
dans la zone euro pour la génération du symbole euro sur
des claviers modernes sont la combinaison AltGr+e pour l'euro et AltGr+c pour
le centime. Note : Les utilisateurs d'ordinateurs portables n'ont peut
être pas AltGr.
Ce document abordera la configuration de l'euro sous Debian, en commençant, par les problèmes de localisation et comment la localisation peut être correctement effectuée sous Debian. Ensuite, on verra comment configurer les consoles (terminaux virtuels) disponibles sur tous les systèmes Debian GNU/Linux. Beaucoup d'utilisateurs peuvent passer cette section et aller directement à la prochaine, qui parle de la configuration adéquate de l'environnement graphique (X Window) pour le support de l'euro.
Même si parfois cela peut induire en erreur le lecteur, les différentes solutions de configuration sont valables pour l'ancienne version de Debian (à ce jour, debian 2.2 nom de code « potato ») et la dernière version (Debian 3.0 nom de code « woody »). Les versions futures de ce document devraient séparer les informations entre les différentes versions de Debian (quand cela deviendra vraiment le désordre :)
Les programmes utilisent l'environnement de localisation afin de connaître et la langue et le jeu de caractères utilisés. Actuellement il n'y aucune séparation, entre la locale et la représentation sauf si vous utilisez UTF-8. Les locales d'environnement utilisent les deux langues par exemple :
es_ES.ISO-8859-1 en_US.utf ....
Pour Debian, les définitions des locales sont stockées dans
/etc/locale.alias
et
/usr/X11R6/lib/X11/locale/locale.alias
pour la bibliothèque libc.
Pour indiquer quel jeu de caractères vous utilisez, vous devez définir la
variable d'environnement LANG. Une des solutions pour faire ce changement est
de changer /etc/environment
ou /etc/profile
.
Néanmoins, il y a un problème à cause de la représentation différente des
locales sous XFree86 (Xlib) et glibc (l'une utilise ISO8859 et l'autre
ISO-8859, notez le tiret). Ainsi, fixer la locale en XX_XX.ISO-8859-15 dans
/etc/environment
causera des problèmes en environnement X (la
locale pourrait ne pas être reconnue ou créer des erreurs dans les
applications).
Depuis la Debian 3.0, les alias XX_XX@euro sont donnés dans
/usr/X11R6/lib/X11/locale/locale.alias
et dans
/etc/locale.alias
; les utilisateurs souhaitant définir leur
locale d'environnement devraient utiliser cette abbréviation au lieu des
XX_XX@ISO-... précédents.
Vous pouvez voir votre environnement courant en lançant locale, et
votre jeu de caractères actuel en utilisant locale charmap. Afin
de changer votre locale modifiez /etc/environment
ou
/etc/profile
et ajoutez (l'exemple est pour l'espagnol, adaptez si
nécessaire) :
export LANG=es_ES@euro export LC_ALL=es_ES@euro
Note : Vous devez utiliser la partie @euro. Sinon, si vous utilisez seulement es_ES la définition de la locale sera le jeu de caractères ISO-8859-1.
Veuillez, notez que les définitions de LANG et de LC_ALL doivent être similaires (ou alors mieux la même). Sinon les bibliothèques pourraient avertir de l'incompatibilité des locales. Vous verrez des avertissements si, par exemple, vous définissez :
export LANG=spanish export LC_ALL=es_ES@euro
Puisque « spanish » est un alias de es_ES.ISO-8859-1 et es_ES@euro
est un alias de es_ES.ISO-8859-15. Soyez attentif avec cette action puisque
certains programmes ne vérifient pas le fichier locale.aliases
et
utilisent une valeur spécifique. Ce n'est pas recommandé de changer
locale.alias
pour avoir, par exemple, « spanish » en
alias de es_ES.ISO-8859-15 puisque le programmes qui utilisent cette méthode ne
fonctionneront pas correctement. Si votre logiciel favori ne fonctionne pas
avec 'XX_XX@euro' veuillez envoyez un rapport de bogue.
Vous pouvez vérifier quelles sont toutes les locales disponibles en éxécutant locale -a
Pour les programmes qui donnent trop d'avertissements concernant le résultat de la localisation/représentation est semblable à :
Gdk-WARNING **: locale not supported by C library
ou
Warning: locale not supported by C library, locale unchanged
utilisez LANG=XX_XX.ISO-8859-1 programmes pour les exécuter et supprimer les erreurs/avertissements. En tout cas, vérifiez que vous avez correctement défini votre locale et, dans l'affirmative, remplissez un rapport de bogue pour le paquet concerné.
Pour que votre environnement X fonctionne, il doit y avoir une définition de
iso8859-15 dans /usr/X11R6/lib/X11/locale
. Si vous n'avez pas
correctement configuré les locales, X devrait vous avertir (avant de démarer un
programme). Veuilez votre fichier ~/.xsession-errors
parce que
cela devrait arriver sans que l'utilisateur soit averti dans les environnements
de bureaux récents (toutes les erreurs sont redirigées et n'apparaissent pas à
l'écran). Un extrait de l'avertissement serait :
Warning: locale not supported by Xlib, locale set to C
Pour que vos locales fonctionnent sous 3.0, l'administrateur doit configurer correctement la localisation du système. La façon la plus simple de faire ces modifications est d'appeler dpkg-reconfigure -plow locales, et de choisir votre locale dans la version avec un @euro ajouté.
Vous pouvez aussi modifier directement /etc/locale.gen
, en
insérant les définitions des locales euro et puis en lançant
locale-gen. Si vos locales sont déjà définies mais avec un signe
#, décommentez (effacez ce signe) les lignes nécessaires pour la locale de
l'utilisateur. Principalement les lignes XX_XX.ISO-8859-15 et les lignes
XX_XX@euro et lancez locale-gen. Cela devrait créer
/usr/lib/locale/XX_XX@euro
.
Vous ne pouvez pas modifier /etc/locale.gen
si vous utilisez
Debian 2.2 parce qu'il n'existe pas. Mais, dans certains cas, vous n'avez pas
besoin de le faire puisque toutes les locales sont incluses par défaut sous
Debian. Pourtant, Debian 2.2 locales
(version 2.1.3-13) ne
contient pas la définition de l'euro. Si une mise à niveau des locales de
Woody (3.0) n'est pas possible (cette mise à jour va probablement changer la
version de libc), vous devez faire les changements manuellement.
Sous Debian 2.2, les utilisateurs ont besoin de changer quelques fichiers (ces
changements ne sont pas nécessaires sous 3.0 puisqu'ils ont déjà été fait). En
supposant un environnement espagnol (locale es_ES), le changement pour
/etc/locale.alias
est :
es_ES@euro es_ES.ISO-8859-15
et pour /usr/X11R6/lib/X11/locale/locale.alias
est :
es_ES@euro es_ES.ISO8859-15
Après avoir fait cela vous devez générer vos locales Vous pouvez le
faire en lançant manuellement localedef
. Les fichiers de jeu de
caractères sont dans /usr/share/i18n/charmaps
, les fichiers de
locales peuvent être trouvé dans /usr/share/i18n/locales
. Afin de
créer, par exemple, une locale en_US.ISO-8859-15, vous devrez faire cela :
$ localedef --force -i /usr/share/i18n/locales/en_US \ -f /usr/share/i18n/charmaps/ISO-8859-15 \ en_US.ISO-8859-15
Vous pouvez aussi utiliser une version simplifiée puisque
localedef
devrait être capable de trouver les jeux de caractères
et les locales lui-même :
$ localedef --force -v -i en_US -f ISO-8859-15 en_US.ISO-8859-15
Le répertoire créé est appelé /usr/share/locale/en_US.iso885915
.
Vous devez aussi créer le répertoire en_US.ISO-8859-15 faites-le en
créant un lien symbolique vers le précédent.
$ cd /usr/share/locale $ ln -s en_US.ISO-8859-15 en_US.iso885915
Configurer la console afin d'avoir le symoble euro est simple. Ce qui suit fonctionnera sur un système Debian GNU/Linux :
$ loadkeys euro.inc $ consolechars -f lat0-16.psf
Toutefois, ces changements sont perdus après un redémarrage. Afin qu'ils deviennent permanents, quelques changements doivent être faits aux fichiers de configurations des paquets Debian.
Changer la carte clavier implique de changer
/etc/console-tools/default.map.gz
ou
/etc/kbd/default.map.gz
. Habituellement, cette carte clavier est
changée en utilisant kbdconfig (si vous n'utilisez pas
console-tools regardez en dessous pour les différents systèmes clavier console
sous Debian) ; puisque elle est chargée avant que le système de fichier
réseau ne soit monté, vous ne pouvez pas le changer directement (par exemple en
ajoutant include euro ici), les extensions ne pouvant pas être
chargées (puisqu'elles sont localisées dans /usr/share/keymaps
).
Afin d'avoir le support de l'euro, si votre carte clavier ne l'a pas vous
devrez en modifier une déjà existante. Voici un exemple qui montre comment
changer la carte clavier espagnole pour supporter le caractère euro (kbdconfig
posera quelques questions, seules les réponses sont affichées
ci-dessous) :
$ 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 -----REPONSES: 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
FIXME : Un bogue devrait être ouvert contre console-data pour inclure ceci par défaut dans toutes les langues de la zone euro.
Le paquet console-common
sous Debian 3.0 installe
/etc/init.d/keymap.sh
qui lance loadkeys de
console-tools (en utilisant /etc/console-tools/default.map.gz
) ou
kbd (en utilisant /etc/console/boottime.kmap.gz
). Ce fichier a
été créé en utilisant /usr/sbin/install-keymap.
Quand un système démarre il lance /etc/rcS.d/S05keymap.sh
(pour
kbd) ou /etc/rcS.d/S05keymap-lct.sh
(pour console-tools) qui
installe la carte clavier adéquate. Les deux scripts feront soit
/etc/init.d/keymap.sh
soit
/etc/init.d/S05keymap-lct.sh
étant appelés avec l'option
« start ».
La façon la plus simple pour configurer une console sur un système Debian est
d'installer le paquet fonty
inclus depuis Debian 2.2 et dites lui
d'utiliser les polices iso15 (fonty actuellement ne supporte pas encore
iso-8859-16). Ces polices incluront le caractère euro et le paquet configurera
convenablement les fichiers de configuration requis. Vous aurez besoin,
néanmoins, de configurer la carte clavier, comme décrit ci-dessus.
Si vous ne voulez pas (ou n'aimez pas) le paquet fonty
, vous
pouvez configurer les polices de la console vous-même. Pour que les polices
soit chargées automatiquement quand le système est démarré, vous (en tant que
root) devez changer quelques fichiers de configuration.
Si le sytème utilise le paquet console-tools
, alors le fichier
/etc/console-tools/config
sera présent. Afin de charger la police
adéquate, vous aurez besoin d'inclure la ligne :
SCREEN_FONT=lat0-16 APP_CHARSET_MAP=iso15
Si vous utilisez le paquet kbd
vous aurez besoin de modifier le
ficher /etc/kbd/config
en ajoutant, par exemple :
CONSOLE_FONT=lat0-16.psfu.gz # CONSOLE_MAP=iso15 CONSOLE_MAP=8859-15_to_uni
Bien sûr, la police lat0-16 n'est pas la seule disponible, depuis
le paquet console-data version 1999.08.29-11.1, il y a un bon nombre de polices
latin9 (cf. latin0) disponibles dans /usr/share/consolefonts
.
D'autres personnes préfèrent la police lat0-sun16, c'est juste une
histoire de goût.
Si vous utilisez le paquet svgatextmode
(obsolète depuis
l'existence de framebuffer) vous pourriez configurer le police de la console
aussi en changeant le fichier /etc/TextConfig
.
NOTE : Si vous utilisez le périphérique framebuffer pour la console texte,
lisez la note qui concerne la configuration de console-tools dans le fichier
/etc/console-tools/config
. À la base, la définition globale ne
devrait fonctionner que pour le premier terminal virtuel, vous avez besoin de
déclarer explicitement la police pour les autres terminaux comme ceci :
SCREEN_FONT_vc1=lat0-16 SCREEN_FONT_vc2=lat0-16 SCREEN_FONT_vc3=lat0-16 ....
Pour que l'environnement graphique puisse aussi représenter l'euro vous avez besoin de :
Polices qui incluent le symbole euro ;
Une bonne configuration du clavier.
XFree86 inclut des polices prêtes pour l'euro depuis la version 3.3.3.1, comme, par exemple 7x13euro.bdf ou 7x13euroB.bdf. Toutefois, l'utilisateur ne devrait pas les avoir d'installées puisque les polices ISO-8859-15 ne font pas parti de l'installation par défaut d'XFree86.
Debian 3.0 fournit aussi des configurations clavier adéquates pour la plupart
de lagages. Cependant, certains langages ne contiennent pas un support de
l'euro complet à cause de keycode n'étant pas définis convenablement. Si votre
language ne se comporte pas correctement sous X, veuillez soumettre un rapport de bogue souhait
(Ndt :
« whishlist » en anglais) contre le paquet xlibs
(les
bogues connus relatifs à ce problème sont : #117185
, #127609
et #139826
)
La configuration du clavier est plus simple que pour la console. Si vous
utilisez les extensions Xkb dans le serveur X (par défaut depuis 3.3.5) vous
pouvez la changer en utilisant l'option XkbLayout dans la section
InputDevice du fichier de configuration de X. Ce fichier est
localisé sous /etc/X11/XF86Config
pour XFree86 3.3.6 et
/etc/X11/XF86Config-4
pour XFree86 4.1.
Il y a plusieurs façons d'ajouter la définition de l'euro :
En changeant les extensions xkb incluses dans le serveur X .
En chargeant un nouveau modmap (en utilisant /xmodmap/
).
Si vous changez le modmap avec /xmodmap/
et que ça fonctionne,
c'est une solution temporaire, car après avoir redémarré le serveur les
changements seront perdus. Pour avoir cette définition chargée au démarrage
vous devez ajouter la définition suivante dans votre Xmodmap
:
$ xmodmap -pke > ~/.xmodmap
NOTE : Xmodmap est obsolète, veuillez utiliser les extensions Xkb. Les prochaines versions de XFree86 pourraient même ne plus supporter les définitions des utilisateurs xmodmap.
NOTE : le paramètrage des locales doivent être fait avant que ne démarre Xsession, donc assurez-vous que votre configuration est chargée correctement avant d'exécuter startx (Si vous utilisez un gestionnaire de session comme gdm vous pouvez choisir ses paramètres).
NOTE : Le symbole utilisé pour le signe euro varie d'Xfree 3.3.6 (serveur standard X sous in Debian 2.2) à Xfree 4.1 (serveur standard X sous Debian 3.0). Sous Xfree 3.3.6 vous devrez utiliser currency à la place de EuroSign comme définition du symbole. Cela a changé sous Xfree 4.1 qui à incorporé le support du caractère EuroSign. Si vous utilisé le même symbole currency sous Xfree 4.1, à cause du support de l'UTF, cela ne repésentera pas forcément correctement le caractère euro.
Si vous utilisez Debian Woody (3.0), qui inclut XFree86 4.1, vous avez
seulement besoin de l'avoir correctement configuré dans une langue de la zone
euro, Ceci est fait dans le fichier de configuration
/etc/X11/XF86Config-4
. L'entrée du symbole euro devrait
fonctionner correctement (Si non,s'il vous plaît, faites un rapport de bogue).
Vous pouvez aussi faire quelques changements pour fournir le support de l'euro
si votre système ne fonctionne pas correctement. Vous pouvez changer les
extensions Xkb (dans les fichiers /etc/X11/xkb/symbols
) pour
inclure le support de l'Euro avec quelque chose dans le genre de :
key <AD03> { [ e, E ], [ EuroSign, cent ] };
Ceci, cependant, devrait être déjà fourni dans tous les fichiers des langues de la zone euro (es, de...)
Ou, vous pouvez changer votre définition de Xmodmap avec :
$ echo "keycode 0x1A = e E EuroSign cent" | xmodmap -
Si vous n'utilisez pas les extensions Xkb vous devrez changer les définitions
disponibles dans le répertoire /usr/share/xmodmap/
(le nom du
fichier est xmodmap.XXX avec un XXX adéquat à votre langue).
Puisque les extensions Xkb est le comportement par défaut, les fichiers Xmodmap fournis par Xfree86 4.1 ne devraient pas être mis à jour correctement. Vérifiez si la ligne relative à keycode 26 (caractère E) ressemble à la ligne suivante :
keycode 26 = e E EuroSign cent
Si vous utilisez des versions égales à, ou antérieures à la Debian potato (2.2), la langue ne devrait pas être définie correctement. Si une mise à jour vers une version supérieur d'XFree86 est impossible, vous pouvez utiliser n'importe quelle approche précédente pour ajouter le support pour la définition de l'euro.
Vous pouvez changer les extensions Xkb
(/usr/X11R6/lib/X11/xkb/symbols
) pour inclure le support currency
avec des lignes du genre de
key <AD03> { [ e, E ], [ currency, cent ] };
Ou, vous pouvez changez votre définition d'Xmodmap avec :
$ echo "keycode 0x1A = e E currency cent" | xmodmap -
Vous pouvez aussi utiliser les définitions disponibles dans le répertoire
/usr/share/xmodmap/
(changez le fichier approprié à votre langage)
si vous n'utilisez pas les extensions. Vérifiez que la ligne relative au
keycode 26 (caractère E) ressemble à la ligne suivante :
keycode 26 = e E currency cent
Les définitions Xmodmap de Debian 2.2 pour les langues dans la zone euro contiennent le caractère euro (en utilisant le symbole currency), Donc vous pouvez utiliser le xmodmap suivant /usr/share/xmodmap/xmodmap.XX (XX est le langage que vous voulez utiliser).
Pour représenter le symbole euro sous X vous aurez besoin d'avoir les polices adéquates pour représenter le codage ISO-8859-15 (si vous n'utilisez pas UTF-8). Vous pouvez voir quelles polices pourront être utilisées pour ça en faisant :
$ xlsfonts | grep 'iso8859-15$'
Dans une installation Debian par défaut, la seule police qui fournit cet
encodage est la police fixed (misc), qui devrait être adéquate pour un xterm
mais pourrait ne pas se montrer agréable dans beaucoup d'autres applications.
Si bien que, Debian 3.0 (woody) fournit les paquets de polices transcoded qui
incluent d'autres polices ISO-8859-15. Les paquets sont
xfonts-base-transcoded
, xfonts-75dpi-transcoded
,
xfonts-100dpi-transcoded
et vous pouvez les installer en lançant
apt-get install 'xfonts.*transcoded'.
Certaines personne pourraient ne pas vouloir installer ces paquets parce qu'ils
sont assez gros, à peu près 15 Mo. Il y a une version plus légère
disponible, sans les polices non-15, qui fait moins de 3 Mo. Vous pouvez
le trouver ici http://sites.inka.de/W1752/reduced-xfonts/
.
Notez qu'il ne fait pas partie de la distribution standard de Debian.
(FIXME : Si les utilisateurs en ont vraiment besoin, les paquets transcoded pourront être coupés en deux.)
Veuillez noter que si vous utilisez Debian 2.2 vous ne pouvez installer ces paquets sans mettre à jour le système puisqu'ils dépendent d'XFree86 4.
Les paquets suivants fournissent aussi des polices ISO-8859-15 : xfonts-jmk, xfonts-arphic-bsmi00lp, xfonts-arphic-gbsn00lp, xfonts-arphic-bkai00mp et xfonts-arphic-gkai00mp.
Le paquet xfonts-cyrillic
fournit aussi (pour XFree86 3.3.6)
quelques polices ISO-8859-15.
FIXME : Vérifiez cette dernière phrase (qui semble être juste vus les fichiers de données que les utilisateurs du programme euro-test m'ont envoyés.)
NOTE : Soyez sûr que vous n'avez pas une définition par défaut d'une autre
police dans votre fichier .Xdefaults
. Par exemple avec
*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-16
Si vous ne parvenez pas à trouver de polices convenables, vous pouvez utiliser les polices ISO10646-1 qui sont un super-jeu des différentes polices ISO8859-X et sont aussi fournies sous Debian. Markus Kuhn fournit un script appelé ucs2any.pl et qui propose :
Ce script Perl vous permet de générer à partir d'une police BDF ISO10646-1 d'autres polices BDF dans n'importe quel encodage possible. Cette fois vous pouvez dériver d'une simple police principale ISO10646-1 tout un jeu de polices 8-bit dans tous les encodages ISO 8859 et divers autres.
Il y a des polices Unicode disponibles pour X Window sur http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
.
Dans ucs-fonts.tar.gz et ucs-fonts-75dpi100dpi.tar.gz, il y a Times, Helvetica,
Lucida, Utopia, New Century, Schoolbook, Courier... polices pouvant être
utilisées. Vous pouvez aussi utiliser le programme yudit pour
changer ces polices.
Il y a des paquets Debian disponibles pour installer les polices unicode de Kuhn. FIXME : Quels sont leurs noms ?
Il y a d'autres polices ISO-8859-15 utilisables pour XFree86 3.3.6 sur http://linux.ee/~ville/vh-fonts-0.99.2.tar.gz
,
même si elles sont fournies principalement pour les utilisateurs Estoniens ce
sont des polices correctes et elles incluent des modifications de helvetica,
times, courier et une police pour terminal.
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ suivant ]
Debian Euro HOWTO (Obsolete Documentation)
version 1.2, 4 juin 2003.mailto:jfs@computer.org
mailto:leonptitlouis@ifrance.com