Provided by: manpages-fr_4.21.0-2_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 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 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 plan multilingue de base (PMB), 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 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 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 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 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 10646-1:2000. Unicode 3.1 ajoute les
       plans supplémentaires de l'ISO 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 »).

       The  nl_langinfo(CODESET)  function  returns the name of the selected encoding. Library functions such as
       wctomb(3)  and mbsrtowcs(3)  can be used to transform the internal wchar_t characters  and  strings  into
       the  system  character  encoding  and  back  and wcwidth(3)  tells how many positions (0–2) the cursor is
       advanced by the output of a character.

   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.

Pages du manuel de Linux 6.03                    5 février 2023                                       unicode(7)