Provided by:
manpages-fr_1.67.0-1_all 
NOM
Unicode - Le jeu de caractères universel.
DESCRIPTION
Le standard international ISO 10646 définit le Universal Character Set
(UCS). UCS contient tous les caractères de tous les autres jeux de
caractères standards. Il garantit également une compatibilité
circulaire, ce qui signifie que les tables de conversions permettent de
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 tous
les langages connus. Il inclut non seulement les alphabets Latin, Grec,
Cyrillique, Hébreu, Arabe, Arménien, et Géorgien, mais également
Chinois Japonais, Hiragana, Katakana, Coréen, Hangul, Devanagari,
Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayam,
Thai, Lao, Khmer, Bopomofo, Tibétain, Runique, Ethiopien, Canadien
Syllabique, Cherokee, Mongol, Ogham, Myanmar, Sinhala, Thaana, Yi, et
d’autres. Pour les écritures pas encore intégrées, des recherches sont
en cours pour optimiser l’encodage et elles seront ajoutées. Ceci peut
inclure non seulement des hiéroglyphes et des langues indo-européennes,
mais aussi des écritures artistiques comme Tengwar, Cirth, ou Klingon.
UCS contient un grand nombre de symboles graphiques, typographiques,
mathématiques, ou scientifiques comme ceux fournis par TeX, Postscript,
MS-DOS, MacIntosh, Videotext, OCR, et de nombreux traitements de texte
et système d’édition.
Le standard 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 du standard
(ISO 10646-1) définit les 65534 premiers codes (0x0000 à 0xFFFD) qui
forme le Basic Multilingual Plane (BMP), c’est à dire le plan 0 du
groupe 0. La partie 2 du standard (ISO 10646-2) ajoute des caractères
au groupe 0, dans plusieurs plans supplémentaires dans l’espace 0x10000
à 0x10ffff. On ne prévoit pas d’ajouter de caractères au-delà de
0x10ffff, ainsi sur l’ensemble de l’espace disponible, une faible
fraction du groupe 0 est effectivement utilisable dans un futur à court
terme. 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,
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 (ne contient que les caractères du BMP), alors que UCS-4
est la représentation sur un mot de 4 octets. De plus, il existe deux
formes UTF-8 pour les compatibilités avec les logiciels traitant
l’ASCII et UTF-16 pour les traitement des caractères au-delà de
0x10ffff par des logiciels UCS-2.
Les caractères UCS 0x0000 à 0x007F sont identiques à ceux du classique
jeu 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 du UCS ont été assignés à des caractères composés. Ils
sont semblables aux touches accentuées sans avance sur les machines Ã
écrire. Un caractère composé ajoute simplement un accent sur le
caractère précédent (contrairement aux machines à écrire qui agissent
sur le caractère suivant). Les caractères accentués les plus
importants ont leurs propres codes dans l’UCS néanmoins 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 allemand A-Umlaut (A majuscule avec un tréma) peut être
représenté soit par le code UCS précomposé 0x00C4, ou par la
combinaison d’un A majuscule normal, suivi d’un "tréma composé"
(combining diaeresis), 0x0041 0x0308.
Les caractères composés sont essentiels par exemple pour l’encodage de
l’écriture Thai 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 supporter les mécanismes
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 Hangul Jamo (un
encodage spécial et compliqué de l’écriture Coréenne, où les
syllabes Hangul sont codées sur 2 ou 3 sous-caractères) ne
sont pas supportés.
Niveau 2 Comme le niveau 1, mais ce n’est qu’avec certaines écritures
(par exemple Hébreu, Arabe, Devangari, Bengali, Gurmukhi,
Gujarati, Oriya, Tamil, Telugo, Kannada, Malayalam, Thai et
Lao) qu’il y a des caractères composés non supportés.
Niveau 3 Tous les caractères UCS sont supportés.
Le standard Unicode 3.0 publié par le Unicode Consortium contient
exactement le Basic Multilingual Plane UCS au niveau d’implémentation
3, comme décrit dans le ISO 10646-1:2000. Unicode 3.1 ajoute les plans
supplémentaires de l’ISO 10646-2. Le standard Unicode et les rapports
techniques publiés par le Consortium fournissent beaucoup
d’informations supplémentaires sur la sémantique et les recommandations
d’usage. 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é sous
Linux, et sa valeur est interprétée comme un code UCS (dans toutes les
localisations), une convention signalée par la bibliothèque C Gnu en
définissant la constante __STDC_ISO_10646__ comme indiquée dans le
standard ISO C 99.
L’UCS/Unicode peut être employé comme l’ASCII dans les flux
d’entrée/sortie, les communications avec les terminaux, les fichiers de
texte, les noms de fichiers et les variables d’environnement dans un
encodage multi-octets compatible UTF-8. 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 (ex.
"LANG=en_GB.UTF-8").
La fonction nl_langinfo(CODESET) renvoie le nom de l’encodage
sélectionné. Les fonctions de bibliothèques comme wctomb(3) et
mbsrtowcs(3) peuvent être utilisées pour transformer les caractères
wchar_t et les chaînes dans le jeu de caractères du système et
inversement. La fonction wcwidth(3) indique combien de positions (0–2)
le curseur est avancé en sortant 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 Thai) 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.
ZONE PRIVÉE
L’intervalle entre 0xE000 et 0xF8FF du BMP, ne sera jamais assigné a
aucun caractère par le standard, et est réservé pour un usage privé.
Pour la communauté Linux, cette zone privée a été subdivisée en deux.
L’intervalle entre 0xe000 et 0xefff peut être utilisé individuellement
par n’importe quelle application. 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 10646-1, International Organization for
Standardization, Geneva, 2000.
Ce sont les spécifications officielles de l’UCS. Disponible en
fichier PDF sur 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 à propos du langage C. La 4eme édition
couvre maintenant l’amendement 1 (1994) au standard ISO C (ISO/IEC
9899:1990) qui ajoute un grand nombre de fonctions de bibliothèque C
pour manipuler les jeux de caractères, mais ne couvre pas encore C99.
* 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, le support libc de Linux pour
les locales UTF-8 était mûr, et le support XFree86 était avancé, mais
le travail nécessaire pour rendre les applications (principalement les
éditeurs) compatibles avec l’UTF-8 était en cours. Le support général
actuel de UCS sous Linux fournit les caractères double-largeur CJK, et
parfois les surcharges 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 supportées que
par certaines applications graphiques (visualisateurs HTML, traitements
de texte) avec des moteurs d’affichage perfectionnés.
AUTEUR
Markus Kuhn <<mgk25@cl.cam.ac.uk>
VOIR AUSSI
utf-8(7) charsets(7), setlocale(3)
TRADUCTION
Christophe Blaess, 1997-2003.