# Codage des caractères chinois

Le codage des caractères chinois han (il existe différentes écritures chinoises) a évolué avec le temps. S'ils sont aujourd'hui tous compris dans le standard Unicode, il existait auparavant différents encodages pour chacune des langues les utilisant.

## Les différents types de caractères chinois han

Le sigle CJC (de l'anglais CJK, Chinese, Japanese, Korean) désigne les écritures chinoise, japonaise et coréenne, ou également, CJCV (de l'anglais CJKV Chinese, Japanese, Korean, Vietnamese), pour y ajouter le vietnamien. Ces quatre écritures utilisent ou ont utilisé des caractères Han, caractères chinois dits hanzi en chinois, kanji en japonais, hanja en coréen, Hán tự en vietnamien, ainsi que des caractères nationaux.
Des langues mortes ont également utilisé des caractères chinois han ou inspirés des caractères chinois han c'est le cas de l'écriture tangoute, ou du nüshu par exemple.
Les langues mongoles, qui ont utilisé et utilisent toujours plusieurs écritures différentes, ont beaucoup influencé la langue han appelée Han'er et son écriture.
Ces caractères idéographiques ont évolué au fil des siècles dans ces différents pays et ont aujourd’hui des tracés bien différents.
Les Vietnamiens sont les premiers, sous l'influence des colons français, à ne plus les utiliser en les remplaçant complètement par l'alphabet latin.
En Chine continentale (ou Chine populaire) et Singapour, ils ont été en très grande partie simplifiés et on appelle la forme simplifiée jianti (简体, corps simple), et la forme traditionnelle, fanti (繁体, corps compliqué). À Taïwan ou dans les régions administratives spéciales (Hong Kong, Macao, parlant tous deux cantonais), les caractères chinois traditionnels ont été gardés, généralement sans aucune modification.
Au Japon, une partie des caractères ont été simplifiés au XXe siècle également, parfois les mêmes simplification qu'en Chine populaire et d'autres ont été modifiés. On appelle les nouvelles versions, shinjitai (新字体) (corps de caractère nouveau), et les versions identiques au chinois, kyūjitai (旧字体) (corps de caractère ancien).
Les Japonais ont ajouté les syllabaires kana (仮名) (hiragana (平仮名) pour les mots japonais et katakana (片仮名) pour les mots étrangers non-chinois). Ces caractères ont été créés en extrayant une partie d'un caractère chinois ayant la même prononciation en japonais, à la manière du bopomofo (des initiales BPMF) (ou zhuyin (注音)) utilisé autrefois dans l'apprentissage de la prononciation du chinois en Chine.
Les Coréens ont créé leur alphabet hangeul au XIVe siècle, peut être à partir de l'écriture tibétaine ou de son dérivé qu'est l'écriture phagspa (utilisé par les Mongols sous la dynastie Yuan, en Chine, de la fin du XIIIe siècle au début du XIVe siècle), en utilisant une méthode identique à bopomofo et kana. Elle a rapidement été interdite par les monarques, en raison de la possibilité de la population de médire sur ceux-ci, de nouveau autorisés au XIXe siècle, puis, ont fini par remplacer les caractères chinois dans l'écriture courante au XXe siècle.
Les sens des caractères ont de plus évolué avec le temps dans les différents pays les utilisant, créant de nombreux faux-amis. Par exemple, la formule 野菜 (prononcée yěcài en mandarin) signifie en chinois « légume sauvage, herbe comestible », mais en japonais les mêmes caractères 野菜 (prononcés yasai) signifient « légume, plante potagère ». De même, le caractère 玉 (prononcé yù en mandarin) et signifiant « jade » en chinois, a cependant en japonais (prononcé tama) soit le sens de « bijou, perle » soit celui, très général, de « boule, balle, globe... ».

## Normes d'encodage

Avant l'apparition de l'Unicode, qui permet dans un seul jeu de caractère, d'encoder théoriquement toutes les écritures de la planète, chaque langue et écritures d'une langue possédait plusieurs encodages. Il y avait les normes relativement reconnues, comme GBK ou GB2312 pour le chinois simplifié et Big5 pour les caractères chinois traditionnels. Les encodages spécifiques à Microsoft (pour Windows) ou IBM, et d'autres normes moins bien reconnues ont également été créées. Il était alors compliqué de mélanger différents types de caractères dans un même texte, ils étaient difficiles à détecter automatiquement, et posaient ainsi de nombreux problèmes d'interopérabilité. Il n'y avait pas non plus de normes reconnues pour les écritures disparues comme le Hán tự en vietnamien.
Le Consortium Unicode et l’ISO (ainsi que le groupe de travail Unihan dont font partie les autorités de normalisations chinoises, japonaises et coréennes, qui fut chargé de l’identification et l’unification des très nombreux caractères han de ces langues avant leur normalisation par l’ISO et Unicode...) considèrent que les caractères chinois, coréens, japonais sont les mêmes, que seuls les glyphes (œils en français) diffèrent. La différence serait comparable aux langues latines : traditionnellement en allemand la police de caractères gothique est privilégiée, en français une police à empattements et en anglais une police sans empattements. Ainsi ils peuvent être codés de la même façon et c'est au programme ou à l'utilisateur de choisir une police appropriée pour afficher les caractères dans le style qui convient le mieux aux habitudes locales.
Par conséquent :
* il est impossible de savoir dans quelle langue est écrit un caractère (donc quel glyphe utiliser pour le représenter), ce n’est d’ailleurs pas un problème unique au CJCV (comment savoir si un A est allemand ou français ?),
* mélanger japonais et chinois (par exemple, en citant une parole de Confucius dans sa langue dans un ouvrage japonais) dans un texte non balisé ou sans utiliser les étiquettes linguistiques d’Unicode peut poser des problèmes d'esthétique,
* un ouvrage concernant le japonais ancien unifiera des caractères qui n’existent plus dans la langue moderne mais font appel à des concepts bien différents pour un spécialiste.
Pour cette raison, beaucoup de Japonais refusent de voir en Unicode un système de codage universel. Ken Sakamura, professeur de l'université de Tokyo avait d'ailleurs proposé un autre système de codage intégré à un système d'exploitation embarqué : Projet TRON. Celui-ci permet de coder tous les caractères existant ou ayant existé, ce qui est utile pour les linguistes ou historiens japonais citant les caractères disparus dans leurs publications.
Ce problème est moins sensible entre les caractères du chinois traditionnel et ceux du chinois simplifié, mais il existe cependant dans un certains nombre de cas. Le coréen et le vietnamien, qui sont écrits actuellement avec des caractères complètement différents des caractères chinois, recourent à des caractères chinois traditionnels dans des contextes religieux, de fête ou pour clarifier des noms propres. En Chine populaire, des caractères chinois traditionnels peuvent devoir être utilisés pour des raisons artistiques, historiques ou de prestige dans des textes utilisant par ailleurs les caractères simplifiés. D'autre part, certains caractères chinois peuvent avoir plus qu'une seule graphie traditionnelle, en plus de leur écriture simplifiée, nécessitant la prise en compte dans le codage de ces variantes anciennes.
Pour répondre à ces problématiques, Unicode a ouvert un répertoire de variantes normalisées, qui permettront de différencier (de façon optionnelle) les caractères han unifiés quand cela sera nécessaire. Ce répertoire additionnel ne nécessite pas d’ajout de caractères supplémentaires dans Unicode ou ISO/CEI 10646 et ne compromet pas le travail d’unification réalisé (la norme Unicode référence déjà des variantes graphiques pour les symboles à usage mathématique).
Pour certains, ouvrir complètement la porte à des variantes graphiques codées différemment est inacceptable car cela poserait de nombreux problèmes d’interopérabilité des documents qui, dès lors, dépendraient de polices de caractères spécifiques, puisque les glyphes sont soumis à la protection de la propriété intellectuelle. Cela compromettrait totalement la norme et rendrait quasiment impossible la conversion de données de sources différentes, chacune utilisant ses propres polices de caractères. La solution du codage de variantes graphiques est ouverte caractère par caractère, mais uniquement dans les cas où la différenciation est nécessaire pour permettre un rendu correct et lisible des textes codés.

## Encodages utilisés avant l'UTF
### Chinois

* Simplifié : GB2312, GB13000, GB18030, GBK, GB_1988-80, GB_198880.
* Traditionnel : BIG-5, BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, CN-BIG5, CN-GB, CN.

### Coréen

* ISO-2022-KR, EUC-KR, ISO-646, KS_X_1001, KS_X_1001:1992, KPS_9566, KSC5636

### Japonais

* JIS_X_0208, JIS_C6220-1969-RO, JIS_C6229-1984-B, JIS_C62201969RO, JIS_C62291984B, ShiftJIS, ISO-2022-JP, EUC-JP

### Vietnamien

* VNI, TCVN3, VISCII, VSCII (TCVN 5712:1993), VPS, Windows-1258

## Conversion entre encodages

Des logiciels comme iconv (sous Linux) permettent de convertir d'un encodage à un autre.