打印

客戶端輸入法(全形半形)的字串處理

客戶端輸入法(全形半形)的字串處理

有在碰客戶端的應該都知道畫面右下角的全形半形會不斷疊加造成畫面凌亂
看久了很不舒服

查了Client Code後發現是因為字串的處理沒有很完整
於是自己做了點修正,只取最後的 2 bytes 來顯示

在ime.cpp下
第58行--lpstr1=GetImeDescString();

在這行下方新增以下程式碼:

std::string stdstr(lpstr1,strlen(lpstr1)-4,4);
lpstr1 = const_cast<char *>(stdstr.c_str());

如此一來就處理了微軟注音輸入法的字串
不過因為我沒有用雅虎輸入法&無蝦米,或許對這兩種也可能有影響
但多數應該還是微軟注音,以後有空再來處理。
本帖最近評分記錄
  • yang 貢獻值 +14 感謝分享 2020-5-31 10:02

TOP

回復 2# 的帖子

沒錯,因為我只是針對微軟注音的輸入法的部分做處理
倉頡、大易、行列等輸入法可能都要因地適宜去修正

畢竟微軟注音比較主流,如果能夠蒐集大家的智慧
就可以一併完成修正了

TOP

回復 5# 的帖子

你這個方法也很好耶,我都沒有想到可以這樣
但如果讓空白一直在疊加,會不會有溢位或者是造成當機的可能啊?

TOP