Gömülü bir sistem projesi için SE Asya karakter kümelerini içermenin mutlak, minimum gereksinimi nelerdir?


14

Gömülü bilgisayar sistemlerini ürettiğimiz ürünlerimize entegre etmeye başlayan bir şirkette çalışıyorum. Oldukça geniş bir ürün yelpazemiz var ve bunlar dünya çapında dağıtılıyor. Ayrıca, sisteme yanıp sönen bellenime bağlı olarak birden çok amaca hizmet edebilecek birkaç entegre kart tasarladık. Bu şekilde bilgisayar donanımımızı çeşitli ürünlerimiz için yeniden tasarlamak zorunda kalmıyoruz - tek yapmamız gereken, belirli ürünün ihtiyaçlarını karşılamak için ürün yazılımı katmanını yeniden yazmak.

Bu donanım sınırlamaları nedeniyle, donanımımızı değiştirmek bir kongre eylemi gerektirir, ancak yeni yazılım yazmak çok daha kolaydır.

Ürünlerimizden birinin, daha önce uygulamak zorunda olmadığımız yeni bir gereksinimi var; bu, kullanıcı tarafından girilen metne ihtiyaç.

Şu anda, uluslararası metni kaynaklarda saklayabildik ve bit eşlemeli görüntüler için yalnızca gerekli yazı tipi karakterleri derleniyor. Bu, Çince ve Japonca metin gibi son derece ideolojik dilleri minimum düzeyde saklayabildiğimiz anlamına gelir, çünkü tüm dil kümesinin yalnızca çok küçük bir yüzdesini kullanırız.

Bu yeni ürün kullanıcılarımızın metin girmesini gerektireceğinden, kapsamlı bir karakter seti uygulamak zorundayız. Öncelikle bir PC geliştiricisi olarak ASCII, Unicode, UTF-8, vb. Hakkında oldukça bilgim var, ancak bu dillerden herhangi birinin tam karakter kümesini uygulamak mümkün değil çünkü tahtada sınırlı miktarda FRAM var yazı tipi verilerini saklamak için.

Yönetimim, son derece ideografik diller için kullanılabilecek minimal bir karakter seti olmasını umuyor. Japonca (Hiragana) için fonetik bir alfabe olduğuna inanıyorum. Çince, Korece, Vietnamca, vb. Diller için de benzer fonetik alfabe var mı ve eğer öyleyse, bu dillerin konuşmacıları bu kadar dar bir karakter setiyle iletişim kurabilir mi? Eminim bu sorunun cevabı "kesinlikle, hayır" ama sormaya değer bir soru.

Yönetim, ortak kullanımda tüm büyük dilleri kapsayan yaklaşık 8.000 karakterlik sınırlı bir karakter setine sahip olabilmemiz için "yumuşak" bir gereklilik belirlemiştir. Bu mümkün değilse, sınırlı donanım kaynaklarımızdan yola çıkarak ihtiyaçlarımızı karşılamak için bir çeşit alternatif yöntem aramamız gerekir.

Eminim bu problem daha önce çözülmüş olmalı. Kapsamlı bir yazı tipi ve karakter kodlama sistemine ihtiyaç duyarken böyle kısıtlamalar içinde çalışma deneyimi olan var mı? Eğer öyleyse, hangi bilgelik külçelerini sunabilirsiniz?


Ne Kore ne de Japonya, SE Asya'nın bir parçası değildir. E Asya'ya aitler. Tabii ki S, SE ve E Asya'yı kastediyorsanız, lütfen yazınız.
lalala

Yanıtlar:


25

Bu mükemmel bir soru.

Cevabınızı bir seferde bir dil ile çözmek için;

Vietnam

Vietnamca artık ideografik karakterler kullanmıyor, ancak Latin kümesi oldukça geniş: kaç tane aksan kullandığını görmek için örneğe bakın:

Tiệng Vi hayt, hay Việt ngữ, làn ữ ườ ườ ườ ườ ệ ệ ệ ệ ệ Việt (ng (i Kinh) ile ilgili daha fazla bilgi edinin Vi. Daha fazla bilgi Harita Sıralama kriteri: Fiyat (%) Tiếq ò ò l ò ò ò ứ ứ ứ ứ ứ i i i i i i i ứ ứ ứ ứ i i i i ệ ệ ệ ệ ệ ệ ệ ệ ệ ệ ệ ệ ệ Vi.

Bunun nedeni, her Vietnames hece, bir standart olmayan ünsüz glif ve altı standart dışı sesli harflere ek olarak, telaffuz etmeyi etkileyen altı ton işaretinden birine sahip olmasıdır.

Unicode sesli harfler üzerinde ton işaretleri oluşturur; glif oluşturma yeteneğiniz varsa, Vietnamca için sadece 13 ekstra glife ihtiyacınız olacak , ancak değilse, 1 ekstra ünsüz + 12 sesli harf * 6 ton + 6 yeni sesli harf toneless = 79 ekstra glif , küçük harfle ve büyük harf.

Koreli

Korece kötü haber. Korece teknik olarak sadece 68 harfli (jamo denilen) bir alfabe olmakla birlikte , aslında jamo'dan yapılmış hece boyutlu bloklarda yazılan Hangul adlı bir alfabe ile yazılmıştır.

Korece metnin nasıl göründüğüne bir örnek:

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

Unicode'un 11.172 tamamlanmış blok karakteri var - ancak son “blokları” kendiniz oluşturmak için mantığı kodlamak istiyorsanız, karakter setinden büyük ölçüde tasarruf edebilirsiniz.

Temel olarak, tüm heceler iki kategoriye ayrılabilir - ünsüz + ünlü ve ünsüz + ünlü + final, burada final bir sesli harf, ünsüz veya bir bileşik olabilir. CV heceleri solda C ve sağda V ile oluşturulur; CVF ünsüzleri üstte CV bloğu (soldan sağa) ve altta son olarak oluşur.

Yani, temel olarak, ihtiyacınız var:

  • 19 harf, iki biçimde
  • İki formda 21 medial
  • 28 final

toplam 108 sembol için . (Korece'de "bitişik harfler" olmadığından kesinlikle emin değilim, bu yüzden bazen inşa edilmiş bir blok bileşenlerin kombinasyonundan farklı görünür, ancak şimdilik alacağımız en iyisi budur).

Japonca

Doğru şekilde fark ettiğiniz gibi, Japonca fonetik bir alfabeye sahiptir - ama aslında sadece bir değil iki tane! Hiragana ve Katakana, her ikisi de aynı heceden 48 tanesi ile hecelerdir, ancak farklı bağlamlarda kullanılır (katakana yabancı kelimeler için kullanılır, hiragana dilbilgisi için kullanılır).

Ne yazık ki (bizim amacımız için), Japonca sadece bu iki alfabeyi kullanarak tam olarak yazmak neredeyse imkansızdır - Çince karakterler veya kanji , bu bağlamda bilindiği gibi, herhangi bir Japonca metin için gereklidir.

Zorunlu yazma örneği:

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

Kanji'nin yanı sıra, iki fonetik alfabe + Çince'de bulunmayan 7 yaygın kanji eşlemek için 103 glife ihtiyacınız olacak .

CKJ Noktalama İşaretleri

Bu konuda uzman değil, hem Çince hem de Japonca klasik, Doğu Asya noktalama işaretlerini kullanıyor. Unicode, CJK noktalama işaretlerine ve simgelerine adanmış 64 simgeye sahiptir .

Çince

Yani “bütçemizde” 7631 karakter kaldı. Çince karakterleri kapsamak yeterli mi?

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

100.000'den fazla karakter mevcut olduğunda, Çince karakter kümesini tamamen kapsamak imkansızdır , aktif olarak kullanılan alt küme çok daha küçüktür. 2000-3000 karakterin genel okuryazarlık için yeterli olduğu söylenir (HSK, TOEFL benzeri Mandarin Çincesi testi, en yüksek seviyesi için 2800 karakter bilgisi gerektirir, HSK Advanced), eğitimli bir kişi için 4000-5000 karakter yeterlidir.

Birçok karakter için farklı olan Basitleştirilmiş ve Geleneksel karakterlerin (eski PRC'de, ikincisi - Tayvan'da) olduğunu akılda tutarak, söyleyebilirim ki, kalan 7600 sembol, çoğu kullanım örneğini kapsayacak kadar yeterli olacaktır. her iki karakter kümesini de içerir.

Herhangi bir sorunuz varsa sormaktan çekinmeyin!


5
Vay. Bu muhtemelen SO üzerine gönderdiğim herhangi bir soru için aldığım en iyi cevap. Bu soruyu bugün daha önce değiştirdim çünkü olağanüstü kaldı. Gereksinimlerimiz biraz değişti ancak ürünlerimizin doğasını da biliyorum ve bunun bilinmeyen bir zamanda gelecekte bir ihtiyaç olacağını öngörüyorum. +1 ve oyu alırsınız. Keşke sana bundan daha fazla puan verebilsem. 1.000.000 teşekkürler!
RLH

Thai sevgisi yok mu?
lalala
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.