Accueil |

Unicode

                

Unicode est un standard informatique développé par le Consortium Unicode qui vise à  donner à  tout caractère de n'importe quel système d'écriture de langue un identifiant numérique unique, et ce de manière unifiée, quelle que soit la plate-forme informatique ou le logiciel.

Sommaire
1 But
2 Normes et versions
3 Les polices de caractères Unicode
4 Partitionnement
5 Voir aussi
6 Liens externes
7 Autres références

But

Unicode, dont la première publication remonte à  1991, a été développé dans le but de remplacer l'utilisation de pages de code nationales.

Dans la pratique, tous les systèmes d'écriture ne sont pas encore présents, car un travail de recherche documentaire auprès de spécialistes peut encore s'avérer nécessaire pour des caractères rares ou des systèmes peu connus (parce que disparus par exemple).

Cependant, tous les systèmes les plus utilisés dans le monde sont représentés, ainsi que des règles sur la sémantique des caractères, leurs compositions et la manière de combiner ces différents systèmes (par exemple, comment insérer un système d'écriture de droite à  gauche dans un système d'écriture de gauche à  droite ?).

Normes et versions

Le travail sur Unicode est parallèle et synchronisé avec celui sur la norme ISO/CEI 10646 dont les buts sont les mêmes. L'ISO/CEI 10646, une norme internationale publiée en français et en anglais, ne précise cependant ni les règles de composition de caractère, ni les propriétés sémantiques des caractères.

Unicode aborde cependant la problématique de la casse, du classement alphabétique, et de la combinaison d'accentss et de caractères.

Les caractères de la version 3.0 d'Unicode ont les même identifiants que ceux de la norme ISO/CEI 10646:2000.

La version 3.2 d'Unicode classe 95 221 caractères, symboles et directives.

La version actuelle est la version 4.0.

Des problèmes semblent cependant exister, pour le codage des caractères chinois .

La limite de l'octet

Là  o๠l'ASCII utilise 7 bits et le latin-1, ou ISO-8859-1, 8 bits (comme la plupart des pages de codes nationales), Unicode, qui rassemble les caractères de chaque pages de code, avait besoin d'utiliser plus de 8 bits, soit un octet. La limite fut dans un premier temps fixée à  16 bits puis est désormais placées entre 20 et 21 bits par caractère. Pour différentes raisons, Unicode accepte trois formes de présentation pour représenter un caractère (au sens de symbole) : l'UTF-8, l'UTF-16 et l'UTF-32. Le chiffre après UTF représente le nombre de bits sur lequel le caractère est codé.

L'UTF-8 est le plus commun pour les applications Internet. Son codage de taille variable lui permet d'être en moyenne moins coà»teux en occupation mémoire. L'UTF-8 assure aussi une compatibilité avec les manipulations simples de chaînes en ASCII ou latin-1 dans les langages de programmation. UTF-8 est donc compatible avec les anciens programmes.

L'UTF-16 est un bon compromis lorsque la place mémoire n'est pas trop restreinte, car la très grande majorité des caractères Unicode assignés pour l'instant, qui sont les caractères les plus fréquemment utilisés, peut être représentée sur 16 bits. Il a l'avantage que tous les caractères prennent la même place (2 octets). C'est notamment l'encodage qu'utilise la plateforme Java en interne.

L'UTF-32 est utilisé lorsque la place mémoire n'est pas un problème et que l'on a besoin d'avoir accès à  des caractères de manière directe et sans changement de taille. (Hiéroglyphes).

Les polices de caractères Unicode

Avant de parler de police Unicode, il faut bien comprendre un principe essentiel : dire qu'Unicode code des caractères revient à  dire qu'il attribue un numéro à  des symboles. Unicode ne code en revanche pas les descriptions des caractères, les glyphes (le terme typographique français est Å“il, pluriel Å“ils), c'est-à -dire la représentation graphique du caractère. Il n'y a donc pas une bijection entre la représentation du caractère et son numéro comme c'est le cas dans une police ASCII ou latin-1 classique.

Ainsi, le caractère français é peut-il être décrit de deux manières : soit en utilisant directement le numéro correspondant au é , soit en faisant suivre le numéro du 'e' par celui de l'accent aigu sans chasse. Quelle que soit l'option choisie le même glyphe sera affiché. On dira du premier caractère qu'il est précomposé, du second que c'est une composition (deux caractères forment un seul glyphe composé des deux). De nombreux glyphes sont dans ce cas et peuvent être codés de ces deux manières. Le plus souvent, le glyphe précomposé est préférable (c'est le cas pourle grec polytonique, par exemple, lequel, codé en décomposition, peut ne pas être satisfaisant graphiquement : selon les polices de caractères, les différents constituants du glyphe sont parfois mal disposés et peu lisibles).

De même, certains systèmes d'écriture, comme la devanagari ou les caractères arabes, nécessitent un traitement complexe des ligaturess : les graphèmes changent en effet de forme en fonction de leur position et/ou par rapport à  leurs voisines (cf. Variante contextuelle et Lettre conjointe).

On comprend donc que le terme de police Unicode doit être utilisé très prudemment. Avoir une police qui représente un certain nombre ou toutes les représentations graphiques que l'on peut obtenir avec Unicode n'est pas suffisant, il faut en plus que le système d'affichage possède les mécanismes de représentation idoines (ce que l'on nomme le moteur de rendu).

Au contraire, une police qui ne représente que certains caractères mais qui sait comment les afficher mérite mieux le terme de police Unicode.

Partitionnement

Le partitionnement à  jour peut être trouvé sur le site officiel d'Unicode. Cependant, vu le rà´le important d'Unicode (ISO 10646) cette section décrit les principaux blocs. Les noms français sont les noms officiels de l'ISO/CEI 10646 la norme internationale bilingue qui reprend les mêmes caractères qu'Unicode, ils sont aussi officiels que les noms anglais.
  1. Note: La casse des noms de bloc n'est pas normative.
  2. « Latin de base Â» est donc équivalent à  Â« LATIN DE BASE Â»

  3. Code de début ..Code de fin; nom du Bloc
0000..007F; Latin de base 0080..00FF; Supplément Latin-1 0100..017F; Latin étendu A 0180..024F; Latin étendu B 0250..02AF; Alphabet phonétique international (API) 02B0..02FF; Lettres modificatives avec chasse 0300..036F; Diacritiques 0370..03FF; Grec et copte 0400..04FF; Cyrillique 0500..052F; Supplément cyrillique 0530..058F; Arménien 0590..05FF; Hébreu 0600..06FF; Arabe 0700..074F; Syriaque 0780..07BF; Thà¢na 0900..097F; Dévanà¢garî 0980..09FF; Bengali 0A00..0A7F; Gourmoukhî 0A80..0AFF; Goudjerate 0B00..0B7F; Oriya 0B80..0BFF; Tamoul 0C00..0C7F; Télougou 0C80..0CFF; Kannara 0D00..0D7F; Malayalam 0D80..0DFF; Singhalais 0E00..0E7F; Tha௠0E80..0EFF; Lao 0F00..0FFF; Tibétain 1000..109F; Birman 10A0..10FF; Géorgien 1100..11FF; Jamos hangà»l 1200..137F; Éthiopien 13A0..13FF; Chérokî 1400..167F; Syllabaires autochtones canadiens 1680..169F; Ogam 16A0..16FF; Runes 1700..171F; Tagalog ou tagal 1720..173F; Hanounà³o 1740..175F; Bouhid 1760..177F; Tagbanoua 1780..17FF; Khmer 1800..18AF; Mongol 1900..194F; Limbu 1950..197F; Taà¯-le 19E0..19FF; Symboles khmers 1D00..1D7F; Supplément phonétique 1E00..1EFF; Latin étendu additionnel 1F00..1FFF; Grec étendu 2000..206F; Ponctuation générale 2070..209F; Exposants et indices 20A0..20CF; Symboles monétaires 20D0..20FF; Signes combinatoires pour symboles 2100..214F; Symboles de type lettre 2150..218F; Formes numérales 2190..21FF; Flèches 2200..22FF; Opérateurs mathématiques 2300..23FF; Signes techniques divers 2400..243F; Pictogrammes de commande 2440..245F; Reconnaissance optique de caractères 2460..24FF; Alphanumériques cerclés 2500..257F; Filets 2580..259F; Pavés 25A0..25FF; Formes géométriques 2600..26FF; Symboles divers 2700..27BF; Casseau 27C0..27EF; Divers symboles mathématiques - A 27F0..27FF; Supplément A de flèches 2800..28FF; Combinaisons Braille 2900..297F; Supplément B de flèches 2980..29FF; Divers symboles mathématiques-B 2A00..2AFF; Opérateurs mathématiques supplémentaires 2B00..2BFF; Divers symboles et flèches 2E80..2EFF; Formes supplémentaires des clés CJC 2F00..2FDF; Clés chinoises (K'ang-hsi ou Kangxi) 2FF0..2FFF; Description idéophonographique 3000..303F; Symboles et ponctuation CJC 3040..309F; Hiragana 30A0..30FF; Katakana 3100..312F; Bopomofo 3130..318F; Jamos de compatibilité hangà»l 3190..319F; Kanboun 31A0..31BF; Bopomofo étendu 31F0..31FF; Extension phonétique katakana 3200..32FF; Lettres et mois CJC cerclés 3300..33FF; Compatibilité CJC 3400..4DB5; Supplément A aux idéophonogrammes unifiés CJC 4DC0..4DFF; Hexagrammes du Classique des mutations ou Yi-king 4E00..9FA5; Idéophonogrammes unifiés CJC A000..A48F; Syllabaire yi des Monts frais A490..A4CF; Clés yi AC00..D7A3; Hangà»l D800..DB7F; Demi-zone haute ☒DB80..DBFF; Partie à  usage privé de la demi-zone haute DC00..DFFF; Demi-zone basse ☒E000..F8FF; Zone à  usage privé F900..FAFF; Idéogrammes de compatibilité CJC FB00..FB4F; Formes de présentation alphabétiques FB50..FDFF; Formes A de présentation arabes FE00..FE0F; Sélecteurs de variante FE20..FE2F; Demi-signes combinatoires FE30..FE4F; Formes de compatibilité CJC FE50..FE6F; Petites variantes de forme FE70..FEFF; Formes B de présentation arabes FF00..FFEF; Formes de demi et pleine chasse FFF0..FFFF; Caractères spéciaux 10000..1007F; Syllabaire linéaire B ou syllabaire mycénien 10080..100FF; Idéogrammes du linéaire B 10100..1013F; Nombres égéens 10300..1032F; Alphabet italique 10330..1034F; Gotique 10380..1039F; Ougaritique 10400..1044F; Déséret 10450..1047F; Shavien 10480..104AF; Osmanya 10800..1083F; Syllabaire chypriote 1D000..1D0FF; Symboles musicaux byzantins 1D100..1D1FF; Symboles musicaux occidentaux 1D300..1D35F; Symboles du Classique du mystère suprême 1D400..1D7FF; Symboles mathématiques alphanumériques

20000..2A6D6; Supplément B aux idéogrammes unifiés CJC 2F800..2FA1F; Supplément aux idéogrammes de compatibilité CJC

E0000..E007F; Étiquettes E0100..E01EF; Supplément de sélecteur de variante

☒FFF80..FFFFF; Zone supplémentaire A à  usage privé ☒10FF80..10FFFF; Zone supplémentaire B à  usage privé

Les zones à  usage privé indiquées par le symbole ☒ ne contiennent pas les mêmes glyphes d'une police à  l'autre et doivent donc être évités sur Wikipédia.

Voir aussi

Liens externes

Autres références