<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<guide link="/doc/en/utf-8.xml">
<title>Utiliser l'UTF-8 avec Gentoo</title>

<author title="Auteur">
  <mail link="slarti@gentoo.org">Thomas Martin</mail>
</author>
<author title="Contributeur">
  <mail link="devil@gentoo.org.ua">Alexander Simonov</mail>
</author>
<author title="Traducteur">
  <mail link="clement@varaldi.org.ua">Clément Varaldi</mail>
</author>


<abstract>
L'objectif de ce guide est de vous montrer comment mettre en place et utiliser
le set de caractère Unicode UTF-8 sur votre système Gentoo Linux, après vous
avoir présentés les avantages de l'Unicode, et plus particulièrement UTF-8.
</abstract>

<license />

<version>1.0</version>
<date>3 février 2005</date>

<chapter>
<title>Encoder les caractères</title>
<section>
<title>Qu'est-ce que l'encodage de caractère ?</title>
<body>

<p>
Les ordinateurs ne comprennent pas le texte en soi. En fait, chaque caractère
est représenté par un nombre. Traditionnellement, chaque set de nombres utilisé
pour représenter un alphabet et des caractères (appelé un système de codage,
ou encore un set encodage ou de caractères) est limité par la taille à cause de
la limitation matériel de la machine.
</p>

</body>
</section>
<section>
<title>L'histoire de l'encodage de caractères</title>
<body>

<p>
Le set de caractères le plus commun, ou du moins le plus universellement
accepté est l'<b>ASCII</b> (American Standard Code for Information Interchange).
Il est universellement reconnu comme étant le standard le plus abouti pour les
logiciels. La version moderne de l'ASCII a été standardisée en 1986 (ANSI X3.4,
RFC20, ISO/IEC 646:1991, ECMA-6) par l'institut national américain des
standards.
</p>

<p>
L'ASCII est du 7-bit strict, ce qui signifie qu'il utilise une table de
correspondance entre les caractères et des nombres binaires à 7 chiffres, ce qui
donne un échantillon de 0 à 127, en décimal. Il inclue 32 caractères de contrôle
non visibles, la plupart entre 0 et 31, ainsi que le caractère de contrôle
de fin, DEL ou delete est le numéro 127. Les caractères de 32 à 127 sont des
caractères visibles&nbsp;: un espace, un signe de ponctuation, des lettres
latines ou des nombres.
</p>

<p>
Le huitième bit en ASCII a été utilisé au départ comme un bit de parité pour
permettre des vérifications d'erreur. S'il n'est pas nécessaire, il est laissé
à 0, ce qui signifie que, en ASCII, chaque caractère est représenté par un seul
octet.
</p>

<p>
Si l'ASCII suffit aux conversations en anglais moderne, dans d'autres
langues européennes qui incluent des caractères accentués, les choses ne
semblent pas aussi évidentes. Les standards ISO 8859 ont été développés pour
répondre à ces besoins. Ils assurent une compatibilité ascendante avec l'ASCII
mais au lieu de laisser le huitième bit à 0, il est utilisé pour permettre de
coder 127 autres caractères dans chaque encodage. Les limitations de l'ISO 8859
vont vite être mises à jour, et il y a actuellement quinze variantes du standard
ISO 8859 (depuis le 8859-1 au 8859-15). Il y a souvent des conflits entre des
lettres représentées par chaque bit, malgré la compatibilité avec l'ASCII. Pour
compliquer encore l'interopérabilité entre les différents encodages de
caractères, Windows-1252 est utilisé dans certaines versions de Microsoft
Windows pour certaines langues d'Europe occidentale. C'est un set dérivant de
l'ISO 8859-1, mais avec de nombreuses différences. Ces sets gardent cependant
tous une compatibilité avec l'ASCII.
</p>

<p>
La nécessité du développement d'un encodage complètement différent, pour des
alphabets non latins, comme l'EUC (Extended Unix Coding), qui est utilisé pour
le japonais et le coréen (et également un peu pour le chinois) a créé plus de
confusion encore. Différents systèmes d'exploitation utilisaient encore
différents sets de caractère pour une même langue, par exemple, Shift-JIS et
ISO-2022-JP. Les utilisateurs voulant lire des glyphes cyrilliques devaient
choisir entre les sets KOI8-R pour le russe ou le bulgare, ou KOI8-U pour
l'ukrainien. Ou encore d'autres encodages du cyrillique, comme l'ISO 8859-5,
lequel n'a pas eu beaucoup de succès, ou le set Windows-1251. Tous ces sets de
caractère cassent souvent la compatibilité avec l'ASCII (même si l'emplacement
des caractères cyrilliques dans le KOI8 permet, si on s'affranchit du huitième
bit, d'assurer une possible lecture du texte sur un terminal ASCII, moyennant
quelques adaptations).
</p>

<p>
Tout cela mène à une certaine confution, mais aussi une incapacité totale de
communiquer entre les langues, et tout particulièrement entre différents
alphabets. C'est alors qu'est arrivé l'Unicode.
</p>

</body>
</section>
<section>
<title>Qu'est-ce que l'Unicode?</title>
<body>

<p>
L'Unicode laisse de côté la représentation traditionnelle et limitée d'un octet
pour un caractère, et avec deux octets par caractère, il permet un maximum de
65.536 caractères. Cela dit, même si ce nombre est très élevé comparé aux
encodages avec 7 ou 8 bits, il n'est toujours pas suffisant pour un set de
caractère pouvant être utilisé pour des symboles et scripts utilisés uniquement
dans des domaines bien précis, comme les mathématiques par exemple.
</p>

<p>
L'Unicode a été représenté de différentes manières, mais les deux plus communes
sont l'<b>UTF</b> (Unicode Transformation Format) et l'<b>UCS</b> (Universal
Character Set). Après le terme UTF, suit un nombre indiquant le nombre de bits
dans une unité. Dans le cas de l'UCS, il représente le nombre d'octets. L'UTF-8
est devenu le moyen d'échange le plus répandu pour les échanges de texte en
Unicode, grâce à ses propriétés (clair, représenté par 8 bits) et il est
l'encodage dont fait l'objet notre document.
</p>

</body>
</section>
<section>
<title>UTF-8</title>
<body>

<p>
UTF-8 est un encodage de caractère à longueur variable, et peut utiliser entre
1 et 4 octets par symbole. Le premier octet est utilisé pour encoder les
symboles ASCII, ce qui permet une compatibilité complète avec l'ASCII. Les
caractères latins et ASCII sont interchangeables avec l'UTF-8 sans trop
augmenter la taille des données, puisque seul le premier octet est utilisé.
Les utilisateurs d'alphabets exotiques comme le japonais n'ont pas cette chance,
dans la mesure où ils obtiendront en gros 50% de redondance dans leurs données.
</p>

</body>
</section>
<section>
<title>Ce qu'UTF-8 peut faire pour vous</title>
<body>

<p>
UTF-8 vous permet de travailler dans un environnement multilingue conforme aux
standards et universellement reconnu, avec une redondance de donnée relativement
faible. l'UTF-8 est le meilleur moyen de transmettre des caractères non-ASCII
sur Internet, par Email, IRC ou la plupart des autres moyens de communication.
Malgré cela, de nombreuses personnes considèrent comme abusive l'utilisation de
l'UTF-8 pour les communications. Il est toujours préférable de se tenir au
courant de l'attitude des uns et des autres à propos de l'UTF-8 sur certains
canaux de discussion, listes de diffusion ou groupes de discussion avant
d'utiliser de l'<e>UTF-8 non-ASCII</e>.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Mise en place de l'UTF-8 avec Gentoo Linux</title>
<section>
<title>Trouver ou créer les localisation UTF-8</title>
<body>

<p>
Maintenant que vous avez compris les principes basiques de l'Unicode, vous allez
pouvoir commencer à utiliser l'UTF-8 sur votre système.
</p>

<p>
Il vous faudra avant toute chose disposer d'une version de glibc qui supporte
les langues nationales. Le moyen recommandé pour l'obtenir est d'utiliser le
fichier <path>/etc/locales.build</path> en corrélation avec le paramètre USE
<c>userlocales</c>. L'objet de ce document n'est pas de vous expliquer
l'utilisation de ce fichier, mais heureusement, il est suffisamment
auto-documenté pour que vous puissiez vous en servir. Vous trouverez également
de la documentation sur le
<uri link="/doc/fr/guide-localization.xml#doc_chap3_sect3">Guide de Localisation
de Gentoo</uri>.
</p>

<p>
Ensuite, vous devrez vérifier si oui ou non UTF-8 est déjà disponible pour
votre langue, ou si vous devrez créer une localisation.
</p>

<pre caption="Vérifier l'existence d'une localisation pour UTF-8">
<comment>(Remplacer "fr_FR" par la localisation souhaitée)</comment>
# <i>locale -a | grep 'fr_FR'</i>
fr_FR
fr_FR.utf8
</pre>

<p>
Nous constatons ici que nous avons un suffixe en <c>.utf8</c>, ce qui est une
bonne chose. Si vous n'avez pas de résultat avec un suffixe similaire à celui-ci
vous devez créer une localisation compatible UTF-8.
</p>

<note>
Il vous suffit de lancer la commande suivante si vous n'avez pas de localisation
UTF-8 pour votre langue.
</note>

<pre caption="Créer une localisation UTF-8">
<comment>(Remplacer "fr_FR" avec la localisation désirée)</comment>
# <i>localedef -i fr_FR -f UTF-8 fr_FR.utf8</i>
</pre>

</body>
</section>
<section>
<title>Mise en place de la localisation</title>
<body>

<p>
Même si vous devriez pouvoir utiliser l'UTF-8 sur l'ensemble de votre système,
l'auteur ne vous recommande pas son utilisation pour le compte root. Il est donc
préférable de configurer la localisation dans le fichier utilisateur
<path>~/.profile</path> (ou, si vous utilisez un C shell,
<path>~/.login</path>).
</p>

<note>
Si vous n'êtes pas sur de savoir quel fichier utiliser, utilisez
<path>~/.profile</path>.  De la même manière, si vous n'êtes pas sûr de quel
code utiliser dans la liste suivante, utilisez la version Bourne.
</note>

<pre caption="Choisir la localisation avec les variables d'environnement (Bourne)">
export LANG="fr_FR.utf8"
export LC_ALL="fr_FR.utf8"
</pre>

<pre caption="Choisir la localisation avec les variables d'environnement (C shell)">
setenv LANG "fr_FR.utf8"
setenv LC_ALL "fr_FR.utf8"
</pre>

<p>
Maintenant, déconnectez-vous, et connectez-vous de nouveau pour prendre en
compte les changements. Nous voulons ces variables d'environnement pour
l'ensemble de l'environnement, donc c'est mieux de se déconnecter et revenir
que de faire un <e>source ~/.profile</e> ou <e>source ~/.login</e> dans une
console. Dans ce cas, seuls les processus lancés depuis cette console
utiliseront la nouvelle localisation.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Support des applications</title>
<section>
<body>

<p>
Quand l'Unicode a commencé à prendre de l'ampleur dans le monde logiciel, les
sets de caractères à plusieurs octets n'étaient pas très bien supportés par de
langages comme le C, langages dans lesquels de nombreux programmes utilisés
quotidiennement étaient écrits. Encore maintenant, certains programmes ne sont
toujours pas capable de gérer l'UTF-8 correctement. Heureusement, la plupart le
sont.
</p>

</body>
</section>
<section>
<title>Noms de fichiers, NTFS et FAT</title>
<body>

<p>
Il y a de nombreuses options NLS (Native Language Support, pour support des
langues natif) dans la configuration du noyau Linux, et le plus important est de
ne pas se tromper. Dans la plupart des cas, la seule chose à faire est de mettre
le support NLS de l'UTF-8 dans le noyau, et de changer le NLS par défaut à utf8.
</p>

<pre caption="Configuration du noyau pour les NLS UTF-8">
File Systems --&gt;
  Native Language Support --&gt;
    (utf8) Default NLS Option
    &lt;*&gt; NLS UTF8
    <comment>(Et &lt;*&gt; les autres sets de caractère qui sont utilisés
    dans le système de fichiers FAT et les CD-ROM Joliet)</comment>
</pre>

<p>
Si vous pensez avoir à monter des partitions NTFS, vous devrez spécifier une
option <c>nls=</c> au montage. Pour plus d'informations, voir <c>man mount</c>.
</p>

<p>
Pour changer l'encodage des noms de fichiers, vous pouvez utiliser
<c>app-text/convmv</c>.
</p>

<pre caption="Exemple d'utilisation de convmv">
# <i>emerge --ask app-text/convmv</i>
# <i>convmv -f encodageActuel -t utf-8 nomDeFichier</i>
</pre>

<p>
Pour changer le <e>contenu</e> des fichiers, utilisez l'utilitaire <c>iconv</c>
proposé avec <c>glibc</c>&nbsp;:
</p>

<pre caption="Exemple d'utilisation d'iconv">
<comment>(Change iso-8859-1 au set de caractère que vous souhaitez)</comment>
<comment>(Vérifiez que la sortie est correcte)</comment>
# <i>iconv -f iso-8859-1 -t utf-8 nomDeFichier</i> 
<comment>(Pour convertir un fichier, vous devez en créer un nouveau)</comment>
# <i>iconv -f iso-8859-1 -t utf-8 nomDeFichier > nouveauFichier</i>
</pre>

<p>
Vous pouvez aussi utiliser <c>app-text/recode</c> pour cela.
</p>

</body>
</section>
<section>
<title>La console système</title>
<body>

<impo>
Vous devez avoir >=sys-apps/baselayout-1.11.9 pour pouvoir utiliser l'Unicode
dans une console.
</impo>

<p>
Pour activer l'UTF-8 dans une console, vous devez éditer le fichier
<path>/etc/rc.conf</path> et mettre <c>UNICODE="yes"</c>, et lisez au passage
les commentaires dans ce fichier --il est important d'avoir une police de
caractère qui convienne si vous souhaitez utiliser correctement l'Unicode.
</p>

<p>
La variable <c>KEYMAP</c>, définie dans le fichier
<path>/etc/conf.d/keymaps</path>, doit avoir spécifié une configuration clavier
Unicode. Pour cela, ajoutez le préfixe -u à la configuration déjà existante.
</p>

<pre caption="Exemple du fichier /etc/conf.d/keymaps">
<comment>(Changez "fr" pour le clavier local utilisé)</comment>
KEYMAP="-u fr"
</pre>

</body>
</section>
<section>
<title>Ncurses et Slang</title>
<body>

<note>
Ignorez simplement toutes les mentions faites à Slang dans cette section si vous
ne l'avez pas installé ou si vous ne l'utilisez pas.
</note>

<p>
Il vous faut cette fois ajouter <c>unicode</c> à vos paramètres USE globaux dans
<path>/etc/make.conf</path>, puis vous devez installer à nouveau
<c>sys-libs/ncurses</c> et <c>sys-libs/slang</c> si nécessaire.
</p>

<pre caption="Installation de ncurses et slang">
<comment>(nous ne plaçons pas ces bibliothèques dans notre fichier world,
en utilisant le paramètre --oneshot)</comment>
# <i>emerge --oneshot --verbose --ask sys-libs/ncurses sys-libs/slang</i>
</pre>

<p>
Nous devons également reconstruire les paquets qui leur sont liés, maintenant
que les changements de la variable USE ont été appliqués.
</p>

<pre caption="Reconstruire les programmes liés à ncurses ou slang">
# <i>revdep-rebuild --soname libncurses.so.5</i>
# <i>revdep-rebuild --soname libslang.so.1</i>
</pre>

</body>
</section>
<section>
<title>KDE, GNOME et Xfce</title>
<body>

<p>
Tous les environnements de bureaux importants supportent complètement l'Unicode,
et n'auront pas besoin de configuration supplémentaire à celle présentée dans ce
guide. Cela est dû au fait que les kits d'interface graphique (Qt ou GTK+2)
fonctionnent très bien en UTF-8. De ce fait, tous les programmes utilisant ces
kits devraient pouvoir supporter l'UTF-8 de manière naturelle, sans modification
supplémentaire.
</p>

<p>
Les exceptions à cette règle sont liées à Xlib et GTK+1. GTK+1 nécessite une
spécification de police iso10646-1 dans le fichier ~/.gtkrc. Par exemple,
<c>-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1</c>. De même, les applications
utilisant Xlib ou Xaw devront utiliser une spécification de police similaire,
ou elles ne pourront pas fonctionner.
</p>

<note>
Si vous disposez du centre de contrôle de gnome1 dans un coin, utilisez-le.
Récupérez une police iso10646-1 dans le lot proposé.
</note>

<pre caption="Exemple  de ~/.gtkrc (pour GTK+1) qui définit une police
compatible avec l'Unicode">
style "user-font"
{
    fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1"
}
widget_class "*" style "user-font"
</pre>

<p>
Si une application dispose du support de Qt et de GTK+2, la version GTK+2 aura
en général de meilleurs résultats que la version Qt pour l'Unicode.
</p>

</body>
</section>
<section>
<title>X11 et les polices de caractères</title>
<body>

<impo>
<c>x11-base/xorg-x11</c> dipose d'un support pour l'Unicode largement meilleur
que <c>x11-base/xfree</c> et il est <e>grandement</e> recommandé d'adopter ce
serveur X.
</impo>

<p>
Les polices TrueType supportent l'Unicode, et la plupart des polices fournies
avec Xorg disposent d'un support très bon des caractères, même si, évidemment,
tous les glyphes disponibles dans l'Unicode n'ont pas été créés. Pour construire
des polices (notamment le set BitStream Vera) avec le support pour les lettres
d'Asie de l'Est sous X, assurez-vous d'avoir ajouté le paramètre <c>cjk</c> dans
vos paramètres USE. De nombreuses autres applications utilisent ce paramètre,
donc c'est une bonne idée de l'ajouter dans les paramètres USE permanents.
</p>

<p>
Plusieurs paquets sont également disponibles dans Portage, qui sont compatibles
avec l'Unicode.
</p>

<pre caption="Optionnel: Installer plus de polices compatibles Unicode">
# <i>emerge terminus-font intlfonts freefonts cronyx-fonts corefonts</i>
</pre>

</body>
</section>
<section>
<title>Gestionnaires de fenêtres et émulateurs de terminaux</title>
<body>

<p>
Les gestionnaires de fenêtres qui ne sont pas construits avec GTK ou Qt
disposent généralement d'un très bon support de l'Unicode, dans la mesure où ils
utilisent souvent la bibliothèque Xft pour exploiter les polices. Si votre
gestionnaire de fenêtres n'utilise pas Xft pour les polices, vous pouvez
toujours utiliser la spécification de police mentionnée dans la section
précédente pour utiliser une police Unicode.
</p>

<p>
Les émulateurs de terminaux utilisant Xft et supportant l'Unicode sont plus
difficiles à trouver. À part Konsole et gnome-terminal, les meilleures
options dans Portage sont <c>x11-terms/rxvt-unicode</c>,
<c>xfce-extra/terminal</c>, <c>app-gnustep/terminal</c>,
<c>x11-terms/mlterm</c>, <c>x11-terms/mrxvt</c> ou <c>x11-terms/xterm</c> quand
il est compilé avec le paramètre USE <c>unicode</c> et qu'il est lancé avec
<c>uxterm</c>. <c>app-misc/screen</c> supporte l'UTF-8 également, si vous le
lancez avec un <c>screen -u</c>, ou si vous mettez la ligne suivante dans votre
fichier <path>~/.screenrc</path>&nbsp;:
</p>

<pre caption="~/.screenrc pour l'UTF-8">
defutf8 on
</pre>

</body>
</section>
<section>
<title>Vim, Emacs, Xemacs et Nano</title>
<body>

<p>
Vim, Emacs et Xemacs fournisse un support complet de l'UTF-8, et disposent de
plus d'une auto-détection des fichiers UTF-8. Pour plus d'informations
concernant Vim, utilisez <c>:help mbyte.txt</c>.
</p>

<p>
Nano ne propose actuellement aucun support de l'UTF-8, même si celui-ci est
prévu depuis longtemps déjà. Heureusement, cela devrait changer dans le futur.
À l'heure où ces lignes sont écrites, le support de l'UTF-8 est disponible sur
la version CVS de Nano, et devrait être présent dans la prochaine version.
</p>

</body>
</section>
<section>
<title>Les shells</title>
<body>

<p>
Actuellement, <c>bash</c> propose un support complet de l'Unicode, grâce à la
bibliothèque GNU readline. Les utilisateurs du Z Shell sont dans une position
moins confortable -- aucun élément de ce shell ne supporte l'Unicode, même si
des efforts sont faits actuellement pour essayer d'ajouter le support de sets
de caractères à plusieurs octets.
</p>

<p>
Le C shell, <c>tcsh</c> et <c>ksh</c> ne fournissent absolument aucun support
de l'UTF-8.
</p>

</body>
</section>
<section>
<title>Irssi</title>
<body>

<p>
Irssi dispose d'un support complet de l'UTF-8, même si cela nécessite que
l'utilisateur active une option.
</p>

<pre caption="Activer l'UTF-8 dans Irssi">
/set term_charset UTF-8
</pre>

<p>
Pour les canaux de discussions où les caractères non-ASCII sont fréquemment
utilisés dans des sets de caractères non-UTF-8, la commande <c>recode</c> peut
servir à convertir les caractères. Faites un <c>/help recode</c> pour plus
d'informations.
</p>

</body>
</section>
<section>
<title>Mutt</title>
<body>

<p>
Le client mail Mutt supporte très bien l'Unicode. Pour utiliser l'UTF-8 avec
Mutt, ajoutez les lignes suivantes dans votre fichier
<path>~/.muttrc</path>&nbsp;:
</p>

<pre caption="~/.muttrc pour l'UTF-8">
set send_charset="utf8" <comment>(set de caractère pour les envois)</comment>
set charset="utf8"      <comment>(set de caractère pour l'affichage)</comment>
</pre>

<note>
Vous verrez probablement encore des '?' quand vous lirez vos mails avec Mutt.
Cela provient des personnes utilisant un set de caractère latin (ISO 8859) ou
un autre set, dans leurs emails. Le mieux est de leur dire d'utiliser l'UTF-8
pour les mails, et de leur montrer la norme IETF RFC 2277 (voir les références
à la fin de ce document). Remarquez cependant que dans certaines listes de
diffusion, les inscrits peuvent ne pas aimer l'UTF-8. Assurez-vous que cela ne
dérange pas le groupe ou la personne avec laquelle vous communiquez d'utiliser
l'UTF-8.
</note>

<p>
Plus d'informations sont disponibles sur le
<uri link="http://wiki.mutt.org/index.cgi?MuttFaq/Charset">WikiWiki de Mutt
</uri>.
</p>

</body>
</section>
<section>
<title>Tester l'ensemble</title>
<body>

<p>
Il existe de nombreux sites de test pour l'UTF-8. <c>net-www/w3m</c>,
<c>net-www/links</c>, <c>net-www/elinks</c>, <c>net-www/lynx</c> et tous les
navigateurs dérivés de Mozilla (notamment Firefox) supportent l'UTF-8. Konqueror
supporte également l'UTF-8.
</p>

<p>
Quand vous utilisez un navigateur en mode texte, assurez-vous que vous utilisez
bien un terminal supportant l'Unicode.
</p>

<p>
Si vous voyez certains caractères affichés comme des carrés avec des lettres ou
des nombres dedans, cela signifie que votre police ne dispose pas du caractère
pour le symbole ou le glyphe que l'UTF-8 attend d'elle. À la place, elle
affichera une boîte avec le code hexadécimal du symbole UTF-8.
</p>

<ul>
  <li>
    <uri link="http://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html">Une page de
    test UTF-8 du W3C.</uri>
  </li>
  <li>
    <uri link="http://titus.uni-frankfurt.de/indexe.htm?/unicode/unitest.htm">
    Une page de test UTF-8 proposée par l'Université de Francfort.</uri>
  </li>
</ul>

</body>
</section>
<section>
<title>Méthodes d'écriture</title>
<body>

<p>
Les <e>touches mortes</e> de votre clavier peuvent être utilisées pour écrire
des caractères sous X qui ne sont pas disponibles sur votre clavier. On les
obtient en appuyant en même temps sur la touche AltGr et une touche optionnelle
dans la partie non alphabétique de votre clavier (à gauche de la touche Entrée).
Puis, vous les relâchez, et appuyez sur une lettre. La touche morte devrait la
modifier. Vous disposez d'autres caractères avec la touche Shift appuyée en même
temps que les touches AltGr et le modificateur.
</p>

<p>
Pour activer les touches mortes sur le serveur X, vous devez disposer d'un
clavier qui les supporte. La plupart des claviers européens disposent déjà des
touches mortes avec la variante par défaut. Cela dit, ce n'est pas le cas pour
les clavier nord américains. Même s'il existe quelques petites différences entre
les claviers, la meilleure solution est d'utiliser un "en_US" à la place de "us"
par exemple. Cela se fait dans le fichier <path>/etc/X11/xorg.conf</path>&nbsp;:
</p>

<pre caption="extrait de /etc/X11/xorg.conf">
Section "InputDevice"
    Identifier "Keyboard0"
    Driver     "kbd"
    Option     "XkbLayout" "en_US" <comment># Au lieu de "us" seul</comment>
    <comment>(Suivent d'autres options Xkb)</comment>
EndSection
</pre>

<note>
NdT&nbsp;: si le problème ne se pose pas pour les claviers français, certains
utilisent tout de même des claviers nord américain dans un contexte francophone,
et donc j'ai préféré laisser cette astuce pour ceux-là. Pour les autres, les
claviers européens semblent tous disposer de l'activation des touches mortes
par défaut, le problème ne se pose donc pas.
</note>

<p>
Ce changement prendra effet lorsque vous relancerez le serveur X. Pour appliquer
les changements dès à présent, utilisez l'outil <c>setxkbmap</c>, avec par
exemple, <c>setxkbmap en_US</c> (toujours pour les claviers nord américains).
</p>

<p>
Il est probablement plus facile de faire comprendre le fonctionnement des
touches mortes par l'exemple. Même si les résultats dépendent de la localisation
les idées devraient rester les mêmes, quelque soit la localisation. Les exemples
contiennent des caractères UTF-8, donc pour les visualiser, vous devrez indiquer
à votre navigateur de visualiser la page en UTF-8, ou d'avoir la localisation
UTF-8 déjà configurée.
</p>

<p>
When I press AltGr and [ at once, release them, and then press a, 'ä' is
produced. When I press AltGr and [ at once, and then press e, 'ë' is produced.
When I press AltGr and ; at once, 'á' is produced, and when I press AltGr and ;
at once, release them, and then press e, 'é' is produced.
</p>

<p>
By pressing AltGr, Shift and [ at once, releasing them, and then pressing a, a
Scandinavian 'å' is produced. Similarly, when I press AltGr, Shift and [ at
once, release <e>only</e> the [, and then press it again, '˚' is produced.
Although it looks like one, this (U+02DA) is not the same as a degree symbol
(U+00B0). This works for other accents produced by dead keys — AltGr and [,
releasing only the [, then pressing it again makes '¨'.
</p>

<p>
AltGr can be used with alphabetical keys alone. For example, AltGr and m, a
Greek lower-case letter mu is produced: 'µ'.
</p>

</body>
</section>
<section>
<title>Resources</title>
<body>

<ul>
  <li>
    <uri link="http://fr.wikipedia.com/wiki/Unicode">L'article Wikipedia pour
    l'Unicode</uri>.
  </li>
  <li>
    <uri link="http://fr.wikipedia.com/wiki/UTF-8">L'article Wikipedia pour
    l'UTF-8</uri>.
  </li>
  <li><uri link="http://www.unicode.org">Unicode.org</uri>.</li>
  <li><uri link="http://www.utf-8.com">UTF-8.com</uri>.</li>
  <li><uri link="http://www.ietf.org/rfc/rfc3629.txt">RFC 3629</uri>.</li>
  <li><uri link="http://www.ietf.org/rfc/rfc2277.txt">RFC 2277</uri>.</li>
</ul>

</body>
</section>
</chapter>
</guide>