Provided by: manpages-fr_1.67.0-1_all bug

NOM

       Unicode - Le jeu de caractères universel.

DESCRIPTION

       Le  standard international ISO 10646 définit le Universal Character Set
       (UCS).  UCS contient tous les caractères de tous  les  autres  jeux  de
       caractères   standards.    Il   garantit  également  une  compatibilité
       circulaire, ce qui signifie que les tables de conversions permettent de
       ne  perdre  aucune  information  quand  une  chaîne  de  caractères est
       convertie dans un autre codage, puis reconvertie en sens inverse.

       UCS contient les caractères nécessaires pour représenter  presque  tous
       les langages connus. Il inclut non seulement les alphabets Latin, Grec,
       Cyrillique,  Hébreu,  Arabe,  Arménien,  et  Géorgien,  mais  également
       Chinois  Japonais,  Hiragana,  Katakana,  Coréen,  Hangul,  Devanagari,
       Bengali, Gurmukhi, Gujarati, Oriya, Tamil,  Telugu,  Kannada,  Malayam,
       Thai,  Lao,  Khmer,  Bopomofo,  Tibétain,  Runique, Ethiopien, Canadien
       Syllabique, Cherokee, Mongol, Ogham, Myanmar, Sinhala, Thaana,  Yi,  et
       d’autres.  Pour les écritures pas encore intégrées, des recherches sont
       en cours pour optimiser l’encodage et elles seront ajoutées. Ceci  peut
       inclure non seulement des hiéroglyphes et des langues indo-européennes,
       mais aussi des écritures artistiques comme Tengwar, Cirth, ou  Klingon.
       UCS  contient  un  grand nombre de symboles graphiques, typographiques,
       mathématiques, ou scientifiques comme ceux fournis par TeX, Postscript,
       MS-DOS,  MacIntosh, Videotext, OCR, et de nombreux traitements de texte
       et système d’édition.

       Le standard UCS (ISO 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 ranges de 8 bits, avec 256  positions  en
       colonne  contenant chacune un caractère. La première partie du standard
       (ISO 10646-1) définit les 65534 premiers codes (0x0000  à  0xFFFD)  qui
       forme  le  Basic  Multilingual  Plane  (BMP), c’est à dire le plan 0 du
       groupe 0. La partie 2 du standard (ISO 10646-2) ajoute  des  caractères
       au groupe 0, dans plusieurs plans supplmentaires dans l’espace 0x10000
       à 0x10ffff. On ne  prévoit  pas  d’ajouter  de  caractères  au-delà  de
       0x10ffff,  ainsi  sur  l’ensemble  de  l’espace  disponible, une faible
       fraction du groupe 0 est effectivement utilisable dans un futur à court
       terme.  Le  BMP  contient  tous  les caractères des jeux habituels. Les
       plans supplémentaires ajoutés par ISO 10646-2 ne  contiennent  que  des
       caractères   exotiques  pour  des  notations  scientifiques  spéciales,
       l’industrie de l’impression, des  protocoles  de  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 (ne contient que les caractères du BMP), alors que  UCS-4
       est  la  représentation sur un mot de 4 octets. De plus, il existe deux
       formes UTF-8  pour  les  compatibilités  avec  les  logiciels  traitant
       l’ASCII  et  UTF-16  pour  les  traitement  des  caractères  au-delà de
       0x10ffff par des logiciels UCS-2.

       Les caractères UCS 0x0000 à 0x007F sont identiques à ceux du  classique
       jeu US-ASCII, et ceux de l’intervalle 0x0000 à 0x00FF sont identiques à
       ceux du jeu de caractères ISO 8859-1 Latin-1.

CARACTÈRES COMPOSÉS

       Quelques codes du UCS ont été assignés à des caractères composés.   Ils
       sont  semblables  aux touches accentuées sans avance sur les machines à
       écrire. Un  caractère  composé  ajoute  simplement  un  accent  sur  le
       caractère  précédent  (contrairement aux machines à écrire qui agissent
       sur  le  caractère  suivant).   Les  caractères  accentués   les   plus
       importants  ont  leurs  propres codes dans l’UCS néanmoins 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  allemand  A-Umlaut (A majuscule avec un tréma) peut être
       représenté  soit  par  le  code  UCS  précomposé  0x00C4,  ou  par   la
       combinaison  d’un  A  majuscule  normal,  suivi  d’un  "tréma  composé"
       (combining diaeresis), 0x0041 0x0308.

       Les caractères composés sont essentiels par exemple pour l’encodage  de
       l’écriture  Thai  ou  pour  les  notations  mathématiques et l’alphabet
       phonétique international.

NIVEAUX DIMPLÉMENTATION
       Comme tous les systèmes ne sont pas  censés  supporter  les  mécanismes
       comme  les  caractères composés, ISO 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  Hangul  Jamo  (un
                encodage  spécial  et compliqué de l’écriture Coréenne, où les
                syllabes Hangul sont codées sur 2  ou  3  sous-caractères)  ne
                sont pas supportés.

       Niveau 2 Comme  le  niveau 1, mais ce n’est qu’avec certaines écritures
                (par exemple  Hébreu,  Arabe,  Devangari,  Bengali,  Gurmukhi,
                Gujarati,  Oriya,  Tamil,  Telugo, Kannada, Malayalam, Thai et
                Lao) qu’il y a des caractères composés non supportés.

       Niveau 3 Tous les caractères UCS sont supportés.

       Le standard Unicode 3.0  publié  par  le  Unicode  Consortium  contient
       exactement  le  Basic Multilingual Plane UCS au niveau d’implémentation
       3, comme décrit dans le ISO 10646-1:2000.  Unicode 3.1 ajoute les plans
       supplémentaires  de  l’ISO 10646-2. Le standard Unicode et les rapports
       techniques   publiés   par   le   Consortium    fournissent    beaucoup
       d’informations supplémentaires sur la sémantique et les recommandations
       d’usage. Ils 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é  sous
       Linux,  et sa valeur est interprétée comme un code UCS (dans toutes les
       localisations), une convention signalée par la bibliothèque  C  Gnu  en
       définissant  la  constante  __STDC_ISO_10646__  comme  indiquée dans le
       standard ISO C 99.

       L’UCS/Unicode  peut  être  employé  comme   l’ASCII   dans   les   flux
       d’entrée/sortie, les communications avec les terminaux, les fichiers de
       texte, les noms de fichiers et les variables  d’environnement  dans  un
       encodage multi-octets compatible UTF-8.  Pour signaler l’utilisation de
       l’UTF-8  comme  encodage  pour  toutes  les  applications,  une  locale
       correcte  doit  être configurée dans les variables d’environnement (ex.
       "LANG=en_GB.UTF-8").

       La  fonction  nl_langinfo(CODESET)  renvoie  le   nom   de   l’encodage
       sélectionné.    Les  fonctions  de  bibliothèques  comme  wctomb(3)  et
       mbsrtowcs(3) peuvent être utilisées  pour  transformer  les  caractères
       wchar_t  et  les  chaînes  dans  le  jeu  de  caractères  du système et
       inversement.  La fonction wcwidth(3) indique combien de positions (0–2)
       le curseur est avancé en sortant un caractère.

       Sous  Linux,  en  général,  seule  une  implémentation  BMP de niveau 1
       devrait être utilisée pour le  moment.  Pour  certaines  écritures  (en
       particulier Thai) certains émulateurs de terminaux UTF-8 gèrent jusqu’à
       deux caractères combinés avec une fonte ISO 10646 (niveau 2),  mais  il
       vaut  mieux préférer les caractères précomposés s’ils sont disponibles.

ZONE PRIVÉE

       L’intervalle entre 0xE000 et 0xF8FF du BMP, ne sera  jamais  assigné  a
       aucun  caractère  par  le standard, et est réservé pour un usage privé.
       Pour la communauté Linux, cette zone privée a été subdivisée  en  deux.
       L’intervalle  entre 0xe000 et 0xefff peut être utilisé individuellement
       par n’importe quelle application.  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 actuellement maintenu par H. Peter Anvin
       <Peter.Anvin@linux.org>.

LITTÉRATURE

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

         Ce  sont  les  spécifications  officielles  de  l’UCS.  Disponible en
         fichier PDF sur CD-ROM 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. Fourth edition,
         Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.

         Un bon livre de référence à propos du  langage  C.  La  4eme  édition
         couvre  maintenant  l’amendement  1 (1994) au standard ISO C (ISO/IEC
         9899:1990) qui ajoute un grand nombre de fonctions de bibliothèque  C
         pour manipuler les jeux de caractères, mais ne couvre pas encore C99.

       * Unicode Technical Reports.
         http://www.unicode.org/unicode/reports/

       * Markus Kuhn: UTF-8 and Unicode FAQ for Unix/Linux.
         http://www.cl.cam.ac.uk/~mgk25/unicode.html Fournit les  informations
         sur  la  liste  de  diffusion  linux-utf8,  le  meilleur endroit pour
         trouver des conseils sur l’utilisation de l’Unicode sous Linux

       * Bruno Haible: Unicode HOWTO.
         ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html

BOGUES

       Au moment de la rédaction de cette page, le support libc de Linux  pour
       les  locales  UTF-8 était mûr, et le support XFree86 était avancé, mais
       le travail nécessaire pour rendre les applications (principalement  les
       éditeurs)  compatibles  avec l’UTF-8 était en cours. Le support général
       actuel de UCS sous Linux fournit les caractères double-largeur CJK,  et
       parfois  les  surcharges  des  caractères  combinés, mais ne permet pas
       l’écriture de droite à gauche ou les ligatures nécessaires  en  Hébreu,
       Arabe,  ou  Indien. Ces écritures ne sont pour le moment supportées que
       par certaines applications graphiques (visualisateurs HTML, traitements
       de texte) avec des moteurs d’affichage perfectionnés.

AUTEUR

       Markus Kuhn <<mgk25@cl.cam.ac.uk>

VOIR AUSSI

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

TRADUCTION

       Christophe Blaess, 1997-2003.