Provided by: manpages-fr_3.32d0.2p4-1_all bug

NOM

       Unicode - Jeu de caractères universel

DESCRIPTION

       Le  standard  international  ISO 10646  définit  le jeu de caractères universel (UCS). UCS
       contient tous les caractères de tous les autres jeux de caractères standard.  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 codage, puis reconvertie en sens inverse.

       UCS  contient  les  caractères  nécessaires  pour  représenter  presque toutes les langues
       connus. 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 le codage et elles seront probablement ajoutées. Ceci  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 de nombreux traitements de texte et systèmes d'édition, et de plus en
       plus sont ajoutés.

       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 rangées 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 65 534 premiers codes (0x0000 à
       0xFFFD) qui forment 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 en dehors du BMP,
       dans plusieurs plans supplémentaires de l'espace 0x10000 à 0x10ffff.  On  ne  prévoit  pas
       d'ajouter au standard 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 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, des dictionnaires d'impression, 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 (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  de   codage :   UTF-8   pour   la
       rétrocompatibilité  avec les logiciels traitant l'ASCII et UTF-16 pour les traitements des
       caractères non BMP 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 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 0x0300.

       Les caractères composés sont essentiels par exemple pour le codage de l'écriture  thaï  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 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 codage spécial de
                l'écriture coréenne, où les syllabes hangûl sont codées  par  2  ou  3  codes  de
                voyelle ou consonne) ne sont pas gérés.

       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î, le malayalam, etc.).

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

       Le  standard  Unicode 3.0  publié  par  l'Unicode  Consortium contient exactement le Basic
       Multilingual  Plane  UCS  au  niveau  d'implémentation  3,  comme  décrit  dans  la  norme
       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 l'Unicode  Consortium  fournissent
       beaucoup  d'informations  supplémentaires sur la sémantique et les recommandations d'usage
       de différents caractères. 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é, et sa valeur est toujours
       interprétée par la bibliothèque C comme  un  code  UCS  (dans  toutes  les  locales),  une
       convention  signalée  par  la  bibliothèque  C GNU pour les applications en définissant la
       constante __STDC_ISO_10646__ comme indiquée dans le standard 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, une locale
       correcte  doit  être  configurée  dans  les  variables   d'environnement   (par   exemple,
       « LANG=fr_FR.UTF-8 »).

       La  fonction  nl_langinfo(CODESET)  renvoie le nom du codage 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.

       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 le thaï), 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
       (Unicode appelle cela une forme de normalisation C).

   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é   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
       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/IEC 10646-1,
         International Organization for Standardization, Geneva, 2000.

         Il  s'agit  des spécifications officielles de l'UCS. Disponible en fichier PDF et 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 sur le langage de programmation C. La quatrième édition couvre
         maintenant  l'amendement 1  de  1994  au standard 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/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, la gestion par la bibliothèque C GNU pour les
       locales UTF-8 était mûre, et la  gestion  par  XFree86  était  avancée,  mais  le  travail
       nécessaire  pour  rendre  les  applications (principalement les éditeurs) compatibles avec
       l'UTF-8 était en cours. La gestion  générale  actuelle  de  UCS  sous  Linux  fournit  les
       caractères  double-largeur CJK, et parfois les surcharges simples 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  gérées  que  par certaines
       applications graphiques (visualisateurs HTML,  traitements  de  texte)  avec  des  moteurs
       d'affichage perfectionnés.

VOIR AUSSI

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

COLOPHON

       Cette  page  fait partie de la publication 3.32 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction  francophone  au  sein  du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL:http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».