<?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 : 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 --> Native Language Support --> (utf8) Default NLS Option <*> NLS UTF8 <comment>(Et <*> 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> : </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> : </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> : </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> : </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 : 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>