以前在我們的系統上實現了韓文本型的顯示,採用的minigui的顯示方式,由於不認識韓文,所以只是知道顯示的是韓文,並不知道是否正確。使用了 一段時間以後,有客戶反映南韓留學生認為韓文有問題,看不明白韓文歌曲名稱的意思。開始查問題。
1、由於系統記憶體的限制,所以我使用的韓文本型是從網上down的字型檔,只有5.2m左右,而windows標準的字型檔有13m左右,所以初步認為可能是字型檔的原因,結果測試使用後發現不正確,但是測試反映有的字對有的字不對。
2、懷疑可能是ksc5601(cp949)和unicode的轉換存在問題。由於當時做的時候使用的是minigui的轉換**,所以如果懷疑是轉換有問題的話就先從minigui下手,所以down了乙個minigui1.6的原始碼,結果發現ksc5601轉換的陣列只有extern沒有定義的地方。不過changelog裡面說修正了乙個韓文問題。
3、開始在網路上找編碼,找了乙個下午沒找到。
4、從qt的原始碼裡找,發現了一些蛛絲馬跡,修正後發現顯示正常了。
現在首先列出minigui中轉換的**:
const unsigned short ksc5601_0_unicode_map = ;
static unsigned int ksc5601_0_char_offset (word ch)
static unsigned short ksc5601_0_conv_to_uc16 (word ch, int len)
再列出qt中正確的轉換**:
/* table including ksc5601 hanja to unicode */
static const unsigned short ksc5601_hanja_to_unicode[4888]=
;/* table including ksc5601 hangul to unicode */
static const unsigned short ksc5601_hangul_to_unicode[2350]=
;/* table including ksc5601 symbol to unicode */
static const unsigned short ksc5601_symbol_to_unicode[1115]=
;static unsigned short ksc2unicode(unsigned short code)
Wince 新增中文字庫
1 在定製wince系統的時候,進入 project properties 裡,在local clear,再選擇你想要系統支援的語言,在預設的語言裡選擇系統預設的語言。回到catalog,選擇 core os international locale spectific support chines...
移植中文字庫到tiny6410
參考 在main.c中新增 qtextcodec setcodecforlocale qtextcodec codecforname utf 8 qtextcodec setcodecfortr qtextcodec codecforname utf 8 qtextcodec setcodecfor...
Tesseract 3 02中文字庫訓練
為了方便 tif文面命名格式 lang fontname exp num tif lang是語言 fontname是字型 比如我們要訓練自定義字型檔 image 字型名myfont 那麼我們把tif檔案重新命名 image.myfont.exp0.tif 下面開始訓練字型檔 1 tesseract ...