ISO/CEI 6937

ISO/CEI 6937, intitulée Technologies de l’information — Jeu de caractères graphiques codés pour la transmission de texte — Alphabet latin, est une norme internationale de l’ISO publiée pour la première fois en 1983 et définissant un codage de caractères étendant le codage ISO/CEI 646 (dont la variante la plus connue est ASCII). Elle a été conçue en collaboration avec l’UIT-T (le Secteur de la normalisation des télécommunications de l’Union internationale des télécommunicationsComité Consultatif International Téléphonique et Télégraphique à l’époque). Sa dernière actualisation date de 2009.

Ses principaux architectes furent Hugh McGregor Ross, Peter Fenwick, Bernard Marti et Luek Zeckendorf.

Ce jeu de caractères se distingue des précédents en ce que les lettres diacritées sont encodées sur deux octets, le premier indiquant le diacritique et le second, la lettre. L’encodage est ainsi à longueur variable, complication qui jointe à différents défauts peut expliquer la réticence de certains industriels à implémenter cette norme. Cet échec a porté préjudice à la langue française dans le sens où ISO/CEI 6937 est le premier jeu de caractères à supporter l’e dans l’o, et que ce défaut d’implémentation engendra indirectement l’exclusion de l’œ/Œ du jeu de caractères suivant, le Latin-1[1].

Répertoire

À un certain stade de la vie d’ISO/CEI 6937 le jeu de caractères comprenait 327 caractères graphiques, dont 159 caractères latins de base et symboles, 13 diacritiques, et 155 diacrités. Les caractères de contrôle C0 et C1 n’étant pas couverts par la norme, les 2×2 rangées sont réservées. C’est cet état plus le symbole € – ajouté pour la troisième édition en 2001 – qui est rendu dans les tableaux ci-dessous. En 1998 le rédacteur d’ISO/CEI 6937 fit état de 333 caractères (espace comprise)[2].

Caractères codés sur un octet

Les 128 premiers caractères reprennent le jeu US-ASCII ou ISO/CEI 646. Dans ISO/CEI 6937 cet ensemble s’appelle jeu primaire. Une exception : le symbole $ a été remplacé dans un premier temps par le symbole monétaire générique ‘¤’, mais cette anomalie a été corrigée par la suite.

Voici la liste d’origine du jeu primaire (noter le ¤ à la place du $) :

	!"#¤%&'()*+,-./0123456789:;<=>?@
	ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
	abcdefghijklmnopqrstuvwxyz{|}

Le jeu secondaire comporte divers symboles, entrecoupés de la rangée des diacritiques (C1..CF). On y trouve des originalités comme la croche (♪) en plus de 4 flèches simples et 7 fractions ordinaires[3]. Le jeu se termine par une série de lettres utilisées dans les langues d’Europe à écriture latine, qui sont entre autres des ligatures orthographiques (æ, ij, œ, ß), des lettres particulières (ed ð, eng ŋ, thorn þ, kra ĸ), ou encore des lettres avec un diacritique traversant (đ, ħ, ł, ø, ŧ). 10 positions étaient mises en attente, dont A4hex qui recut plus tard le symbole de l’euro.

Dans le tableau ci-après, les unicodes sont donnés à titre purement indicatif. En particulier les unicodes des diacritiques combinants accompagnant les diacritiques d’ISO/CEI 6937 ne signifient pas que ces derniers seraient combinants, car en réalité ils sont seulement des moitiés de code des caractères précomposés tels qu’ils figurent dans le tableau suivant.

Noter que la majuscule du D barré est manquante, l’utilisateur étant censé saisir un ed majuscule (Ð) qui a même aspect, tandis que les minuscules sont différentes : ð pour 0xF2, đ pour 0xF3. Unicode n’unifie pas ces deux majuscules.

Cette norme ne définit pas les caractères de contrôle 00hex à 1Fhex et 80hex à 9Fhex.

Légende :

  • Alphabétique
  • Caractère de contrôle
  • Chiffre
  • Ponctuation
  • Ponctuation étendue
  • Charactère graphique
  • International
  • Non défini
ISO/IEC 6937 (Latin)
_0_1 _2_3 _4_5 _6_7 _8_9 _A_B _C_D _E_F
 
0_
 


0


1


2


3


4


5


6


7


8


9


10


11


12


13


14


15
 
1_
 


16


17


18


19


21


21


22


23


24


25


26


27


28


29


30


31
 
2_
 
SP
0020
32
!
0021
33
"
0022
34
#
0023
35
$
0024
36
%
0025
37
&
0026
38
'
0027
39
(
0028
40
)
0029
41
*
002A
42
+
002B
43
,
002C
44
-
002D
45
.
002E
46
/
002F
47
 
3_
 
0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
 
4_
 
@
0040
64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
I
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
 
5_
 
P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90
[
005B
91
\
005C
92
]
005D
93
^
005E
94
_
005F
95
 
6_
 
`
0060
96
a
0061
97
b
0062
98
c
0063
99
d
0064
100
e
0065
101
f
0066
102
g
0067
103
h
0068
104
i
0069
105
j
006A
106
k
006B
107
l
006C
108
m
006D
109
n
006E
110
o
006F
111
 
7_
 
p
0070
112
q
0071
113
r
0072
114
s
0073
115
t
0074
116
u
0075
117
v
0076
118
w
0077
119
x
0078
120
y
0079
121
z
007A
122
{
007B
123
|
007C
124
}
007D
125
~
007E
126
DEL
007F
127
 
8_
 


128


129


130


131


132


133


134


135


136


137


138


139


140


141


142


143
 
9_
 


144


145


146


147


148


149


150


151


152


153


154


155


156


157


158


159
 
A_
 
NBSP
00A0
160
¡
00A1
161
¢
00A2
162
£
00A3
163

20AC
164
¥
00A5
165


166
§
00A7
167
¤
00A4
168

2018
169

201C
170
«
00AB
171

2190
172

2191
173

2192
174

2193
175
 
B_
 
°
00B0
176
±
00B1
177
²
00B2
178
³
00B3
179
×
00D7
180
µ
00B5
181

00B6
182
·
00B7
183
÷
00F7
184

2019
185

201D
186
»
00BB
187
¼
00BC
188
½
00BD
189
¾
00BE
190
¿
00BF
191
 
C_
 


192
̀
0300
193
́
0301
194
̂
0302
195
̃
0303
196
̄
0304
197
̆
0306
198
̇
0307
199
̈
0308
200


201
̊
030A
202
̧
0327
203


204
̋
030B
205
̨
0328
206
̌
030C
207
 
D_
 

2015
208
¹
00B9
209
®
00AE
210
©
00A9
211

2122
212

266A
213
¬
00AC
214
¦
00A6
215


216


217


218


219

215B
220

215C
221

215D
222

215E
223
 
E_
 
Ω
2126
224
Æ
00C6
225
Đ
0110
226
ª
00AA
227
Ħ
0126
228


229
IJ
0132
230
Ŀ
013F
231
Ł
0141
232
Ø
00D8
233
Œ
0152
234
º
00BA
235
Þ
00DE
236
Ŧ
0166
237
Ŋ
014A
238
ʼn
0149
239
 
F_
 
ĸ
0138
240
æ
00E6
241
đ
0111
242
ð
00F0
243
ħ
0127
244
ı
0131
245
ij
0133
246
ŀ
0140
247
ł
0142
248
ø
00F8
249
œ
0153
250
ß
00DF
251
þ
00FE
252
ŧ
0167
253
ŋ
014B
254
SHY
00AD
255
_0_1 _2_3 _4_5 _6_7 _8_9 _A_B _C_D _E_F

Caractères codés sur deux octets

Les 155 lettres diacritées qui font partie du jeu mais ne figurent pas dans le tableau ci-dessus sont encodées non pas sur un mais sur deux octets, dont le premier a la signification d’un diacritique pris dans une liste de 13 diacritiques supportés, et le second, une lettre prise dans le jeu primaire.

Que le g minuscule avec cédille (ģ) soit parmi les lettres avec accent aigu est une anomalie due à l’idée que par le fait de sa descendante cette lettre s’écrirait avec un accent aigu au lieu d’une virgule tournée (Ģ ģ) et s’appellerait en conséquence. Dans la troisième édition de la norme en 2001 le nom du g cédille minuscule a été mis en conformité avec Unicode, tandis que son encodage restait avec le code de l’accent aigu (C2hex) pour la rétrocompatibilité.

Caractères précomposés d’ISO/CEI 6937 encodés sur deux octets
Diacritique Code hexadécimal figurant en premier Caractères possibles comme 2e octet Caractères précomposés résultants
Accent grave 0xC1 AEIOUaeiou ÀÈÌÒÙàèìòù
Accent aigu 0xC2 ACEILNORSUYZacegilnorsuyz ÁĆÉÍĹŃÓŔŚÚÝŹáćéģíĺńóŕśúýź
Accent circonflexe 0xC3 ACEGHIJOSUWYaceghijosuwy ÂĈÊĜĤÎĴÔŜÛŴŶâĉêĝĥîĵôŝûŵŷ
Tilde 0xC4 AINOUainou ÃĨÑÕŨãĩñõũ
Macron 0xC5 AEIOUaeiou ĀĒĪŌŪāēīōū
Brève 0xC6 AGUagu ĂĞŬăğŭ
Point en chef 0xC7 CEGIZcegz ĊĖĠİŻċėġż
Tréma 0xC8 AEIOUYaeiouy ÄËÏÖÜŸäëïöüÿ
Rond en chef 0xCA AUau ÅŮåů
Cédille 0xCB CGKLNRSTc(voir aigu)klnrst ÇĢĶĻŅŖŞŢç(voir aigu)ķļņŗşţ
Double accent aigu 0xCD OUou ŐŰőű
Ogonek 0xCE AEIUaeiu ĄĘĮŲąęįų
Háček (“Caron”) 0xCF CDELNRSTZcdelnrstz ČĎĚĽŇŘŠŤŽčďěľňřšťž

Avantages et limites

Si cette norme a été supplantée par ISO/CEI 8859 puis par Unicode (ISO/CEI 10646), elle n’en conserve pas moins une importance historique en ce qu’elle permet d’expliquer un certain nombre de problèmes qui impactent encore de nos jours l’expression écrite de la Francophonie.

Points forts

  • Encodage sous forme de jeu de caractères unique d’un nombre bien supérieur aux 28=256 caractères, premier encodage à longueur variable.
  • Prise en charge de l’e dans l’o et de l’ij en plus de l’Æ (toujours bien supporté car étant une lettre danoise) ainsi que de divers symboles. Ce support accordé au français et au néerlandais était dû à n’en pas douter à l’engagement des membres français et néerlandais de l’équipe d’architectes, Bernard Marti et Luek (Loek) Zeckendorf.

Points neutres

  • Velléité de recaler au rang de simple symbole monétaire le $ pourtant utilisé dans les langages de programmation. Sans accès à la première version du standard on peut simplement supposer que le $ et le ¤ étaient permutés, le premier finissant dans le jeu supplémentaire. Mais dans la version représentée dans le tableau ci-dessus le $ a déjà repris sa place traditionnelle. Le principal architecte ayant été britannique, on peut suspecter des raisons politiques derrière cette valse du symbole dollar, à l’instar de celles qui animèrent plus tard le premier rédacteur en chef d’ISO/CEI 10646, pareillement britannique, à insister lors des négociations de fusion pour qu’Unicode adopte les formes britanniques des noms de caractères[4].
  • Absence de prise en charge de la virgule souscrite du Roumain, différenciée d’avec la cédille. Mais la désunification des deux diacritiques aurait eu de lourdes conséquences politiques[5].

Faiblesses

  • Pas de support pour le grec et le cyrillique, de sorte que l’Europe n’est pas couverte.
  • Pas de support pour les langues africaines, notamment le bambara parlé au sein de la Francophonie (notamment au Mali et utilisant depuis l’année précédente (1982) trois lettres non couvertes (Ɛ, Ɲ, Ɔ).
  • Pas d’octet diacritique rayé/barré alors que 2 ou 3 places dans la rangée des diacritiques sont vides. Ce diacritique aurait permis d’économiser jusqu’à 10 places. Effet secondaire : les lettres rayées étaient disposées toutes sur des touches jusqu’en 2010, année où Karl Pentzlin rationalisa ces diacrités par l’ajout d’une touche morte rayé et d’une touche morte barré sur les claviers DIN 2137:2012 T2 et T3.
  • Le double diacritage est impossible, ce qui exclut le support du vietnamien] et des autres langues – y compris européennes – écrites avec des doubles diacrités : letton, lituanien, …
  • Oubli des guillemets allemands : Les guillemets-virgules simples et doubles sont présents mais la variante basse (surtout double : „) manque, qui s’utilise en allemand, langue pourtant couverte par ce jeu de caractères.
  • Absence des guillemets-chevrons simples ( ), utilisés couramment pour les citations nichées en allemand (› ‹), et recommandée aussi dans les autres langues utilisant les guillemets-chevrons (doubles : « »).
  • Impasse sur les chiffres en exposant autres qu’1, 2 et 3, ainsi que sur les chiffres en indice alors que l’architecture permettait d’encoder tous ces caractères avec les octets circonflexe et háček (“caron”). Partant, les utilisateurs sont privés de la possibilité de saisir des fractions “vulgaires” personnalisées, et l’expression est cantonnée aux quarts et huitièmes disponibles aussi sur certaines machines à écrire néerlandaises, c’est-à-dire au pays dont était originaire l’un des architectes.
  • Omission des flèches obliques, pourtant gravées sur les pavés numériques, et des flèches doubles alors même qu’elles étaient facilement encodables à l’aide des octets pour l’accent aigu et le double accent aigu existants suivis des chiffres correspondants.
  • Unification des majuscules de l’ed (ð, Ð) et du d barré (đ, Đ) conduisant à des dysfonctionnements en traitement de texte (conversion de la casse), alors qu’il restait une dizaine de places libres.
  • Changement de diacritique au changement de casse pour le G cédille (Ģ, ģ) qui complique l’implémentation de l’entrée de texte et de la conversion de la casse.

Alors même que l’architecture d’ISO/CEI 6937 autorise l’encodage sur deux octets d’un ensemble de caractères arbitraires, la norme est construite comme si l’octet diacritique était une sorte de diacritique combinant, ou plutôt fonctionnait un peu comme dans ISO/CEI 646. Cette caractéristique donne à ISO/CEI 6937 l’aspect d’une étape intermédiaire, tiraillée entre deux époques, une sorte de balbutiement pré-Unicode. Ainsi ISO/CEI 6937 a un côté inachevé voire inconséquent et reste malheureusement en deçà de son potentiel. Vu d’aujourd’hui, tout se passait comme si ce n’était pas encore l’heure de l’encodage à longueur variable, difficile à implémenter et en l’occurrence si peu gratifiant en fin de compte qu’ISO/CEI 6937 peinait à convaincre les industriels. Trois ans après sa première publication l’un des plus grands n’avait toujours pas implémenté son jeu de caractères dans ses imprimantes[6].

Utilisation et influence

ISO/CEI 6937 a été utilisée en Télétexte[7]. À cet effet elle a même été complétée du symbole de l’euro.

L’IANA a enregistré les noms du jeu de caractères ISO_6937-2-25 et ISO_6937-2-add pour deux versions plus anciennes de cette norme (plus les codes de contrôle). Mais en pratique cet encodage n’est pas utilisé sur internet.

La séquence d'échappement ISO/CEI 2022 pour spécifier le côté droit du jeu de caractères ISO/CEI 6937 est ESC - R (hex 1B 2D 52)[8].

ISO/CEI 6937 a profondément influencé le Jeu partiel européen multilingue 1 (Multilingual European Subset 1, MES-1) de 1998, dans lequel elle est entièrement incluse tout en étant complétée de 29 lettres majuscules/minuscules[9], dont notamment le D barré majuscule, et du symbole de l’euro. Par ce biais elle se retrouve sur les dispositions de clavier conformes à ISO/CEI 9995-3:2002, notamment le clavier Canadien multilingue standard, et par rétrocompatibilité aussi sur les claviers allemands T2 et T3 de 2012, conformes à ISO/CEI 9995-3:2010.

Étant donné que la France est politiquement obligée d’implémenter cette dernière norme sur le nouveau clavier français de France[pourquoi ?], les choix des architectes d’ISO/CEI 6937 laisseront des traces sur nos claviers à tout jamais.

Notes et références

  1. Jacques André, « ISO-Latin-1, norme de codage des caractères européens ? trois caractères français en sont absents ! - CG_1996___25_65_0.pdf », (consulté le )
  2. Keld Jørn Simonsen, « Unicode Mail List Archive: Re: ISO 6937 », (consulté le )
  3. Ce qui s’appelle vulgar fraction en anglais ou « fraction vulgaire » à l’époque moderne est une fraction ordinaire en français contemporain. Voir dans la traduction française des tableaux de codes Unicode. — Edward Cherlin, « Unicode Mail List Archive: Re: Fractions », (consulté le )
  4. Andrew West, « BabelStone: Unicode Character Names Part 2 : A Name is for Life », (consulté le )
  5. Johan W. van Wingen, « Netherlands Position Paper », (consulté le )
  6. Lire les conséquences de cette situation dans l’article cité de Jacques André.
  7. ETS 300 706 - Enhanced Teletext specification p. 116
  8. Supplementary Set of ISO/IEC 6937:1992 The high-ASCII half of the character set. (Le côté gauche est U.S. ASCII.)
  9. Information Technology - Multilingual European Subsets of ISO/IEC 10646-1 p. 10

Voir aussi

Liens externes

ISO/IEC 6937:2001 Information technology — Coded graphic character set for text communication — Latin alphabet, ISO/IEC, (lire en ligne) (La troisième édition (2001) de cette norme est accessible et téléchargeable en entier gratuitement via la fonctionnalité d’aperçu sur le site officiel de l’ISO à l’adresse indiquée. Sa dernière édition date de 2009.)

  • Portail de l’écriture
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.