ISO 8859

Infos
ISO 8859, également appelée plus formellement ISO/CEI 8859, est une norme commune de l'ISO et de la CEI de codage de caractères sur 8 bits pour le traitement informatique du texte. Le standard est divisé en parties numérotées publiées séparément, telles que ISO/CEI 8859-1, ISO/CEI 8859-2, etc., chacune pouvant être référencée de façon informelle comme norme en tant que telle. La norme comprend actuellement 16 parties.
ISO 8859

ISO 8859, également appelée plus formellement ISO/CEI 8859, est une norme commune de l'ISO et de la CEI de codage de caractères sur 8 bits pour le traitement informatique du texte. Le standard est divisé en parties numérotées publiées séparément, telles que ISO/CEI 8859-1, ISO/CEI 8859-2, etc., chacune pouvant être référencée de façon informelle comme norme en tant que telle. La norme comprend actuellement 16 parties.

Introduction

Alors que les 96 caractères ASCII imprimables suffisent à l'échange d'informations en anglais courant, la plupart des autres langues qui utilisent l'alphabet latin ont besoin de symboles additionnels non couverts par l'ASCII, tels que ß (allemand), å (suédois et d'autres langues nordiques). ISO 8859 a cherché à remédier à ce problème en utilisant le huitième bit de l'octet, pour donner de la place à 128 caractères supplémentaires. (Ce bit était jadis utilisé pour le contrôle de l'intégrité des données (bit de parité), ou était inutilisé.) Cependant, il fallait plus de caractères qu'on n'en pouvait mettre dans un jeu de caractères 8 bits, aussi plusieurs tables de correspondances ont été développées, en incluant au moins 10 tables pour couvrir uniquement l'écriture latine. La norme ISO 8859-n n'est pas totalement identique aux codages de caractères bien connus ISO-8859-n approuvés par l'IANA pour l'utilisation sur l'Internet. Au-delà du trait d'union ajouté présent dans le nom approuvé par l'IANA, les codages diffèrent de sorte que chaque partie de la norme ISO assigne, au maximum, 191 caractères dans les étendues d'octets 32 à 126 et 160 à 255, alors que le codage de caractère correspondant approuvé par l'IANA fusionne ces tables de correspondances avec le jeu de contrôle C0 (caractères de contrôles positionnés aux octets de 0 à 31) de l'ISO 646 et le jeu de contrôle C1 (caractères de contrôles positionnés aux octets de 127 à 159) de l'ISO 6429, ce qui conduit à des tables de caractères 8 bits complètes, avec la plupart, sinon la totalité, des valeurs d'octets assignées. On utilise généralement ISO-8859-n comme nom MIME pour ces jeux de caractères. Beaucoup de gens emploient les termes ISO 8859-n et ISO-8859-n l'un pour l'autre.

Caractères

La norme ISO 8859 est conçue pour l'échange fiable d'informations, et non pour la typographie ; elle omet des symboles nécessaires pour la typographie de haute qualité, tels que les ligatures optionnelles, les guillemets incurvés, les tirets, etc. De ce fait, les systèmes de composition avancés utilisent souvent des extensions propriétaires ou idiosyncratiques au-delà des standards ASCII et ISO 8859, ou utilisent plutôt Unicode. En général, si un caractère ou le symbole ne faisait pas déjà partie d'un jeu de caractères informatique largement utilisé et n'était pas non plus disponible sur la plupart des claviers de machines à écrire pour une langue nationale, il n'était pas inclus. Par conséquent, les guillemets doubles directionnels («, ») utilisés pour quelques langues européennes ont été inclus, mais pas les guillemets double directionnel (, ) utilisés pour l'anglais et quelques autres langues. Le français n'a pas obtenu ses ligatures « œ » et « Œ » parce que les francophones n'avaient pas eu suffisamment besoin d'elles pour les exiger sur leurs claviers ; ni le Ÿ, malgré le fait que ce caractère soit pourtant utilisé dans des noms propres de famille et de lieux. Cependant, ces caractères ont été inclus plus tard dans l'ISO 8859-15, qui a introduit aussi le nouveau caractère de l'Euro . De même le néerlandais n'a pas obtenu les lettres ij et IJ parce que les néerlandophones s'étaient habitués à la dactylographie de ces lettres plutôt comme deux caractères. Au début, le roumain n'a pas obtenu ses lettres 'Ș/ș' et 'Ț/ț', parce que ces lettres ont d'abord été unifiées avec 'Ş/ş' et 'Ţ/ţ' par le Consortium Unicode qui considérait les formes avec virgule souscrite comme des variantes de glyphe des formes avec cédille. Cependant, les lettres avec virgule souscrite ont été ajoutées ultérieurement à la norme Unicode et sont aussi dans ISO 8859-16. La plupart des codes ISO 8859 fournissent des signes diacritiques requis pour diverses langues européennes. D'autres fournissent des alphabets non-romains : grec, cyrillique, hébreu, arabe et thaï. La plupart des codages ne contiennent que des caractères avec chasse, bien que les codages hébreux and arabe contiennent aussi des caractères combinatoires. Cependant, la norme ne fournit rien pour les caractères de langues de l'est asiatique (CJC), car leur système d'écriture idéographique exige de nombreux milliers de points de code. Bien qu'il utilise à la base des caractères latins, le vietnamien, lui aussi, n’est pas susceptible d’être représenté en 96 positions (sans utiliser des diacritiques combinatoires). Les syllabaires japonais Kana, quant à eux, le pourraient, mais, comme plusieurs autres alphabets du monde, ne sont pas codés dans le système ISO 8859.

Les parties du standard ISO 8859

ISO 8859 est constitué à ce jour des parties suivantes :
- ISO 8859-1 (latin-1 ou européen occidental) — probablement la partie la plus largement utilisée de ISO 8859, couvrant la plupart des langues européennes occidentales : l'allemand, l'anglais, le basque, le catalan, le danois, l'écossais, l'espagnol, le féringien, le finnois (partiellement²), le français (partiellement²), l'islandais, l'irlandais, l'italien, le néerlandais (partiellement¹), le norvégien, le portugais, le rhéto-roman et le suédois, certaines langues européennes sud-orientales (l'albanais), ainsi que des langues africaines (l'afrikaans et le swahili). Le symbole de l'euro et la capitale Ÿ, qui manquaient, sont dans la version révisée ISO 8859-15 (latin-9). Le jeu de caractères correspondant ISO-8859-1, approuvé par l'IANA, est le codage par défaut des anciens documents HTML ou des documents transmis par messages MIME, tels que les réponses HTTP quand le type de média du document est « text » (par exemple les documents « text/html »).
- ISO 8859-2 (latin-2 ou européen central) — prend en charge celles des langues d'Europe centrale ou de l'Est basées sur un alphabet romain. Ceci inclut le bosniaque, le croate, le polonais, le tchèque, le slovaque, le slovène et le hongrois. Le symbole de l'euro manquant est présent dans la version ISO 8859-16.
- ISO 8859-3 (latin-3 ou européen du Sud) — le turc, le maltais, et l'espéranto ; largement supplanté par ISO 8859-9 pour le turc, et par Unicode pour l'espéranto.
- ISO 8859-4 (latin-4 ou européen du Nord) — l'estonien, le letton, le lituanien, le groenlandais, et le sami.
- ISO 8859-5 (cyrillique) — Couvre la plupart des langues slaves utilisant un alphabet cyrillique, y compris le biélorusse, le bulgare, le macédonien, le russe, le serbe et l'ukrainien (partiellement³).
- ISO 8859-6 (arabe) — Couvre les caractères les plus courants de l'arabe. Ne prend pas en charge d'autres langues à alphabet arabe. Nécessite un moteur de rendu qui prend en charge l'affichage bi-directionnel et l'analyse contextuelle.
- ISO 8859-7 (grec) — Couvre la langue grecque moderne (orthographe monotonique). Peut être utilisé aussi pour le grec ancien écrit sans accents ou dans l'orthographe monotonique, mais il manque les signes diacritiques pour l'orthographe polytonique. Ceux-ci ont été introduits avec Unicode.
- ISO 8859-8 (hébreu) — Couvre l'alphabet hébraïque moderne tel qu'il est utilisé en Israël. En pratique, deux codes différents existent : ordre logique (nécessite un moteur de rendu bi-directionnel pour l'affichage) et ordre visuel (gauche à droite).
- ISO 8859-9 (latin-5 ou turc) — Grosso modo le même que l'ISO 8859-1, où les lettres islandaises peu utilisées sont remplacées par des lettres turques. Il est aussi utilisé pour le kurde.
- ISO 8859-10 (latin-6 ou nordique) — Un réarrangement du latin-4. Considéré plus utile pour les langues nordiques. Les langues baltes utilisent plus souvent le latin-4.
- ISO 8859-11 (thaï) — Contient la plupart des glyphes requis pour la langue thaï.
- ISO 8859-12 — Était supposé couvrir l'alphabet devanāgarī, mais ce projet a été abandonné en 1997. ISCII et Unicode/ISO/CEI 10646 couvrent le devanāgarī.
- ISO 8859-13 (latin-7 ou balte) — Ajoute quelques caractères supplémentaires pour les langues baltes qui manquaient en latin-4 et latin-6.
- ISO 8859-14 (latin-8 ou celtique) — Couvre des langues celtiques telles que l’irlandais (orthographe traditionnelle), le gaélique écossais, le mannois (langue disparue) et le breton (certaines anciennes orthographes).
- ISO 8859-15 (latin-9 ou parfois de façon impropre latin-0) — une révision de 8859-1 qui abandonne quelques symboles peu utilisés, les remplaçant avec le symbole de l'euro € et les lettres Š, š, Ž, ž, Œ, œ, et Ÿ, ce qui complète la couverture du français, du finnois et de l'estonien.
- ISO 8859-16 (latin-10 ou européen du Sud-Est) — Prévu pour l’albanais, le croate, le hongrois, l'italien, le polonais, le roumain et le slovène, mais aussi le finlandais, le français, l'allemand et l’irlandais (en nouvelle orthographe). Cette police mise plus sur les lettres que les symboles. Le signe de monnaie est remplacé par le symbole de l'Euro. Notes :
- ¹ : seul le IJ/ij (Dutch Y) manque, et peut être représenté comme IJ.
- ² : les caractères manquants sont dans l'ISO 8859-15.
- ³ : les caractères manquants “Ґ/ґ” ont été réintroduits en ukrainien en 1991, mais il y manque aussi le nouveau symbole (défini en 2004) de la devise monétaire ukrainienne, la hryvnia, ainsi que celui de l’euro ; la norme ISO 8859 étant désormais fermée, l’Ukraine a produit un autre jeu de caractères sur 8 bits dérivé de l’ancienne variante ukrainienne KOI-8U de l’ancienne norme soviétique (en voie d’obsolescence) mais utilise de plus en plus soit Unicode, soit le jeu de caractères Windows « ANSI cyrillique » (page de code 1253). Chaque partie d'ISO 8859 est conçue pour représenter des langues qui empruntent souvent l’une de l'autre, ainsi les caractères nécessaires pour chaque langue sont d’habitude accommodés par une partie seule. Cependant, il y a quelques combinaisons de caractères et langue qui ne sont pas accommodées sans les transcriptions. Les efforts ont été faits pour rendre les conversions le plus facile possible. Par exemple, l’allemand a tous ses sept caractères spéciaux aux mêmes positions dans toutes les variantes latines (1-4, 9-10, 13-16), et en beaucoup de positions les caractères diffèrent seulement par les signes diacritiques qui varient entre les séries. En particulier, les variantes 1-4 ont été conçues conjointement et ont la propriété que chaque caractère codé apparaît à une seule position donnée ou pas du tout.

Table

À la position 0xA0 il y a toujours l'espace insécable (non breaking space, NBSP) et la position 0xAD est attribuée (sauf dans ISO 8859-11) au trait d’union conditionnel (soft hyphen, SHY), qui est seulement visible aux coupures de ligne. Les autres champs vides sont soit non attribués soit des caractères que le système utilisé n'est pas capable d’afficher.

Relations avec Unicode et UCS

Depuis 1991, le consortium Unicode a travaillé avec l'ISO pour développer Unicode et ISO/CEI 10646 : le jeu de caractères universel (UCS : Universal Character Set) en tandem. Cette paire de normes a été créée pour unifier, entre autre, le répertoire de caractère ISO 8859, en associant, initialement, chaque caractère à une valeur de code sur 16 bits ; quelques valeurs de code restant non attribuées. Progressivement, leurs modèles ont été adaptés pour permettre la mise en correspondance des caractères avec des points de code numériques abstraits plutôt qu'avec des valeurs de longueur fixe. Ce qui a permis à davantage de points de code et de méthodes de codage d'être supportées. Unicode et l'ISO/CEI 10646 assignent actuellement de l'ordre de 100000 caractères à un espace de code réservé qui consiste en plus d'un million de points de code (de 0x0 à 0x10FFFF en hexadécimal). Chaque caractère est noté U+nnnn, où nnnn représente une suite de 4 à 6 chiffres hexadécimaux. À titre d'exemple, le caractère A correspond au code U+0041. Unicode et l'ISO/CEI 10646 définissent également plusieurs normes de codage capables de représenter la totalité des points de code disponibles. Les normes de codage Unicode et UCS utilisent des séquences de un à quatre codes de 8 bits (UTF-8), des séquences de un ou deux codes de 16 bits (UTF-16), ou une valeur de code de 32 bits (UTF-32 ou UCS-4). Il existe également un codage plus ancien qui utilise une valeur de 16 bits (UCS-2) mais qui n'est capable de représenter qu'un dix-septième des points de code disponibles : sur la totalité des points de code définis par Unicode, seuls ceux du BMP (Basic Multilingual Plane), c'est-à-dire ceux compris entre U+0000 et U+FFFF, sont supportés par UCS-2. Parmi ces formes de codages, seul UTF-8 présente les suites d'octets dans un ordre fixe ; les autres sont sujets au problème lié à la manière dont les plate-formes codent les suites de 16 et 32 bits (voir sur ce point l'opposition gros-boutiste et petit-boutiste). Ce problème peut être résolu grâce à des codes spéciaux ou par des indications hors bande. Les éditions d'ISO 8859 les plus récentes expriment les caractères en termes de leurs noms Unicode/UCS et de la notation U+nnnn. Ceci permet à chaque partie d'ISO 8859 d’être un schéma de codage de caractères Unicode/UCS qui permet de coder une petite partie de l'UCS par des octets. D'ailleurs, les 256 premiers caractères en Unicode et en UCS sont identiques à ceux de ISO 8859-1. ISO 8859 a été favorisé dans les années 1990, car il avait les avantages d'être bien établi et plus facilement implémenté au niveau des logiciels : la correspondance d'un octet à un caractère est simple et adaptée à la plupart des applications ne supportant qu’une seule langue, et où il n'y a pas de caractères combinés ou de formes variantes. Avec la baisse du coût relatif, en ressources informatiques, de l'utilisation de plus d'un octet par caractère, les langages de programmation et les systèmes d'exploitation proposent un support natif d'Unicode en plus de leur système de page de code. Les systèmes d'exploitation supportant Unicode devenant plus répandus, ISO 8859 et les autres codages anciens ont perdu de leur popularité. Alors qu'ISO 8859 et les modèles de caractères sur un seul octet restent ancrés dans de nombreux systèmes d'exploitation, langages de programmation, systèmes de stockage de données, applications réseau, matériels d'affichage et logiciels d'application pour utilisateur final, les applications informatiques les plus modernes utilisent Unicode en interne et s'appuient, lorsque c'est nécessaire, sur des tables pour convertir de ou vers un codage plus simple.

État de développement

La norme ISO/CEI 8859 était mise à jour par le groupe ISO/CEI Joint Technical Committee 1, Subcommittee 2, Working Group 3 (ISO/CEI JTC 1/SC 2/WG 3) mais en juin 2004, WG 3 s'est éteint et ses taches ont été données au groupe SC 2. La norme n'est plus mise à jour car le seul groupe de travaux actif, WG 2, doit se concentrer au développement de ISO/CEI 10646.

Voir aussi

Références externes

- Les copies des versions publiées des normes sont à vendre au et au .
- Les versions PDF des propositions finales de quelques sections d'ISO/ 8859 comme soumis pour revue & publication par ISO/CEI JTC 1/SC 2/WG 3 se trouvent au :
- - 8-bit single-byte coded graphic character sets, Part 1: Latin alphabet No. 1 (draft dated February 12, 1998, published April 15, 1998)
- - 8-bit single-byte coded graphic character sets, Part 4: Latin alphabet No. 4 (draft dated February 12, 1998, published July 1, 1998)
- - 8-bit single-byte coded graphic character sets, Part 7: Latin/Greek alphabet (draft dated 10 juin 1999; superseded by ISO/CEI 8859-7:2003, published 10 octobre 2003)
- - 8-bit single-byte coded graphic character sets, Part 10: Latin alphabet No. 6 (draft dated February 12, 1998, published July 15, 1998)
- - 8-bit single-byte coded graphic character sets, Part 11: Latin/Thai character set (draft dated June 22, 1999; superseded by ISO/CEI 8859-11:2001, published Dec 15, 2001)
- - 8-bit single-byte coded graphic character sets, Part 13: Latin alphabet No. 7 (draft dated April 15, 1998, published 15 octobre 1998)
- - 8-bit single-byte coded graphic character sets, Part 15: Latin alphabet No. 9 (draft dated August 1, 1997; superseded by ISO/CEI 8859-15:1999, published 15 mars 1999)
- - 8-bit single-byte coded graphic character sets, Part 16: Latin alphabet No. 10 (draft dated 15 novembre 1999; superseded by ISO/CEI 8859-16:2001, published 15 juillet 2001)
- Les normes ECMA, écrites avec l'intention de correspondance exacte aux normes de polices de charactères ISO/CEI 8859, se trouvent au :
- : 8-Bit Single Byte Coded Graphic Character Sets - Latin Alphabets No. 1 to No. 4 2e édition (juin 1986)
- : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Cyrillic Alphabet 3e édition (décembre 1999)
- : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Arabic Alphabet 2nd édition (décembre 2000)
- : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Greek Alphabet (décembre 1986)
- : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Hebrew Alphabet 2e édition (décembre 2000)
- : 8-Bit Single-Byte Coded Graphic Character Sets - Latin Alphabet No. 5 2e édition (décembre 1999)
- : 8-Bit Single-Byte Coded Character Sets - Latin Alphabet No. 6 3e édition (décembre 2000)
- Les tables de mappage ISO/CEI 8859-1 à Unicode en fichiers de texte ordinaire se trouvent au site FTP de Unicode.
- Les descriptions informelles et les tables de code pour la plupart des normes ISO 8859 se trouvent au ===
Sujets connexes
Afrikaans   Albanais   Allemand   Alphabet arabe   Alphabet cyrillique   Alphabet grec   Alphabet latin   Alphabet thaï   Anglais   Arabe   Basque   Biélorusse   Breton   Bulgare   Catalan   Chinois, japonais et coréen   Codage de caractères   Commission électrotechnique internationale   Consortium Unicode   Croate   Danois   Devanāgarī   Espagnol   Espéranto   Estonien   Euro   Finnois   Français   Féringien   Grec moderne   Hongrois   Hryvnia   ISO/CEI 10646   ISO 646   ISO 8859   ISO 8859-1   ISO 8859-15   ISO 8859-3   Irlandais   Islandais   Israël   Italien   Kana (caractères)   Kurde   Langues sames   Letton   Lituanien   Macédonien   Maltais   Mannois   Monnaie   Moteur de rendu   Norvégien   Néerlandais   Organisation internationale de normalisation   Page de code   Polonais   Portugais   Rhéto-roman   Roumain   Russe   Serbe   Slovaque   Slovène   Suédois   Swahili   Système d'écriture   Table des caractères Unicode/U0000   Table des caractères Unicode/U0080   Table des caractères Unicode/U0100   Table des caractères Unicode/U0180   Table des caractères Unicode/U0250   Table des caractères Unicode/U0300   Table des caractères Unicode/U0370   Table des caractères Unicode/U0400   Table des caractères Unicode/U0500   Table des caractères Unicode/U0590   Table des caractères Unicode/U0600   Table des caractères Unicode/U0750   Table des caractères Unicode/U0E00   Table des caractères Unicode/U20A0   Tchèque   Texte bi-directionnel   Turc   Typographie   UTF-16   UTF-32   UTF-8   Ukrainien   Unicode   Vietnamien  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^