Jakie są absolutne, minimalne wymagania dotyczące przechowywania azjatyckich zestawów znaków dla projektu systemu wbudowanego?

14

Pracuję dla firmy, która rozpoczęła integrację wbudowanych systemów komputerowych z produkowanymi przez nas produktami. Mamy dość szeroką gamę produktów i są one dystrybuowane na całym świecie. Ponadto zaprojektowaliśmy kilka zintegrowanych kart, które mogą służyć do wielu celów, w zależności od oprogramowania wbudowanego w system. W ten sposób nie musimy przeprojektowywać sprzętu komputerowego pod kątem różnych produktów - wystarczy ponownie napisać warstwę oprogramowania układowego, aby spełnić potrzeby konkretnego produktu.

Z powodu tych ograniczeń sprzętowych zmiana naszego sprzętu wymaga kongresu, ale pisanie nowego oprogramowania jest znacznie prostsze.

Jeden z naszych produktów ma nowy wymóg, którego nie musieliśmy wcześniej wdrażać, a mianowicie potrzebę wprowadzania tekstu przez użytkownika.

Obecnie jesteśmy w stanie przechowywać tekst międzynarodowy w zasobach i tylko niezbędne znaki czcionek są kompilowane do obrazów z mapą bitową. Oznacza to, że byliśmy w stanie przechowywać wysoce ideograficzne języki, takie jak chiński i japoński tekst, w minimalnej ilości miejsca, ponieważ używamy tylko bardzo niewielkiego odsetka całego zestawu języków.

Ponieważ ten nowy produkt będzie wymagał od naszych użytkowników wprowadzania tekstu, będziemy musieli wdrożyć obszerny zestaw znaków. Jako przede wszystkim programista na PC, znam się na ASCII, Unicode, UTF-8 itp., Jednak implementacja pełnego zestawu znaków w każdym z tych języków nie jest możliwa, ponieważ mamy na pokładzie ograniczoną ilość FRAM do przechowywania danych czcionek.

Moje kierownictwo ma nadzieję, że istnieje minimalny zestaw znaków, którego można używać w przypadku języków o wysokim poziomie ideografii. Wierzę, że istnieje alfabet fonetyczny dla japońskiego (Hiragana?) Czy istnieją podobne alfabety fonetyczne dla języków chińskiego, koreańskiego, wietnamskiego itp., A jeśli tak, to czy osoby mówiące tymi językami mogłyby komunikować się z tak wąskim zestawem znaków? Jestem prawie pewien, że odpowiedź na to pytanie brzmi „absolutnie nie”, ale warto zadać to pytanie.

Kierownictwo ustanowiło „miękkie” wymaganie, abyśmy mogli mieć jedynie ograniczony zestaw znaków wynoszący około 8 000 znaków, obejmujący wszystkie popularne powszechnie używane języki. Jeśli nie jest to możliwe, musimy poszukać alternatywnej metody zaspokojenia naszych potrzeb w oparciu o ograniczone zasoby sprzętowe.

Jestem pewien, że ten problem musiał zostać wcześniej rozwiązany. Czy ktoś ma doświadczenie w pracy z takimi ograniczeniami, a jednocześnie potrzebuje rozbudowanego systemu kodowania czcionek i znaków? Jeśli tak, jakie samorodki mądrości możesz zaoferować?

RLH
źródło
Ani Korea, ani Japonia nie są częścią Azji Południowo-Wschodniej. Należą do E Asia. Oczywiście, jeśli masz na myśli S, SE i E Asia, napisz tak.
lalala,

Odpowiedzi:

25

To doskonałe pytanie.

Aby rozwiązać swoją odpowiedź w jednym języku na raz;

wietnamski

Wietnamski nie używa już znaków ideograficznych, ale jego zestaw łaciński jest dość szeroki: spójrz na przykład, aby zobaczyć, ile znaków diakrytycznych używa:

Tiếng Việt, siano 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% dan c Việt Nam, cung với gan 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 Cua các dan Tuc Thuểu số Toi Việt Nam.

Powodem jest to, że każda sylaba Wietnamu ma jeden z sześciu znaków tonowych, które wpływają na wymawianie - oprócz posiadania jednego niestandardowego glifu spółgłoskowego i sześciu niestandardowych samogłosek.

Unicode tworzy znaki tonowe nad samogłoskami; jeśli masz umiejętność komponowania glifów, potrzebujesz tylko 13 dodatkowych glifów dla Wietnamczyków, ale jeśli nie, potrzebujesz 1 dodatkowej spółgłoski + 12 samogłosek * 6 tonów + 6 nowych samogłosek bez ton = 79 dodatkowych glifów , małymi literami i duże litery.

koreański

Koreański to złe wieści. Koreański jest pisany alfabetem zwanym Hangul , który technicznie jest alfabetem składającym się tylko z 68 liter (zwanych jamo), ale tak naprawdę jest pisany blokami wielkości sylaby, zbudowanymi z jamo.

Przykładowy wygląd koreańskiego tekstu:

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

Unicode ma 11 172 ukończone znaki blokowe - ale jeśli chcesz samodzielnie napisać logikę, by skomponować końcowe „bloki”, możesz znacznie zaoszczędzić na zestawie znaków.

Zasadniczo wszystkie sylaby można podzielić na dwie kategorie - spółgłoskę + samogłoskę i spółgłoskę + samogłoskę + końcowy, gdzie końcowy może być samogłoską, spółgłoską lub złożonym. Sylaby CV są zbudowane z C po lewej i V po prawej; Spółgłoski CVF składają się z bloku CV u góry (od lewej do prawej) i końcowego na dole.

Zasadniczo potrzebujesz:

  • 19 inicjałów w dwóch formach
  • 21 medialnych, w dwóch formach
  • 28 finałów

w sumie 108 symboli . (Nie jestem absolutnie pewien, że w języku koreańskim nie ma „ligatur”, więc czasami skonstruowany blok wygląda inaczej niż kombinacja składników, ale to najlepsze, co na razie dostaniemy).

język japoński

Jak słusznie zauważyłeś, japoński ma alfabet fonetyczny - ale właściwie nie tylko jeden, ale dwa! Hiragana i Katakana są sylabariami, obie zawierające 48 takich samych sylab, ale używane w różnych kontekstach (katakana jest używana w przypadku obcych słów, hiragana jest używana w gramatyce).

Niestety (dla naszych celów) japoński jest prawie niemożliwy do pełnego pisania przy użyciu tylko tych dwóch alfabetów - chińskie znaki lub kanji , jak są one znane w tym kontekście, są niezbędne dla każdego japońskiego tekstu.

Przykład obowiązkowego pisania:

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

Oprócz kanji potrzebujesz 103 glifów, aby zmapować dwa alfabety fonetyczne + 7 wspólnych znaków kanji, które nie istnieją w języku chińskim.

Interpunkcja CKJ

Nie jest ekspertem w tej dziedzinie, ale zarówno Chińczycy, jak i Japończycy używają klasycznej interpunkcji wschodnioazjatyckiej. Unicode ma 64 symbole poświęcone interpunkcji i symbolom CJK.

chiński

Mamy więc 7631 znaków w naszym „budżecie”. Czy wystarczy pokryć chińskie znaki?

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

Ponieważ istnieje ponad 100 000 znaków, całkowite pokrycie chińskiego zestawu znaków jest zasadniczo niemożliwe , aktywnie używany podzbiór jest znacznie mniejszy. Mówi się, że 2000-3000 znaków wystarcza do ogólnej wiedzy (HSK, test podobny do TOEFL chińskiego mandaryńskiego, wymaga znajomości 2800 znaków dla jego najwyższego poziomu, HSK Advanced), 4000-5000 znaków wystarcza dla osoby wykształconej.

Pamiętając, że istnieją znaki uproszczone i tradycyjne (pierwsze są używane w ChRL, drugie - na Tajwanie), które różnią się dla wielu znaków, pozostałe 7600 symboli, powiedziałbym, wystarczyłoby na pokrycie większości przypadków użycia dla oba zestawy znaków.

Zapytaj, czy masz jakieś pytania!

Ivan Cherevko
źródło
5
Łał. To prawdopodobnie najlepsza odpowiedź, jaką kiedykolwiek otrzymałem na wszelkie pytania, które opublikowałem na SO. Zmieniłem dzisiaj to pytanie, ponieważ pozostało nierozstrzygnięte. Nasze wymagania nieznacznie się zmieniły, ale znam także naturę naszych produktów i przewiduję, że będzie to w przyszłości potrzebne w nieznanym momencie. Otrzymujesz +1 i odbierasz głos. Chciałbym też dać ci więcej punktów. Dzięki 1 000 000!
RLH
Brak miłości do Thai?
lalala,