À la découverte d'Unicode/La notion de caractère
Si de prime abord, la notion de caractère peut sembler évidente et triviale, vouloir la considérer dans son universalité l'est moins. On s'en rend compte en se questionnant sur l'écriture.
L'écriture
modifierL'écriture existe depuis environ 5 000 ans. Elle est apparue pour la première fois en Égypte (environ en 3300 av. J.-C.) et en Mésopotamie (environ en 3500 av. J.-C.). Pour la première fois, en 2400 av. J.-C., les Égyptiens écrivirent sur des papyrus. Le premier véritable alphabet naquit en 1400 av. J.-C. Au IIIe siècle av. J.-C., il y eut l'alphabet latin de 19 lettres, l'ancêtre de l'alphabet européen, qui fit son apparition.
La tradition veut que les caractères chinois aient été inventés par chinois* (c. 2750 av. JC). Ses compositions étaient fondées sur l’observation de la nature. Une autre tradition fait remonter l’invention des caractères à chinois*, le légendaire premier empereur[1].
Les sinogrammes connurent plusieurs formes. Leur forme actuelle, Kǎishū, remonte à la dynastie des Han.
Un texte est une succession de caractères organisée selon une langue.
Le dessin du caractère
modifierEn typographie, le caractère est, la petite pièce fondue, généralement en plomb, dont l’empreinte forme la lettre ou le signe qui permet d’imprimer des textes sur du papier. Un caractère alphabétique peut s'appeler simplement « lettre[2] ».
La typographie avec ses caractères mobiles et réutilisables débute avec l’invention de l’imprimerie au VIIe siècle et s’achève avec l’avènement de la photocomposition dans les années 1970[3].
Un jeu de caractères typographiques cohérents porte aussi le nom de fonte de caractères ou police de caractères.
Ceci répond à la question du matérialisme du caractère, à son dessin, mais non à son abstraction.
Le caractère abstrait, informatique
modifierEn informatique, le caractère est à la fois un type de donnée et une notion abstraite. Comme en typographie, un caractère informatique peut représenter une lettre minuscule, une lettre majuscule, un chiffre ou un signe de ponctuation, mais aussi une espace typographique, une tabulation, un retour à la ligne et quelques autres opérations spéciales (sonnerie, effacement, etc.) (notion de Caractère de contrôle).
En informatique, la notion de caractère est une notion qui dans le principe associe à un graphème imprimable un numéro, de manière à dissocier la représentation physique du caractère de sa signification.
Questions de définition
modifier- où l'on parle de ligature, de diacritiques, de casse, et d'ordre alphabétique.
À la lecture de textes latins et anglais la notion de caractères peut sembler simple. Lorsque l'on pose les notions de ligatures et de diactriques, la question se corse quelque peu.
Si les lettres e et o sont des caractères, la ligature œ formée par le positionnement de l'e dans l'o constitue-elle un caractère, ou bien deux ? De même la présence d'un accent sur la lettre e fait-elle de cette dernière un caractère différent, l'accent lui-même est-il un caractère ?
Toute lettre dispose-elle d'une graphie capitale et d'une graphie minuscule ? Si oui, cette graphie est-elle unique ?
La notion de caractère est-elle liée à la notion d'alphabet ? Si oui comment ? Et qu'est-ce que cela induit sur les algorithmes de tri informatique ?
Comment savoir si deux chaînes de caractères représentent le même texte ?
À toutes ces questions, Unicode apporte des réponses, tantôt issues d'un héritage, tantôt issues de compromis ou de situations de fait.
Cet ouvrage tente d'apporter les principales réponses à ces questions.
Unité de code et point de code
modifierParce qu'il est plus complet et plus complexe, l'approche d'Unicode nécessite un vocabulaire précisant certaines notions très techniques absentes des autres codages de caractères. Ces notions sont reprises dans le glossaire en fin d'ouvrage (Glossaire).
Toutefois elles sont tellement fondamentales dans la compréhension d'Unicode qu'il est indispensable de les comprendre dès le début.
Unicode définit notamment les notions suivantes :
- Unité de code
L'unité de code est l'unité dans laquelle un système informatique stocke ou échange les données. Il s'agit généralement d'un multiplet de 8, 16 ou 32 bits, que l'on appelle suivant le cas, octet, byte, mot, entier.
- Point de code, une entité abstraite
Les caractères sont groupés en blocs en fonction de leur usage et des écritures supportées, et reçoivent une identification numérique unique appelée point de code, identifiée généralement sous la forme U+xxxx (où xxxx est un nombre hexadécimal de 4 à 6 chiffres, entre U+0000 et U+10FFFF). La plage définie permet d'attribuer jusqu'à 1 114 112 points de code.
- Caractères et glyphes
Un point de code Unicode définit une entité abstraite comme la “lettre latine majuscule a” ou le “chiffre cinq bengali”. Sur l'écran ou le papier n'apparaît que le glyphe, la représentation visuelle du caractère.
Le standard Unicode ne définit pas l'image des glyphes. Il définit seulement ce que les caractères signifient.
- Texte, éléments de texte
Le standard Unicode ne définit pas ce qu'est un texte ou un élément de texte. Il définit seulement les encoded characters aussi connus sous le nom de points de code, qui sont des nombres allant de 0 à 10FFFF16 (hexadécimal).
Un élément textuel est représenté par une séquence de points de code.
Composition et équivalence de caractère
modifierUnicode contient de nombreux caractères. Pour maintenir la compatibilité avec des standards existants, certains d’entre eux sont équivalents à d’autres caractères ou à des séquences de caractères. Unicode fournit deux notions d’équivalence : canonique et de compatibilité, la première étant un sous-ensemble de la deuxième. Par exemple, le caractère n suivi du diacritique tilde ◌̃ est canoniquement équivalent et donc compatible au simple caractère Unicode ñ, tandis que la ligature typographique ff est seulement compatible avec la séquence de deux caractères f.
encoded characters Le lien (ou les liens) entre un caractère abstrait et les représentations encodées. Par exemple 0041 et 030A sont des formes encodées. A et Ȧ Å avant d'être affichés sont des abstractions. Elles peuvent être codées de différentes manières : 0041 et 030A, 00C5 ou 212B.
Notes de bas de page
modifier- ↑ . D’après Édouard Chavannes − dans son essai sur « La divination par l’écaille de tortue » − les caractères chinois seraient inspirés des dessins, que l’on trouve sur plusieurs milliers de fragments d’écaille de tortue et d’os, retrouvés près de la ville de Ngan Yang dans le nord du Hunan en 1899. D’après lui, ces fragments seraient antérieurs au premier millénaire av. JC. À l’origine, il semblerait que ces fragments servaient à la divination et aux augures. Les gouvernants s’en servaient pour régir leur destin et celui de leur peuple.
- ↑ Comme dans « peintre en lettre »
- ↑ Photocomposition