À 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.

Caractère de la police Garamond en 12 points formant la ligature du s long et du i
Caractères en plomb dans une casse avec le composteur posé sur le dessus.
Caractère typographique Didot.

L'écriture

modifier

L'é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

modifier

En 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

modifier

En 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

modifier

Parce 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

modifier

Unicode 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
  1. . 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.
  2. Comme dans « peintre en lettre »
  3. Photocomposition
Ce livre a besoin d'une relecture 

Ce livre a besoin d'une relecture par un tiers pour corriger les diverses fautes, incohérences, imprécisions, manques et répétitions qui pourraient subsister dans le texte.