Man page - unicode(7)

Packages contains this manual

Available languages:

en fr pt_BR es it pl cs ja ru ro zh_TW zh_CN de

Manual

unicode

NOM
DESCRIPTION
CaractÚres composés
Niveaux d’implĂ©mentation
Unicode sous Linux
Zone d’utilisation privĂ©e (PUA ou « Private Use Areas »)
Littérature
VOIR AUSSI
TRADUCTION

NOM

Unicode - Jeu de caractĂšres universel

DESCRIPTION

La norme internationale ISO/IEC 10646 dĂ©finit le jeu de caractĂšres universel (UCS). UCS contient tous les caractĂšres de tous les autres normes de jeux de caractĂšres. Il garantit Ă©galement une « compatibilitĂ© circulaire », ce qui signifie que les tables de conversions peuvent ĂȘtre construites de maniĂšre Ă  ne perdre aucune information quand une chaĂźne de caractĂšres est convertie dans un autre encodage, puis reconvertie en sens inverse.

UCS contient les caractĂšres nĂ©cessaires pour reprĂ©senter presque toutes les langues connues. Il inclut non seulement les alphabets latin, grec, cyrillique, hĂ©breu, arabe, armĂ©nien et gĂ©orgien, mais Ă©galement les idĂ©ogrammes chinois, japonais, sino-corĂ©ens et les Ă©critures : hiragana, katakana, hangĂ»l, dĂ©vanĂągarĂź, bengali, gourmoukhĂź, goudjarati, oriya, tamoul, tĂ©lougou, kannara, malayalam, thaĂŻ, laotien, khmer, bopomofo, tibĂ©tain, runes, Ă©thiopien, syllabaires canadiens, chĂ©rokĂź, mongol, ogam, birman, cingalais, thĂąna, yi, et d’autres. Pour les Ă©critures qui n’ont pas encore Ă©tĂ© intĂ©grĂ©es, des recherches sont en cours pour optimiser l’encodage et elles seront probablement ajoutĂ©es. Cela inclut non seulement des hiĂ©roglyphes et des langues indo-europĂ©ennes historiques, mais aussi des Ă©critures artistiques comme les tengwar de FĂ«anor, les cirth ou le klingon. UCS contient Ă©galement un grand nombre de symboles graphiques, typographiques, mathĂ©matiques et scientifiques comme ceux fournis par TeX, PostScript, APL, MS-DOS, MS-Windows, Macintosh, les polices OCR et par de nombreux traitements de texte et systĂšmes d’édition, et de plus en plus sont ajoutĂ©s.

La norme UCS (ISO/IEC 10646) dĂ©crit un jeu de caractĂšres sur 31 bits, constituĂ© de 128 groupes sur 24 bits, chacun d’eux divisĂ©s en 256 plans sur 16 bits, composĂ©s de 256 rangĂ©es de 8 bits, avec 256 positions en colonne contenant chacune un caractĂšre. La premiĂšre partie de la norme (ISO/IEC 10646-1) dĂ©finit les 65 534 premiers codes (0x0000 Ă  0xFFFD) qui forment le plan multilingue de base (PMB), c’est-Ă -dire le plan 0 du groupe 0. La partie 2 de la norme (ISO/IEC 10646-2) ajoute des caractĂšres au groupe 0 en dehors du PMB, dans plusieurs plans supplĂ©mentaires de l’espace 0x10000 Ă  0x10ffff. On ne prĂ©voit pas d’ajouter Ă  la norme des caractĂšres au-delĂ  de 0x10ffff. Ainsi sur l’ensemble de l’espace disponible, une faible fraction du groupe 0 ne sera effectivement utilisĂ©e dans un futur proche. Le PMB contient tous les caractĂšres des jeux habituels. Les plans supplĂ©mentaires ajoutĂ©s par ISO/IEC 10646-2 ne contiennent que des caractĂšres exotiques pour des notations scientifiques spĂ©ciales, des impressions de dictionnaires, l’industrie de l’impression, des protocoles de plus haut niveau et les besoins de quelques enthousiastes.

La reprĂ©sentation des caractĂšres UCS sur des mots de 2 octets est appelĂ©e UCS-2 (seulement pour les caractĂšres du BMP), alors que UCS-4 est la reprĂ©sentation des caractĂšres par un mot de 4 octets. De plus, il existe deux formes d’encodage : UTF-8 pour la rĂ©trocompatibilitĂ© avec les logiciels traitant l’ASCII et UTF-16 pour la gestion rĂ©trocompatible des caractĂšres non PMB jusqu’à 0x10ffff par des logiciels UCS-2.

Les caractùres UCS 0x0000 à 0x007f sont identiques à ceux du jeu classique US-ASCII, et ceux de l’intervalle 0x0000 à 0x00ff sont identiques à ceux du jeu de caractùres ISO/IEC 8859-1 (latin-1).

CaractÚres composés

Quelques codes de l’UCS ont Ă©tĂ© assignĂ©s Ă  des caractĂšres composĂ©s . Ils sont semblables aux touches mortes d’accents sur les machines Ă  Ă©crire. Un caractĂšre composĂ© ajoute simplement un accent sur le caractĂšre prĂ©cĂ©dent. Les caractĂšres accentuĂ©s les plus importants ont leur propre code dans l’UCS. Cependant, le mĂ©canisme des caractĂšres composĂ©s permet d’ajouter des accents ou des signes diacritiques sur n’importe quel caractĂšre de base. Les caractĂšres composĂ©s suivent toujours le caractĂšre qu’ils modifient. Par exemple, le caractĂšre « À » (lettre majuscule latine A accent grave) peut ĂȘtre reprĂ©sentĂ© soit par le code UCS prĂ©composĂ© 0x00C0, soit par la combinaison d’un A majuscule normal, suivi d’un « diacritique accent grave », 0x0041 0x0308.

Les caractĂšres composĂ©s sont essentiels par exemple pour l’encodage de l’écriture thaĂŻe ou pour les notations mathĂ©matiques et l’alphabet phonĂ©tique international.

Niveaux d’implĂ©mentation

Comme tous les systĂšmes ne sont pas censĂ©s gĂ©rer les mĂ©canismes avancĂ©s comme les caractĂšres composĂ©s, ISO/IEC 10646-1 spĂ©cifie les trois niveaux d’implĂ©mentation suivants pour l’UCS :

Niveau 1

Les caractĂšres composĂ©s et les caractĂšres jamos hangĂ»l (un encodage spĂ©cial de l’écriture corĂ©enne, oĂč les glyphes de syllabes hangĂ»l sont encodĂ©s par 2 ou 3 codes de voyelle ou consonne) ne sont pas pris en charge.

Niveau 2

Outre le niveau 1, les caractĂšres composĂ©s sont maintenant permis pour certaines langues oĂč ils sont essentiels (par exemple, le thaĂŻ, le laotien, l’hĂ©breu, l’arabe, le dĂ©vanĂągarĂź ou le malayalam).

Niveau 3

Tous les caractÚres UCS sont gérés.

La norme Unicode 3.0 publiĂ©e par le Consortium Unicode contient exactement le plan multilingue de base UCS au niveau 3 de l’implĂ©mentation, comme dĂ©crit dans la norme ISO/IEC 10646-1:2000. Unicode 3.1 ajoute les plans supplĂ©mentaires de l’ISO/IEC 10646-2. La norme Unicode et les rapports techniques publiĂ©s par le Consortium Unicode fournissent beaucoup de renseignements supplĂ©mentaires sur la sĂ©mantique et les recommandations d’utilisation de nombreux caractĂšres. Elles fournissent des guides et des algorithmes pour Ă©diter, trier, comparer, normaliser, convertir et afficher des chaĂźnes Unicode.

Unicode sous Linux

Sous GNU/Linux, le type C wchar_t est un entier 32 bits signé, et sa valeur est toujours interprétée par la bibliothÚque C comme un code UCS (dans tous les paramÚtres régionaux), une convention signalée par la bibliothÚque C de GNU pour les applications en définissant la constante __STDC_ISO_10646__ comme indiquée dans la norme ISO C99.

L’UCS/Unicode peut ĂȘtre employĂ© comme l’ASCII dans les flux d’entrĂ©e-sortie, les communications avec les terminaux, les fichiers textes, les noms de fichier et les variables d’environnement dans un encodage multioctet UTF-8 compatible ASCII. Pour signaler l’utilisation de l’UTF-8 comme encodage pour toutes les applications, des paramĂštres rĂ©gionaux ( locale ) adĂ©quats doivent ĂȘtre configurĂ©s dans les variables d’environnement (par exemple, « LANG=fr_FR.UTF-8 »).

La fonction nl_langinfo(CODESET) renvoie le nom de l’encodage sĂ©lectionnĂ©. Les fonctions de bibliothĂšque comme wctomb (3) et mbsrtowcs (3) peuvent ĂȘtre utilisĂ©es pour transformer les caractĂšres internes wchar_t et les chaĂźnes dans le jeu de caractĂšres du systĂšme et inversement. La fonction wcwidth (3) indique de combien de positions (0–2) le curseur a Ă©tĂ© avancĂ© en affichant un caractĂšre.

Zone d’utilisation privĂ©e (PUA ou « Private Use Areas »)

L’intervalle entre 0xe000 et 0xf8ff du plan multilingue de base (« Basic Multilingual Plane ») ne sera jamais assignĂ© a aucun caractĂšre par la norme et est rĂ©servĂ© pour une utilisation privĂ©e. Pour la communautĂ© Linux, cette zone privĂ©e a Ă©tĂ© divisĂ©e en deux. L’intervalle entre 0xe000 et 0xefff peut ĂȘtre utilisĂ© individuellement par n’importe quel utilisateur final. L’intervalle s’étendant de 0xf000 Ă  0xf8ff est rĂ©servĂ© Ă  Linux et les extensions y sont coordonnĂ©es entre les divers utilisateurs de Linux. L’enregistrement des caractĂšres assignĂ©s Ă  la zone Linux est maintenu par LANANA et le registre lui-mĂȘme est disponible dans les sources du noyau Linux sous Documentation/admin-guide/unicode.rst (ou Documentation/unicode.txt avant Linux 4.10).

Deux autres plans sont rĂ©servĂ©s Ă  un usage privĂ©. Le plan 15 (zone d’utilisation privĂ©e supplĂ©mentaire PUA-A, intervalle 0xf0000-0xffffd) et le plan 16 (zone d’utilisation privĂ©e PUA-B, intervalle 0x100000-0x10fffd).

Littérature

-

Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multilingual Plane. International Standard ISO/IEC 10646-1, International Organization for Standardization, Geneva, 2000.

Il s’agit des spĂ©cifications officielles de l’UCS. Disponible sur http://www.iso.ch/ .

-

The Unicode Standard, Version 3.0. The Unicode Consortium, Addison-Wesley, Reading, MA, 2000, ISBN 0-201-61633-5.

-

S. Harbison, G. Steele. C : A Reference Manual. QuatriÚme edition, Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.

Un bon livre de rĂ©fĂ©rence sur le langage de programmation C. La quatriĂšme Ă©dition couvre maintenant l’amendement 1 de 1994 Ă  la norme ISO C90, qui ajoute un grand nombre de fonctions de bibliothĂšque C pour manipuler les jeux de caractĂšres larges et multioctets, mais ne couvre pas encore l’ISO C99, qui amĂ©liore encore plus la gestion des caractĂšres larges et multioctets.

-

Unicode Technical Reports.

http://www.unicode.org/reports/

-

Markus Kuhn : UTF-8 and Unicode FAQ for UNIX/Linux.

http://www.cl.cam.ac.uk/~mgk25/unicode.html

-

Bruno Haible : Unicode HOWTO.

http://guidespratiques.traduc.org/lecture/Unicode-HOWTO.html

VOIR AUSSI

locale (1), setlocale (3), charsets (7), utf-8 (7)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .