Page sur la saisie de texte en Unicode.
This commit is contained in:
parent
c81efa4731
commit
e253a1f6a3
1 changed files with 239 additions and 0 deletions
239
unix/editeurs/unicode.tml
Normal file
239
unix/editeurs/unicode.tml
Normal file
|
@ -0,0 +1,239 @@
|
||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!DOCTYPE html
|
||||||
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||||||
|
"tuteurs://DTD/tml.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Unicode</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Taper de l'Unicode</h1>
|
||||||
|
|
||||||
|
<div class="resume">
|
||||||
|
<p>
|
||||||
|
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).
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Se préparer</h2>
|
||||||
|
|
||||||
|
<h3>Bien comprendre ce que ça veut dire</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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
|
||||||
|
<a href="../../theorie/encodages.html">notre page théorique sur les
|
||||||
|
encodages</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Choisir un éditeur</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="ens">
|
||||||
|
<p>
|
||||||
|
Parmi les éditeurs disponibles ici, seuls <a href="vim.html">Vim</a> et
|
||||||
|
<a href="emacs.html">Emacs</a> 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.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Un environnement pour travailler</h2>
|
||||||
|
|
||||||
|
<h3>Un terminal Unicode</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="ens">
|
||||||
|
<p>
|
||||||
|
Pour obtenir un terminal en Unicode, il suffit d'utiliser la commande
|
||||||
|
<code>uxterm</code>, 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.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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 :
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<span class="prompt">drakkar ~ $</span> 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
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Les deux polices indiquées sont fournies avec le projet
|
||||||
|
<a href="http://www.xfree86.org/">XFree86</a>, et sont des polices Unicode
|
||||||
|
relativement complètes. Il est possible d'en utiliser d'autres, mais il faut
|
||||||
|
les choisir en <code>-iso10646-1</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Attention</strong>, si vous vous <strong>loguez à distance</strong>,
|
||||||
|
une commande est nécessaire pour informer les applications distantes que le
|
||||||
|
terminal est en Unicode :
|
||||||
|
</p>
|
||||||
|
<pre><span class="prompt">drakkar ~ $</span> export LC_CTYPE=en_US.UTF-8</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Note : inutile d'essayer de changer le <code>en_US</code> en autre chose,
|
||||||
|
c'est le <code>.UTF-8</code> qui est important ici, pour le reste il suffit
|
||||||
|
que ce soit un code qui existe.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Un éditeur au courant</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Si vous avez correctement mis en place votre terminal (en particulier le
|
||||||
|
<code>LC_CTYPE</code> si vous vous connectez à distance), il n'y a quasiment
|
||||||
|
rien à faire.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Avec Vim</strong>, après avoir lancé normalement votre éditeur, vous
|
||||||
|
pouvez vérifier qu'il est a bien détecté que vous étiez en Unicode avec :
|
||||||
|
</p>
|
||||||
|
<pre>:set encoding
|
||||||
|
encoding=utf-8</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Si quand vous ouvrez un fichier, Vim écrit <code>[converted]</code> à 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 <code>fileencoding</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Avec Emacs</strong>, je n'ai aucune idée de comment on procède.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Taper ce qu'on veut</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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 <em>méthodes d'entrée</em>. Vous connaissez
|
||||||
|
certainement déjà celle qui utilise la touche Compose pour taper les accents
|
||||||
|
sur les claviers américains.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Les méthodes d'entrée d'UXTerm</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Si vous lancez <code>uxterm</code> 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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Avec <code>Compose-a-a</code>, on passe en <strong>arabe</strong>.</li>
|
||||||
|
<li>Avec <code>Compose-c-c</code>, on passe en <strong>cyrillique</strong>.</li>
|
||||||
|
<li>Avec <code>Compose-g-g</code>, on passe en <strong>grec</strong>.</li>
|
||||||
|
<li>Avec <code>Compose-h-h</code>, on passe en <strong>hébreu</strong>.</li>
|
||||||
|
<li>Avec <code>Compose-t-t</code>, on passe en <strong>thai</strong>.</li>
|
||||||
|
<li>Avec <code>Control-espace</code>, on revient en occidental.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Les méthodes d'entrée d'Emacs</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Termim</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Pour utiliser termim, il suffit de taper <code>termim</code> dans un
|
||||||
|
terminal Unicode. On a alors la configuration par défaut (qu'il est possible
|
||||||
|
de changer) :
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><strong>F1</strong> : clavier sans transformation.</li>
|
||||||
|
<li><strong>F2 e</strong> : caractères occidentaux, avec Ctrl-K comme
|
||||||
|
touche compose.</li>
|
||||||
|
<li><strong>F2 a</strong> : arabe.</li>
|
||||||
|
<li><strong>F2 c</strong> : cyrillique.</li>
|
||||||
|
<li><strong>F2 g</strong> : grec.</li>
|
||||||
|
<li><strong>F2 h</strong> : hébreu.</li>
|
||||||
|
<li><strong>F2 t</strong> : thai.</li>
|
||||||
|
<li><strong>F3 c</strong> : chinois simplifié (méthode tonepy).</li>
|
||||||
|
<li><strong>F3 k</strong> : coréen (phonétique).</li>
|
||||||
|
<li><strong>F3 h</strong> : coréen (clavier avec voyelles et consonnes).</li>
|
||||||
|
<li><strong>F3 j</strong> : japonais (utiliser la touche ` pour taper des
|
||||||
|
kanji).</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Pour plus de détails, consulter la page de man de termim, ainsi que les
|
||||||
|
documentations dans <code>/usr/local/util/packages/termim/doc/</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="metainformation">
|
||||||
|
Auteur : Nicolas George.
|
||||||
|
Dernière modification le <date value="$Date: 2003-06-12 14:58:36 $"/>.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in a new issue