¿Cuáles son los requisitos mínimos y absolutos para contener conjuntos de caracteres del SE asiático para un proyecto de sistema integrado?

14

Trabajo para una empresa que ha comenzado a integrar sistemas informáticos integrados en nuestros productos que fabricamos. Tenemos una gama bastante amplia de productos y se distribuyen en todo el mundo. Además, hemos diseñado algunas placas integradas que pueden servir para múltiples propósitos dependiendo del firmware que se haya actualizado al sistema. De esta forma, no tenemos que rediseñar el hardware de nuestra computadora para nuestros diversos productos; todo lo que tenemos que hacer es volver a escribir la capa de firmware para satisfacer las necesidades específicas del producto.

Debido a estas limitaciones de hardware, cambiar nuestro hardware requiere un acto de congreso, pero escribir un nuevo software es mucho más simple.

Uno de nuestros productos tiene un nuevo requisito que no hemos tenido que implementar previamente, que es la necesidad de texto ingresado por el usuario.

Actualmente, hemos podido almacenar texto internacional en recursos y solo los caracteres de fuente necesarios se compilan en imágenes de mapa de bits. Esto significa que hemos podido almacenar idiomas altamente ideográficos como el texto en chino y japonés en una cantidad mínima de espacio porque solo usamos un porcentaje muy pequeño de todo el conjunto de idiomas.

Dado que este nuevo producto requerirá que nuestros usuarios ingresen texto, tendremos que implementar un amplio conjunto de caracteres. Como desarrollador principal de PC, estoy bastante familiarizado con ASCII, Unicode, UTF-8, etc., sin embargo, implementar un conjunto de caracteres completo de cualquiera de estos idiomas no es factible porque tenemos una cantidad limitada de FRAM en el tablero para almacenar los datos de la fuente.

Mi gerencia espera que haya un conjunto mínimo de caracteres que pueda usarse para lenguajes altamente ideográficos. Creo que hay un alfabeto fonético para el japonés (¿el Hiragana?) ¿Hay alfabetos fonéticos similares para los idiomas chino, coreano, vietnamita, etc. y, de ser así, los hablantes de estos idiomas podrían comunicarse con un conjunto de caracteres tan estrecho? Estoy bastante seguro de que la respuesta a esa pregunta es "absolutamente, no", pero es una pregunta que vale la pena hacer.

La administración ha establecido un requisito "flexible" de que solo podemos tener un conjunto de caracteres limitado de aproximadamente 8,000 caracteres que cubre todos los idiomas principales de uso común. Si esto no es posible, debemos buscar alguna forma de método alternativo para satisfacer nuestras necesidades en función de nuestros recursos limitados de hardware.

Estoy seguro de que este problema ha tenido que resolverse antes. ¿Alguien tiene experiencia trabajando dentro de tales limitaciones mientras necesita un extenso sistema de codificación de fuentes y caracteres? Si es así, ¿qué pepitas de sabiduría puedes ofrecer?

RLH
fuente
Ni Corea ni Japón son parte del sudeste asiático. Pertenecen a E Asia. Por supuesto, si te refieres a S, SE y E Asia, escríbelo.
lalala

Respuestas:

25

Esta es una excelente pregunta.

Para abordar su respuesta un idioma a la vez;

vietnamita

El vietnamita ya no usa caracteres ideográficos, pero su conjunto latino es bastante amplio: mira el ejemplo para ver cuántos diacríticos usa:

Tiếng Việt, hay 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 razón es que cada sílaba de los vietnamitas tiene una de las seis marcas de tono que impactan en la pronunciación, además de tener un glifo consonante no estándar y seis vocales no estándar.

Unicode compone marcas de tono sobre vocales; si tiene la capacidad de componer glifos, solo necesitará 13 glifos adicionales para vietnamitas, pero si no, necesitará 1 consonante adicional + 12 vocales * 6 tonos + 6 vocales nuevas sin tono = 79 glifos adicionales , en minúsculas y mayúscula

coreano

El coreano es una mala noticia. El coreano se escribe a través de un alfabeto llamado Hangul , que, aunque técnicamente es un alfabeto de solo 68 letras (llamado jamo), en realidad está escrito en bloques del tamaño de una sílaba, construidos con jamo.

Un ejemplo de cómo se ve el texto coreano:

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

Unicode tiene 11.172 caracteres de bloque completos, pero si está dispuesto a codificar la lógica para componer los "bloques" finales usted mismo, puede ahorrar mucho en el conjunto de caracteres.

Básicamente, todas las sílabas se pueden dividir en dos categorías: consonante + vocal y consonante + vocal + final, donde final puede ser una vocal, una consonante o un compuesto. Las sílabas CV se construyen con C a la izquierda y V a la derecha; Las consonantes CVF están compuestas con un bloque CV en la parte superior (de izquierda a derecha) y final en la parte inferior.

Entonces, básicamente, necesitas:

  • 19 iniciales, en dos formas
  • 21 mediales, en dos formas
  • 28 finales

para un total de 108 símbolos . (No estoy absolutamente seguro de que no haya "ligaduras" en coreano, por lo que a veces un bloque construido se ve diferente a la combinación de componentes, pero eso es lo mejor que obtendremos por ahora).

japonés

Como has notado correctamente, el japonés tiene un alfabeto fonético, ¡pero en realidad, no solo uno, sino dos! Hiragana y Katakana son silabarios, ambos con 48 de las mismas sílabas, pero se usan en diferentes contextos (katakana se usa para palabras extranjeras, hiragana se usa para gramática).

Lamentablemente (para nuestros propósitos), el japonés es casi imposible de escribir usando solo estos dos alfabetos: los caracteres chinos o kanji , como se los conoce en este contexto, son esenciales para cualquier texto japonés.

Ejemplo de escritura obligatoria:

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

Además de kanji, necesitarás 103 glifos para mapear dos alfabetos fonéticos + 7 kanji comunes que no existen en chino.

Puntuación CKJ

No soy un experto en esto, pero tanto los chinos como los japoneses usan la puntuación clásica de Asia oriental. Unicode tiene 64 símbolos dedicados a signos de puntuación y símbolos CJK.

chino

Entonces, tenemos 7631 caracteres restantes en nuestro "presupuesto". ¿Será suficiente para cubrir los caracteres chinos?

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

Con más de 100,000 caracteres en existencia, es esencialmente imposible cubrir completamente el conjunto de caracteres chinos, el subconjunto utilizado activamente es mucho más pequeño. Se dice que 2000-3000 caracteres son suficientes para la alfabetización general (HSK, examen similar al TOEFL de chino mandarín, requiere el conocimiento de 2800 caracteres para su nivel más alto, HSK avanzado), 4000-5000 caracteres son suficientes para una persona educada.

Teniendo en cuenta que hay caracteres Simplificados y Tradicionales (los primeros se usan en China, luego en Taiwán), que difieren en muchos caracteres, los 7600 símbolos restantes, diría, serían suficientes para cubrir la mayoría de los casos de uso para ambos juegos de caracteres.

¡No dude en preguntar si tiene alguna pregunta!

Ivan Cherevko
fuente
55
Guau. Esa es posiblemente la mejor respuesta que he recibido para cualquier pregunta que haya publicado en SO. Modifiqué esta pregunta más temprano hoy porque quedó pendiente. Nuestros requisitos han cambiado ligeramente, pero también conozco la naturaleza de nuestros productos y preveo que será una necesidad en el futuro en algún momento desconocido. Obtienes el +1 y respondes el voto. Ojalá pudiera darte más puntos que eso también. ¡Gracias 1,000,000!
RLH
¿No te gusta el tailandés?
lalala