Каковы абсолютные, минимальные требования для содержания азиатских кодировок SE для проекта встроенной системы?

14

Я работаю в компании, которая начала интегрировать встроенные компьютерные системы в наши продукты, которые мы производим. У нас довольно широкий ассортимент продукции, и она распространяется по всему миру. Кроме того, мы разработали несколько интегрированных плат, которые могут служить нескольким целям в зависимости от прошивки, установленной в системе. Таким образом, нам не нужно перепроектировать наше компьютерное оборудование для наших различных продуктов - все, что нам нужно сделать, это переписать слой прошивки для удовлетворения потребностей конкретного продукта.

Из-за этих аппаратных ограничений замена нашего оборудования требует конгресса, но написание нового программного обеспечения намного проще.

Один из наших продуктов имеет новое требование, которое мы ранее не выполняли, а именно необходимость ввода текста пользователем.

В настоящее время мы можем хранить международный текст в ресурсах, и только необходимые шрифтовые символы компилируются в растровые изображения. Это означает, что мы смогли хранить высокоидеографические языки, такие как китайский и японский текст, в минимальном объеме, потому что мы используем только очень небольшой процент от всего набора языков.

Поскольку этот новый продукт потребует, чтобы наши пользователи вводили текст, нам потребуется реализовать обширный набор символов. Будучи в первую очередь разработчиком ПК, я хорошо знаком с ASCII, Unicode, UTF-8 и т. Д., Однако реализовать полный набор символов на любом из этих языков невозможно, поскольку у нас на плате ограниченное количество FRAM. хранить данные шрифта.

Мое руководство надеется, что существует минимальный набор символов, который можно использовать для высокоидеографических языков. Я полагаю, что для японского языка существует фонетический алфавит (хирагана?). Существуют ли аналогичные фонетические алфавиты для китайского, корейского, вьетнамского и т. Д. Языков, и если да, могут ли носители этих языков общаться с таким узким набором символов? Я почти уверен, что ответ на этот вопрос «абсолютно, нет», но этот вопрос стоит задать.

Руководство установило «мягкое» требование, чтобы мы могли иметь только ограниченный набор символов, состоящий примерно из 8000 символов, охватывающих все основные языки общего пользования. Если это невозможно, нам нужно найти какой-то альтернативный метод для удовлетворения наших потребностей на основе наших ограниченных аппаратных ресурсов.

Я уверен, что эта проблема должна была быть решена раньше. У кого-нибудь есть опыт работы с такими ограничениями, когда требуется обширная система кодирования шрифтов и символов? Если да, то какие кусочки мудрости вы можете предложить?

RLH
источник
Ни Корея, ни Япония не являются частью Юго-Восточной Азии. Они принадлежат E Asia. Конечно, если вы имеете в виду S, SE и E Asia, пожалуйста, напишите так.
Лалала

Ответы:

25

Это отличный вопрос.

Для решения вашего ответа по одному языку за раз;

вьетнамский

Вьетнамцы больше не используют идеографические символы, но их латинский набор довольно широк: посмотрите на пример, чтобы увидеть, сколько диакритических знаков он использует:

Тиенг Вайт, Хэй Вайт Нго, Лонг Нгон Чжи Нгит Вайт (Người Kinh) Và Là Ngon Ngữ Chính Thứi Tại Việt Nam. Он будет любить 85%, не может быть, он нам нужен, а потом ты будешь любить тебя, ты будешь любить меня, будь здоров! Тиенг Винт-ла-нон-нг-ха-ха-ча-дак, что-то вроде Вайт Нам.

Причина в том, что каждый слог вьетнамцев имеет одну из шести тональных меток, которые влияют на произнесение - в дополнение к наличию одного нестандартного согласного символа и шести нестандартных гласных.

Unicode создает тональные метки над гласными; если у вас есть возможность сочинять глифы, вам понадобится только 13 дополнительных глифов для вьетнамцев, но если нет, вам понадобится 1 дополнительная согласная + 12 гласных * 6 тонов + 6 новых гласных без тонов = 79 дополнительных глифов в нижнем регистре и верхний регистр.

корейский язык

Корейский это плохие новости. Корейский написан через алфавит, называемый хангул , который, будучи технически алфавитом, состоящим всего из 68 букв (называемых джамо), на самом деле написан блоками размером в слог, построенными из джамо.

Пример того, как выглядит корейский текст:

43 제 조선 글 은 한국어 고유 고유 로서 14, 1443 제 제 제 4 대 세종 이 훈민정음 (訓 民 正音) 이라는 이름 으로 창제 하여 1446 년 에 반포 반포. 1894 год, 1910 год, 1910 год 하였다 을 사용 하였다.

Юникод имеет 11 172 завершенных блочных символа - но если вы хотите закодировать логику для составления конечных «блоков» самостоятельно, вы можете значительно сэкономить на наборе символов.

По сути, все слоги можно разделить на две категории - согласный + гласный и согласный + гласный + окончательный, где финал может быть гласным, согласным или составным. CV слоги построены с C слева и V справа; Согласные CVF состоят из блока CV сверху (слева направо) и финального снизу.

Итак, в основном вам нужно:

  • 19 инициалов в двух формах
  • 21 медаль, в двух формах
  • 28 финалов

в общей сложности 108 символов . (Я не совсем уверен, что на корейском языке нет «лигатур», так что иногда построенный блок выглядит иначе, чем комбинация компонентов, но это лучшее, что мы пока получим).

Японский

Как вы правильно заметили, у японского языка есть фонетический алфавит - но на самом деле не один, а два! Хирагана и катакана - это слоги, оба из 48 одинаковых слогов, но используются в разных контекстах (катакана используется для иностранных слов, хирагана используется для грамматики).

К сожалению (для наших целей), на японском языке практически невозможно полностью писать, используя только эти два алфавита - китайские иероглифы или кандзи , как они известны в этом контексте, важны для любого японского текста.

Обязательный пример написания:

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

Помимо кандзи, вам понадобится 103 символа, чтобы отобразить два фонетических алфавита + 7 обычных кандзи, которые не существуют на китайском языке.

CKJ Пунктуация

Не эксперт в этом вопросе, но и китайцы, и японцы используют классическую восточноазиатскую пунктуацию. Unicode имеет 64 символа, посвященных пунктуации CJK и символам.

китайский язык

Итак, в нашем «бюджете» осталось 7631 символ. Будет ли этого достаточно, чтобы покрыть китайские иероглифы?

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

При существовании более 100 000 символов практически невозможно полностью охватить китайский набор символов, а активно используемый набор значительно меньше. Говорят, что для общей грамотности достаточно 2000-3000 символов (HSK, TOEFL-подобный тест по китайскому языку, требует знания 2800 символов для самого высокого уровня, HSK Advanced), 4000-5000 символов достаточно для образованного человека.

Принимая во внимание, что есть упрощенные и традиционные символы (первые используются в КНР, последние - на Тайване), которые отличаются по большому количеству символов, оставшихся 7600 символов, я бы сказал, было бы достаточно, чтобы охватить большинство вариантов использования для оба набора символов.

Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы!

Иван Черевко
источник
5
Вау. Возможно, это лучший ответ, который я когда-либо получал на любые вопросы, которые я написал на SO. Я изменил этот вопрос ранее сегодня, потому что он остался нерешенным. Наши требования немного изменились, но я также знаю природу наших продуктов и предвижу, что это потребуется в будущем в какое-то неизвестное время. Вы получаете +1 и отвечаете на голосование. Я хотел бы дать вам больше очков, чем это тоже. Спасибо 1 000 000!
RLH
Нет любви к тайскому?
Лалала