diff --git a/unix/editeurs/unicode.tml b/unix/editeurs/unicode.tml new file mode 100644 index 0000000..093f267 --- /dev/null +++ b/unix/editeurs/unicode.tml @@ -0,0 +1,239 @@ + + + + +Unicode + + + +

Taper de l'Unicode

+ +
+

+Nous allons voir ici comment taper de l'Unicode, ce qui recouvre plus ou +moins toutes les langues et tous les alphabets bizarres de la planète, et +êut-être même d'au delà (l'intégration du Tengwar est en discussion). +

+
+ +

Se préparer

+ +

Bien comprendre ce que ça veut dire

+ +

+Unicode, c'est une collection de caractères utilisés dans toutes les langues +du monde, avec un numéro pour chaque caractère. Ce qu'on entend par « taper +de l'Unicode », c'est taper un fichier texte qui utilise ces caractères, +probablement au delà de simplement les caractères latins. Pour bien +comprendre tout ce qui va suivre, il est probablement utile d'avoir lu +notre page théorique sur les +encodages. +

+ +

+Les difficultés qui se présentent sont principalement de mettre en place un +environnement permettant de taper et d'afficher ces caractères, de choisir +et configurer un éditeur pour travailler en Unicode, et de taper des +caractères qui ne sont pas disponibles sur le clavier. +

+ +

Choisir un éditeur

+ +

+La gestion d'Unicode demande un boulot non trivial de la part de l'éditeur, +c'est pourquoi la plupart n'en sont hélas pas capables. +

+ +
+

+Parmi les éditeurs disponibles ici, seuls Vim et +Emacs en sont capables. Par chance, ce sont, de +loin, les deux meilleurs éditeurs, et vous avez tout intérêt à choisir l'un +d'eux même sans ça. +

+
+ + +

Un environnement pour travailler

+ +

Un terminal Unicode

+ +

+Sauf si vous comptez utiliser exclusivement Emacs en mode graphique, vous +avez besoin d'un terminal capable d'afficher de l'Unicode et d'en recevoir +de l'utilisateur. +

+ +
+

+Pour obtenir un terminal en Unicode, il suffit d'utiliser la commande +uxterm, ou l'entrée de menu « terminal Unicode » si on a une +config assez récente. Pour le moment, ça ne marche que sur les Sun, mais il +est possible que ça marche également sur les PC dans un avenir proche ; en +attendant il est possible de le lancer en affichage distant. +

+
+ +

+Si on n'a pas à sa disposition le script uxterm, mais qu'on est sous Unix, +on peut quand même lancer xterm avec les bonnes options : +

+ +
+drakkar ~ $ LC_CTYPE=en_US.UTF-8 xterm \
+  -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 \
+  -fw -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1 -u8
+
+ +

+Les deux polices indiquées sont fournies avec le projet +XFree86, et sont des polices Unicode +relativement complètes. Il est possible d'en utiliser d'autres, mais il faut +les choisir en -iso10646-1. +

+ +

+Attention, si vous vous loguez à distance, +une commande est nécessaire pour informer les applications distantes que le +terminal est en Unicode : +

+
drakkar ~ $ export LC_CTYPE=en_US.UTF-8
+ +

+Note : inutile d'essayer de changer le en_US en autre chose, +c'est le .UTF-8 qui est important ici, pour le reste il suffit +que ce soit un code qui existe. +

+ +

+Il est possible également d'obtenir un terminal en Unicode quand on est +connecté depuis windows ou macos. Mais je ne sais pas comment on fait. +

+ +

Un éditeur au courant

+ +

+Si vous avez correctement mis en place votre terminal (en particulier le +LC_CTYPE si vous vous connectez à distance), il n'y a quasiment +rien à faire. +

+ +

+Avec Vim, après avoir lancé normalement votre éditeur, vous +pouvez vérifier qu'il est a bien détecté que vous étiez en Unicode avec : +

+
:set encoding
+  encoding=utf-8
+ +

+Si quand vous ouvrez un fichier, Vim écrit [converted] à côté +du nom, c'est qu'il a détecté que ce fichier n'était pas en Unicode ; il +note quel était le codage de ce fichier, et l'utilisera pour sauver (et se +plaindra s'il y a des caractères impossibles à sauver). On peut changer ça +avec l'option fileencoding. +

+ +

+Avec Emacs, je n'ai aucune idée de comment on procède. +

+ + +

Taper ce qu'on veut

+ +

+C'est bien d'avoir un terminal qui affiche de l'Unicode, mais sur un clavier +occidental normalement constitué, taper un Ω, un ҳ, un +פ, un ฆ ou un 鰻, ce n'est pas facile. Le problème se +résout avec ce qu'on appelle des méthodes d'entrée. Vous connaissez +certainement déjà celle qui utilise la touche Compose pour taper les accents +sur les claviers américains. +

+ +

Les méthodes d'entrée d'UXTerm

+ +

+Si vous lancez uxterm sur (ou depuis) une station Sun, vous +remarquerez en bas à gauche une petite fenêtre où est écrit +« English/European ». Cette fenêtre indique que le clavier est en mode +occidental, il est possible de changer de mode. +

+ + + +

+D'autres méthodes d'entrée sont disponibles, en tapant directement le numéro +Unicode du caractère ou en choisissant dans des tables thématiques. Il est +normalement possible d'utiliser cette fenêtre comme un menu pour changer le +mode, mais ça marche très mal. Ce système n'est hélas pas disponible sur les +PC. +

+ +

Les méthodes d'entrée d'Emacs

+ +

+Emacs possède lui-même un nombre assez important de méthodes d'entrée. +Celles-ci sont plus confortables et plus puissantes que celles d'uxterm ; +en particulier elles affichent en bas d'Emacs le caractère en cours de +construction et/ou les différents choix possibles. Le défaut est que ces +méthodes ne sont disponibles que dans Emacs lui-même, donc ni dans un autre +éditeur, ni dans d'autres logiciels. +

+ +

Termim

+ +

+Termim est un programme qui permet de donner des méthodes d'entrée à presque +n'importe quel terminal. Ces méthodes sont elles aussi capables d'afficher +le caractère en cours de construction en bas, et sont disponibles pour +n'importe quel programme tournant dans le terminal. +

+ +

+Termim n'est pas spécifique à l'ENS, mais comme il a été développé par +d'anciens élèves, il est probable qu'il soit rarement installé ailleurs. +

+ +

+Pour utiliser termim, il suffit de taper termim dans un +terminal Unicode. On a alors la configuration par défaut (qu'il est possible +de changer) : +

+ + + +

+Pour plus de détails, consulter la page de man de termim, ainsi que les +documentations dans /usr/local/util/packages/termim/doc/. +

+ + +
+Auteur : Nicolas George. +Dernière modification le . +
+ + +