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

13

Trabajo para una empresa que ha comenzado a integrar sistemas informáticos integrados en nuestros productos que fabricamos. Tenemos una amplia gama de productos y se distribuyen en todo el mundo. Además, hemos diseñado algunas tarjetas integradas que pueden servir para múltiples propósitos dependiendo del firmware que se haya flasheado en el sistema. De esta manera, 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 es 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 se compilan los caracteres de fuente necesarios para las imágenes de mapa de bits. Esto significa que hemos podido almacenar idiomas altamente ideográficos como el chino y el 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 de PC principalmente, estoy bastante familiarizado con ASCII, Unicode, UTF-8, etc., sin embargo, implementar un conjunto completo de caracteres de cualquiera de estos idiomas no es posible porque tenemos una cantidad limitada de FRAM en la pizarra. para almacenar los datos de la fuente.

Mi administración espera que haya un conjunto de caracteres mínimo que pueda usarse para lenguajes altamente ideográficos. Creo que hay un alfabeto fonético para los japoneses (¿el hiragana?) ¿Hay también alfabetos fonéticos similares para los idiomas chino, coreano, vietnamita, etc. y, de ser así, podrían los hablantes de estos idiomas 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 formular.

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

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

    
pregunta RLH 11.07.2011 - 18:48

1 respuesta

23

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 en latín 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 ti tệi Việt Nam. Iy 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àn là người M gốc Vit. 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 Vietnames tiene una de las seis marcas de tono que tienen un impacto en la pronunciación, además de tener un glifo de consonante no estándar y seis vocales no estándar.

Unicode compone marcas de tonos sobre vocales; Si tienes la habilidad de componer glifos, solo necesitarás 13 glifos adicionales para vietnamitas, pero si no, necesitarás 1 consonante extra + 12 vocales * 6 tonos + 6 vocales nuevas toneless = 79 glifos adicionales , en minúsculas y en mayúsculas.

coreano

Corea 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. de jamo.

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

  

, 1443 이 이 이 정 (訓 民 正音) 이라는 이름 46 46 46 46 46 46 46 46 46 이 이름 을 사용 하였다.

Unicode tiene 11,172 caracteres de bloques completados, 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 de 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 medios, 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 ha 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 la gramática).

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

Ejemplo de escritura obligatoria:

  

仮1

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

Puntuación CKJ

No soy un experto en esto, pero tanto el chino como el japonés usan la puntuación clásica del este asiático. Unicode tiene 64 símbolos dedicados a la puntuación y los símbolos CJK.

chino

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

  

的 華夏族 華夏族, 的 手寫 手寫 — —程度 地 自行 創製 漢字。

Con más de 100,000 caracteres en existencia, es esencialmente imposible completamente cubrir el conjunto de caracteres chinos, el subconjunto de uso activo es mucho más pequeño. Se dice que los 2000-3000 caracteres son suficientes para la alfabetización general (HSK, examen similar al TOEFL de chino mandarín, requiere un 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 PRC, los últimos, en Taiwán), que difieren para muchos de los caracteres, los 7600 símbolos restantes, diría, sería solo lo suficiente para cubrir la mayoría de los casos de uso para ambos conjuntos de caracteres.

¡No dude en preguntar si tiene alguna pregunta!

    
respondido por el Ivan Cherevko 24.08.2011 - 18:54

Lea otras preguntas en las etiquetas