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> ».

GNU                                                5 août 2012                                        UNICODE(7)