Provided by: manpages-fr_3.65d1p1-1_all bug

NOM

       Unicode - Jeu de caractères universel

DESCRIPTION

       La  norme  internationale  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. 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 de nombreux traitements de texte et systèmes d'édition, et de plus en
       plus sont ajoutés.

       La norme 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
       de  la norme (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  de  la
       norme  (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  à  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  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î ou le malayalam).

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

       La  norme  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. La norm
       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 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, 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 la
       norme, 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  à  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/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.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

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

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <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> ».