Provided by:
manpages-fr_3.32d0.2p4-1_all 
NOM
Unicode - Jeu de caracteres universel
DESCRIPTION
Le standard international ISO 10646 definit le jeu de caract`eres
universel (UCS). UCS contient tous les caracteres de tous les autres
jeux de caracteres standard. Il garantit egalement une compatibilit'e
circulaire, ce qui signifie que les tables de conversions peuvent etre
construites de maniere a ne perdre aucune information quand une chaine
de caracteres est convertie dans un autre codage, puis reconvertie en
sens inverse.
UCS contient les caracteres necessaires pour representer presque toutes
les langues connus. Il inclut non seulement les alphabets latin, grec,
cyrillique, hebreu, arabe, armenien et georgien, mais egalement les
ideogrammes chinois, japonais, sino-coreens et les ecritures :
hiragana, katakana, hangul, devanagari, bengali, gourmoukhi,
goudjarati, oriya, tamoul, telougou, kannara, malayalam, thai, laotien,
khmer, bopomofo, tibetain, runes, ethiopien, syllabaires canadiens,
cheroki, mongol, ogam, birman, cingalais, thana, yi, et d'autres. Pour
les ecritures qui n'ont pas encore ete integrees, des recherches sont
en cours pour optimiser le codage et elles seront probablement
ajoutees. Ceci inclut non seulement des hieroglyphes et des langues
indo-europeennes historiques, mais aussi des ecritures artistiques
comme les tengwar de Feanor, les cirth, ou le klingon. UCS contient
egalement un grand nombre de symboles graphiques, typographiques,
mathematiques et scientifiques comme ceux fournis par TeX, PostScript,
APL, MS-DOS, MS-Windows, Macintosh, les polices OCR, et de nombreux
traitements de texte et systemes d'edition, et de plus en plus sont
ajoutes.
Le standard UCS (ISO 10646) decrit un jeu de caract`eres sur 31 bits,
constitue de 128 groupes sur 24 bits, chacun d'eux divises en 256 plans
sur 16 bits, composes de 256 rang'ees de 8 bits, avec 256 positions en
colonne contenant chacune un caractere. La premiere partie du standard
(ISO 10646-1) definit les 65 534 premiers codes (0x0000 a 0xFFFD) qui
forment le Basic Multilingual Plane (BMP), c'est-a-dire le plan 0 du
groupe 0. La partie 2 du standard (ISO 10646-2) ajoute des caracteres
au groupe 0 en dehors du BMP, dans plusieurs plans suppl'ementaires de
l'espace 0x10000 a 0x10ffff. On ne prevoit pas d'ajouter au standard
des caracteres au-dela de 0x10ffff. Ainsi sur l'ensemble de l'espace
disponible, une faible fraction du groupe 0 ne sera effectivement
utilisee dans un futur proche. Le BMP contient tous les caracteres des
jeux habituels. Les plans supplementaires ajoutes par ISO 10646-2 ne
contiennent que des caracteres exotiques pour des notations
scientifiques speciales, des dictionnaires d'impression, l'industrie de
l'impression, des protocoles de haut-niveau, et les besoins de quelques
enthousiastes.
La representation des caracteres UCS sur des mots de 2 octets est
appelee UCS-2 (seulement pour les caracteres du BMP), alors que UCS-4
est la representation des caracteres par un mot de 4 octets. De plus,
il existe deux formes de codage : UTF-8 pour la retrocompatibilite avec
les logiciels traitant l'ASCII et UTF-16 pour les traitements des
caracteres non BMP jusqu'a 0x10ffff par des logiciels UCS-2.
Les caracteres UCS 0x0000 a 0x007f sont identiques a ceux du jeu
classique US-ASCII, et ceux de l'intervalle 0x0000 a 0x00ff sont
identiques a ceux du jeu de caracteres ISO 8859-1 Latin-1.
Caract`eres compos'es
Quelques codes de l'UCS ont ete assignes a des caract`eres compos'es. Ils
sont semblables aux touches mortes d'accents sur les machines a ecrire.
Un caractere compose ajoute simplement un accent sur le caractere
precedent. Les caracteres accentues les plus importants ont leur propre
code dans l'UCS. Cependant, le mecanisme des caracteres composes permet
d'ajouter des accents ou des signes diacritiques sur n'importe quel
caractere de base. Les caracteres composes suivent toujours le
caractere qu'ils modifient. Par exemple, le caractere << A >> (lettre
majuscule latine A accent grave) peut etre represente soit par le code
UCS precompose 0x00C0, soit par la combinaison d'un A majuscule normal,
suivi d'un << diacritique accent grave >>, 0x0041 0x0300.
Les caracteres composes sont essentiels par exemple pour le codage de
l'ecriture thai ou pour les notations mathematiques et l'alphabet
phonetique international.
Niveaux d'impl'ementation
Comme tous les systemes ne sont pas censes gerer les mecanismes avances
comme les caracteres composes, ISO 10646-1 specifie les trois niveaux
d'impl'ementation suivants pour l'UCS :
Niveau 1 Les caracteres composes et les caracteres jamos hang^ul (un
codage special de l'ecriture coreenne, ou les syllabes hangul
sont codees par 2 ou 3 codes de voyelle ou consonne) ne sont
pas geres.
Niveau 2 Outre le niveau 1, les caracteres composes sont maintenant
permis pour certaines langues ou ils sont essentiels (par
exemple, le thai, le laotien, l'hebreu, l'arabe, le
devanagari, le malayalam, etc.).
Niveau 3 Tous les caracteres UCS sont geres.
Le standard Unicode 3.0 publie par l'Unicode Consortium contient
exactement le Basic Multilingual Plane UCS au niveau d'implementation
3, comme decrit dans la norme ISO 10646-1:2000. Unicode 3.1 ajoute les
plans supplementaires de l'ISO 10646-2. Le standard Unicode et les
rapports techniques publies par l'Unicode Consortium fournissent
beaucoup d'informations supplementaires sur la semantique et les
recommandations d'usage de differents caracteres. Ils fournissent des
guides et des algorithmes pour editer, trier, comparer, normaliser,
convertir et afficher des chaines Unicode.
Unicode sous Linux
Sous GNU/Linux, le type C wchar_t est un entier 32 bits signe, et sa
valeur est toujours interpretee par la bibliotheque C comme un code UCS
(dans toutes les locales), une convention signalee par la bibliotheque
C GNU pour les applications en definissant la constante
__STDC_ISO_10646__ comme indiquee dans le standard ISO C99.
L'UCS/Unicode peut etre employe comme l'ASCII dans les flux
d'entree-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 etre configuree dans les variables d'environnement (par
exemple, << LANG=fr_FR.UTF-8 >>).
La fonction nl_langinfo(CODESET) renvoie le nom du codage selectionne.
Les fonctions de bibliotheque comme wctomb(3) et mbsrtowcs(3) peuvent
etre utilisees pour transformer les caracteres internes wchar_t et les
chaines dans le jeu de caracteres du systeme et inversement. La
fonction wcwidth(3) indique de combien de positions (0-2) le curseur a
ete avance en affichant un caractere.
Sous Linux, en general, seule une implementation BMP de niveau 1
devrait etre utilisee pour le moment. Pour certaines ecritures (en
particulier le thai), certains emulateurs de terminaux UTF-8 gerent
jusqu'a deux caracteres combines avec une fonte ISO 10646 (niveau 2),
mais il vaut mieux preferer les caracteres precomposes s'ils sont
disponibles (Unicode appelle cela une forme de normalisation C).
Zone priv'ee
L'intervalle entre 0xe000 et 0xf8ff du BMP ne sera jamais assigne a
aucun caractere par le standard, et est reserve pour un usage prive.
Pour la communaute Linux, cette zone privee a ete divisee en deux.
L'intervalle entre 0xe000 et 0xefff peut etre utilise individuellement
par n'importe quel utilisateur final. L'intervalle s'etendant de 0xf000
a 0xf8ff est reserve a Linux, et les extensions y sont coordonnees
entre les divers utilisateurs de Linux. L'enregistrement des caracteres
assignes a la zone Linux est actuellement maintenu par H. Peter Anvin
<Peter.Anvin@linux.org>.
Litt'erature
* 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 specifications 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 reference sur le langage de programmation C. La
quatrieme edition couvre maintenant l'amendement 1 de 1994 au
standard ISO C90, qui ajoute un grand nombre de fonctions de
bibliotheque C pour manipuler les jeux de caracteres larges et
multioctets, mais ne couvre pas encore l'ISO C99, qui ameliore encore
plus la gestion des caracteres 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 redaction de cette page, la gestion par la bibliotheque
C GNU pour les locales UTF-8 etait mure, et la gestion par XFree86
etait avancee, mais le travail necessaire pour rendre les applications
(principalement les editeurs) compatibles avec l'UTF-8 etait en cours.
La gestion generale actuelle de UCS sous Linux fournit les caracteres
double-largeur CJK, et parfois les surcharges simples des caracteres
combines, mais ne permet pas l'ecriture de droite a gauche ou les
ligatures necessaires en hebreu, arabe ou indien. Ces ecritures ne sont
pour le moment gerees que par certaines applications graphiques
(visualisateurs HTML, traitements de texte) avec des moteurs
d'affichage perfectionnes.
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 etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe 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'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.