.\" -*- coding: UTF-8 -*-
.\" Copyright (C) Markus Kuhn, 1995, 2001
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" .
.\" %%%LICENSE_END
.\"
.\" 1995-11-26 Markus Kuhn
.\" First version written
.\" 2001-05-11 Markus Kuhn
.\" Update
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH UNICODE 7 "13 août 2020" GNU "Manuel du programmeur Linux"
.SH NOM
Unicode \- Jeu de caractères universel
.SH 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.
.PP
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.
.PP
La norme UCS (ISO\ 10646) décrit un jeu de caractères sur 31\ bits, constitué
de 128\ \fIgroupes\fP sur 24\ bits, chacun d'eux divisés en 256\ \fIplans\fP sur
16\ bits, composés de 256\ \fIrangées\fP de 8\ bits, avec 256\ positions en
\fIcolonne\fP 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 \fIplan multilingue de base\fP (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 \fIplans supplémentaires\fP 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.
.PP
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.
.PP
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).
.SS "Caractères composés"
Quelques codes de l'UCS ont été assignés à des \fIcaractères composés\fP. 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.
.PP
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.
.SS "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 \fIniveaux
d'implémentation\fP suivants pour l'UCS\ :
.TP 0.9i
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.
.TP
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).
.TP
Niveau 3
Tous les caractères UCS sont gérés.
.PP
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.
.SS "Unicode sous Linux"
Sous GNU/Linux, le type\ C \fIwchar_t\fP 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
\fB__STDC_ISO_10646__\fP comme indiquée dans la norme ISO\ C99.
.PP
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 (\fIlocale\fP) adéquats
doivent être configurés dans les variables d'environnement (par exemple, «\ LANG=fr_FR.UTF\-8\ »).
.PP
La fonction \fBnl_langinfo(CODESET)\fP renvoie le nom de l’encodage
sélectionné. Les fonctions de bibliothèque comme \fBwctomb\fP(3) et
\fBmbsrtowcs\fP(3) peuvent être utilisées pour transformer les caractères
internes \fIwchar_t\fP et les chaînes dans le jeu de caractères du système et
inversement. La fonction \fBwcwidth\fP(3) indique de combien de positions
(0\(en2) le curseur a été avancé en affichant un caractère.
.PP
.SS "Zone d'utilisation privée (PUA ou «\ Private Use Areas\ »)"
.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
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 \fIDocumentation/admin\-guide/unicode.rst\fP (ou
\fIDocumentation/unicode.txt\fP avant Linux\ 4.10).
.PP
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).
.SS Littérature
.IP * 3
Information technology \(em Universal Multiple\-Octet Coded Character Set
(UCS) \(em Part 1: Architecture and Basic Multilingual Plane. International
Standard ISO/IEC\ 10646\-1, International Organization for Standardization,
Geneva, 2000.
.IP
Il s'agit des spécifications officielles de l'UCS. Disponible sur
.UR http://www.iso.ch/
.UE .
.IP *
The Unicode Standard, Version 3.0. The Unicode Consortium, Addison\-Wesley,
Reading, MA, 2000, ISBN 0\-201\-61633\-5.
.IP *
S.\& Harbison, G.\& Steele. C\ : A Reference Manual. Quatrième edition,
Prentice Hall, Englewood Cliffs, 1995, ISBN\ 0\-13\-326224\-3.
.IP
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.
.IP *
Unicode Technical Reports.
.RS
.UR http://www.unicode.org\:/reports/
.UE
.RE
.IP *
Markus Kuhn\ : UTF\-8 and Unicode FAQ for UNIX/Linux.
.RS
.UR http://www.cl.cam.ac.uk\:/\(timgk25\:/unicode.html
.UE
.RE
.IP *
Bruno Haible\ : Unicode HOWTO.
.RS
.UR http://guidespratiques.traduc.org/lecture/Unicode\-HOWTO.html
.UE
.RE
.\" .SH AUTHOR
.\" Markus Kuhn
.SH "VOIR AUSSI"
\fBlocale\fP(1), \fBsetlocale\fP(3), \fBcharsets\fP(7), \fButf\-8\fP(7)
.SH COLOPHON
Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP
Linux. Une description du projet et des instructions pour signaler des
anomalies et la dernière version de cette page peuvent être trouvées à
l'adresse \%https://www.kernel.org/doc/man\-pages/.
.SH TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess ,
Stéphan Rafin ,
Thierry Vignaud ,
François Micaux,
Alain Portal ,
Jean-Philippe Guérard ,
Jean-Luc Coulon (f5ibh) ,
Julien Cristau ,
Thomas Huriaux ,
Nicolas François ,
Florentin Duneau ,
Simon Paillard ,
Denis Barbier ,
David Prévot
et
Grégoire Scano
.
Cette traduction est une documentation libre ; veuillez vous reporter à la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License version 3
.UE
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 à
.MT
debian-l10n-french@lists.debian.org
.ME .