Quelles sont les exigences absolues et minimales pour contenir les jeux de caractères asiatiques SE pour un projet de système embarqué?

14

Je travaille pour une entreprise qui a commencé à intégrer des systèmes informatiques embarqués dans nos produits que nous fabriquons. Nous avons une gamme assez large de produits et ils sont distribués à travers le monde. De plus, nous avons conçu quelques cartes intégrées qui peuvent servir à plusieurs fins en fonction du micrologiciel qui a été flashé sur le système. De cette façon, nous n'avons pas à repenser notre matériel informatique pour nos différents produits - tout ce que nous avons à faire est de réécrire la couche de micrologiciel pour répondre aux besoins spécifiques du produit.

En raison de ces limitations matérielles, le changement de notre matériel prend un acte de congrès, mais l'écriture de nouveaux logiciels est beaucoup plus simple.

L'un de nos produits a une nouvelle exigence que nous n'avons pas eu à implémenter auparavant, qui est le besoin de texte saisi par l'utilisateur.

Actuellement, nous avons pu stocker du texte international dans des ressources et seuls les caractères de police nécessaires sont compilés en images bitmap. Cela signifie que nous avons été en mesure de stocker des langues hautement idéographiques comme le texte chinois et japonais dans un espace minimal, car nous n'utilisons qu'un très faible pourcentage de l'ensemble des langues.

Étant donné que ce nouveau produit nécessitera que nos utilisateurs saisissent du texte, nous devrons implémenter un jeu de caractères étendu. En tant que développeur PC principalement, je connais assez bien ASCII, Unicode, UTF-8, etc. pour stocker les données de police.

Ma direction espère qu'il existe un jeu de caractères minimal qui peut être utilisé pour les langues hautement idéographiques. Je crois qu'il y a un alphabet phonétique pour le japonais (le Hiragana?) Existe-t-il également des alphabets phonétiques similaires pour les langues chinoise, coréenne, vietnamienne, etc. Je suis sûr que la réponse à cette question est "absolument, non", mais c'est une question qui mérite d'être posée.

La direction a défini une exigence "souple" selon laquelle nous ne pouvons avoir qu'un jeu de caractères limité d'environ 8 000 caractères couvrant toutes les principales langues couramment utilisées. Si cela n'est pas possible, nous devons rechercher une autre forme de méthode alternative pour répondre à nos besoins en fonction de nos ressources matérielles limitées.

Je suis sûr que ce problème a dû être résolu auparavant. Quelqu'un a-t-il de l'expérience dans ces contraintes tout en ayant besoin d'un système complet de codage de polices et de caractères? Si oui, quelles pépites de sagesse pouvez-vous offrir?

RLH
la source
Ni la Corée ni le Japon ne font partie de l'Asie du Sud-Est. Ils appartiennent à l'Asie de l'Est. Bien sûr, si vous voulez parler de l'Asie du Sud-Est, de l'Est et du Sud-Est, veuillez l'écrire.
lalala

Réponses:

25

Ceci est une excellente question.

Pour répondre à votre réponse une langue à la fois;

vietnamien

Le vietnamien n'utilise plus de caractères idéographiques, mais son ensemble latin est assez large: regardez l'exemple pour voir combien de diacritiques il utilise:

Tiếng Việt, foin Việt ngữ, là ngôn ngữ của người Việt (người Kinh) và là ngôn ngữ chính thức tại Việt Nam. Đây là tiếng mẹ đẻ của khoảng 85% dân cư Việt Nam, cùng với gần ba triệu người Việt hải ngoại, mà phần lớn là người Mỹ gốc Việt. Tiếng Việt còn là ngôn ngữ thứ hai của các dân tộc thiểu số tại Việt Nam.

La raison en est que chaque syllabe vietnamienne a l'une des six marques de tonalité qui ont un impact sur la prononciation - en plus d'avoir un glyphe de consonne non standard et six voyelles non standard.

Unicode compose des marques de tonalité sur les voyelles; si vous avez la capacité de composer des glyphes, vous n'aurez besoin que de 13 glyphes supplémentaires pour le vietnamien, mais sinon, vous aurez besoin de 1 consonne supplémentaire + 12 voyelles * 6 tons + 6 nouvelles voyelles sans ton = 79 glyphes supplémentaires , en downcase et majuscule.

coréen

Le coréen est une mauvaise nouvelle. Le coréen est écrit à travers un alphabet appelé Hangul , qui, tout en étant techniquement un alphabet de seulement 68 lettres (appelé jamo), est en fait écrit en blocs de la taille d'une syllabe, construit à partir de jamo.

Un exemple de l'apparence du texte coréen:

한글 또는 조선 글 은 한국어 의 고유 문자 로서, 1443 년 조선 제 4 대 임금 세종 이 훈민정음 (訓 民 正音) 이라는 이름 으로 창제 하여 1446 년 에 반포 하였다. 4 한문 을 고수 하는 사대부 들 에게는 경시 되기도 하였으나, 조선 왕실 과 일부 양반층 과 서민층 을 중심 으로 이어 지다가 1894 년 갑오 개혁 에서 한국 의 공식적인 나라 글자 가 되었고, 1910 년대 에 이르러 한글 학자 인 주시경 이 '한글' 이라는 이라는 이름 을 사용 하였다.

Unicode a 11 172 caractères de bloc terminés - mais si vous êtes prêt à coder la logique pour composer vous-même les «blocs» finaux, vous pouvez économiser considérablement sur le jeu de caractères.

Fondamentalement, toutes les syllabes peuvent être divisées en deux catégories - consonne + voyelle et consonne + voyelle + finale, où finale peut être une voyelle, une consonne ou un composite. Les syllabes CV sont construites avec C à gauche et V à droite; Les consonnes CVF sont composées d'un bloc CV en haut (de gauche à droite) et d'une finale en bas.

Donc, fondamentalement, vous avez besoin de:

  • 19 initiales, sous deux formes
  • 21 médiales, sous deux formes
  • 28 finales

pour un total de 108 symboles . (Je ne suis pas absolument sûr qu'il n'y ait pas de «ligatures» en coréen, de sorte que parfois un bloc construit semble différent de la combinaison de composants, mais c'est le meilleur que nous aurons pour l'instant).

Japonais

Comme vous l'avez bien remarqué, le japonais a un alphabet phonétique - mais en fait, pas seulement un, mais deux! Hiragana et Katakana sont des syllabaires, tous deux avec 48 des mêmes syllabes, mais utilisés dans des contextes différents (katakana est utilisé pour les mots étrangers, hiragana est utilisé pour la grammaire).

Malheureusement (pour nos besoins), le japonais est presque impossible à écrire complètement en utilisant uniquement ces deux alphabets - les caractères chinois ou kanji , comme ils sont connus dans ce contexte, sont essentiels à tout texte japonais.

Exemple d'écriture obligatoire:

仮 名 (か な) と は 、 漢字 を も と に し て 日本 で 作 ら れ た 文字 の こ と。 現在 一般 に は 平 仮 名 と 片 仮 名 の こ と が が り 種 種 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的あ ら わ す 音節 文字 に 分類 さ れ る。 漢字 に 対 し て 和 字 (わ じ) と も 言 う。 た だ し 和 字 は 和 製 漢字 を 意味 す る 事 も も る。。

Outre les kanji, vous aurez besoin de 103 glyphes pour mapper deux alphabets phonétiques + 7 kanji communs qui n'existent pas en chinois.

Ponctuation CKJ

Pas un expert sur celui-ci, mais les chinois et les japonais utilisent la ponctuation classique d'Asie de l'Est. Unicode possède 64 symboles dédiés à la ponctuation et aux symboles CJK.

chinois

Il nous reste donc 7631 caractères dans notre «budget». Sera-ce suffisant pour couvrir les caractères chinois?

漢字 為 上古 時代 的 華夏族 人 所 發明 創製 並 作 改進 , 目前 确切 歷史 可 追溯 至 約 公元前 1300 朝 商朝 的 甲骨文 、 籀文 、 金文。 再到 秦朝 的 小篆 , 發展 至 漢朝 隸 變 , ,至 唐代 楷 化為 今日 所 用 的 手寫 字體 標準 —— 正楷。 汉字 是 迄今为止 连续 使用 时间 最长 的 主要 文字 , 也是 上古 时期 各大 文字 体系 中 唯一 传承 至今 的 文字 , 期間 東亞 諸國 都有 一定 程度 地 自行創製 漢字。

Avec plus de 100 000 caractères, il est pratiquement impossible de couvrir entièrement le jeu de caractères chinois, le sous-jeu activement utilisé est beaucoup plus petit. 2000-3000 caractères seraient suffisants pour l'alphabétisation générale (HSK, test du chinois mandarin semblable au TOEFL, nécessite la connaissance de 2800 caractères pour son plus haut niveau, HSK Advanced), 4000-5000 caractères suffisent pour une personne instruite.

En gardant à l'esprit qu'il existe des caractères simplifiés et traditionnels (les premiers sont utilisés en RPC, les derniers - à Taiwan), qui diffèrent pour beaucoup de caractères, les 7600 symboles restants, je dirais, suffiraient à couvrir la plupart des cas d'utilisation pour les deux jeux de caractères.

N'hésitez pas à demander si vous avez des questions!

Ivan Cherevko
la source
5
Sensationnel. C'est probablement la meilleure réponse que j'ai jamais reçue pour toutes les questions que j'ai publiées sur SO. J'ai modifié cette question un peu plus tôt dans la journée car elle est restée en suspens. Nos exigences ont légèrement changé, mais je connais également la nature de nos produits et je prévois que ce sera un besoin à l'avenir à un moment inconnu. Vous obtenez le +1 et répondez au vote. J'aimerais pouvoir vous donner plus de points que cela aussi. Merci 1 000 000!
RLH
Pas d'amour pour le thaï?
lalala