Archive Liste Typographie
Message : Importance des noms des caractères

(Alain LaBonté ) - Mardi 10 Mars 1998
Navigation par date [ Précédent    Index    Suivant ]
Navigation par sujet [ Précédent    Index    Suivant ]

Subject:    Importance des noms des caractères
Date:    Tue, 10 Mar 1998 09:42:06 -0500
From:    Alain LaBonté  <alb@xxxxxxxxxxxxxx>

A 09:29 98-03-10 +0100, Thierry Bouche a écrit :
>Je trouve bizarre cet acharnement à vouloir donner _un_ nom à _un_
>glyphe (voire _un_ caractère)... En général, plusieurs glyphes peuvent
>noter plusieurs caractères, alors quel nom donner ?

   [Alain] :
   À l'ISO, le nom des caractères (et non des glyphes) est important. C'est
la seule relation fiable qui existe entre les différents jeux de caractères
codés pour permettre la conversion d'un caractère.

   Comme le dit Thierry, on ne peut se fier à un glyphe : le glyphe A, par
exemple, peut très bien représenter tout autant la lettre grecque ALPHA ou
la lettre cyrillique A que la lettre latine (or les 3 caractères sont
nettement distincts une fois codés, même dans le même jeu de caractères, et
chercher avec l'un d'eux ne permettra pas de retrouver les autres).

   Ces noms sont tellement importants que cela a même engendré une guerre,
qui s'est bien terminée en 1995. L'on voulait que les noms anglais soient
les seuls identifiants normatifs des caractères pour l'échange entre
machines de métadonnées concernant ces caractères. 

   Le Canada s'est fortement objecté (lors d'une réunion, à un cerrtain
point, j'étais seul contre 40 à vouloir encore renverser la vapeur pour que
les versions françaises des normes puissent nommer normativement les
caractères en français, et non en anglais!) et nous avons gagné cette
guerre, qui a donné lieu à plusieurs batailles, dont nous avions perdu la
première, à laquelle je n'avais pas assisté, n'ayant alors que contribué
par écrit sans présence à la réunion où cela avait été débattu (mais je ne
m'avoue pas facilement vaincu!) 

   La France (par correspondance) et l'Irlande (présente par
l'intermédiaire de Michael Everson, un Américain polyglotte) ont été les
seuls pays qui ont appuyé le Canada. Sans cette aide, nous n'aurions jamais
gagné. Et l'on avait aussi besoin d'un entêté (on dit au Québec « une tête
de cochon » -- vous pouvez maintenant rire!) comme moi pour faire sécher
les mèches, amorcer les canons et les déclencher à plusieurs reprises,
sinon tout cela n'aurait été qu'un gros pétard mouillé. 

   En France, les acteurs dont l'appui a été essentiel, moralement (sans
cet appui moral de tous les instants, par téléphone, j'aurais sombré dans
la dépression à Helsinki, en juin 1995!), sont Bernard Chauvois et le
dr Yves Neuville, tous deux inspecteurs généraux de l'Éducation nationale,
de même que Jean-Michel Borde, de l'AFNOR, qui s'est occupé d'urgence de
l'envoie de télécopies aux réunions pour nous appuyer. Au Canada, les
collaborateurs indispensables ont été le dr François Yergeau, de chez ALIS
Technologies, et le dr V.S. Umamaheswaran, de chez IBM. Tous ont eu un
poids essentiel et ont contribué à leur manière, dans cette guerre de
tranchées, qui fut très violente (il faut dire les choses comme elles
sont), après cinq ans de pratiques douteuses que nous avons finalement
éradiquées.

   La situation est dorénavant la suivante :

1. Dans une langue donnée, le nom d'un caractère est la référence
   de base qui permet à un humain de juger qu'un caractère est 
   l'équivalent d'un caractère codé autrement dans une autre norme
   ou un autre standard.

2. L'identifiant utilisable par les machines, ou permettant de faire le 
   lien entre les noms d'un caractère en différentes langues est 
   l'identifiant UCS, sous forme U[xxxx]xxxx, où x est un chiffre
   hexadécimal composant la valeur codée du caractère dans le « jeu 
   universel de caractères codés sur plusieurs octets » (ISO/CEI 10646, 
   en français JUC, en anglais UCS). Progressivement, l'on ajoute
   maintenant cet identifiant dans toutes les nouvelles versions de 
   normes ISO de jeux de caractères, quelle que soit la langue utilisée 
   dans la norme. C'est maintenant le cas, par exemple, pour toutes les 
   15 normes (ou projets de norme) de la série ISO/CEI 8859, en cours
   de vote ou en voie de republication.

Exemple concret :

   Caractère é -- identifiant : U000000E9
   Nom français équivalent : LETTRE MINUSCULE LATINE E ACCENT AIGU
   Nom anglais équivalent : LATIN SMALL LETTER E WITH ACUTE ACCENT
   Valeur codée selon ISO/CEI 8859-1 (ou 8859-15, etc.) : 14/09
   Valeur codée selon IBM EBCDIC CECP 037, version 1 : hexadécimal "51"
   Valeur codée selon les pages-codes du PC en mode DOS : décimal 130
   Valeur codée selon le jeu de base télétex, ISO/CEI 6937 : 12/02, 06/05
   Valeur codée dans le JUC, version 32 bits : hexadécimal "000000E9"
   Valeur codée dans le JUC, version 16 bits, ou dans Unicode : "00E9"
   Équivalence obtenue par composition dans Unicode : "0065" + "0301"

   (à noter la complication d'Unicode : dans ce cas, on a affaire 
   techniquement à deux caractères (un « e » suivi d'un accent aigu 
   combinatoire, qui produiront par composition un « é ») canoniquement 
   équivalents au caractère dont on parle ; mais il s'agit bel et bien
   de deux caractères dans le JUC, avec chacun leur nom et leur 
   identifiant propre ; le JUC ne reconnait pas d'emblée ces 
   équivalences, alors qu'Unicode les rend obligatoires ; c'est l'une 
   des seules subtilités qui font d'Unicode et du JUC deux jeux de 
   caractères identiques [si l'on se limite au premier plan du JUC, 
   identique en tous points à Unicode], mais d'application différente).

Alain LaBonté
Québec