相信我,其實我一直很想寫乙個輸入法的.......
好吧,我承認我一直卡在獲取字型檔上面了,我實在太懶了.......
乙個契機,
pinkrat提供了乙個現成的字型檔~~~~~,讓我在這裡感謝一下他,沒有他的貢獻,我的輸入法可能也許大概就不會出現了。總體來講,輸入法本身沒有什麼太多的幾乎含量,主要在字型檔的組織和檢索效率上面。
我採用了索引和字型檔本身分離的組織方式(和某人的想法如此之相似,我只能說英雄所見略同了),另外檢索用了hashtable,理論上相對於陣列遍歷能有很大的效能提公升。
原始碼不包含任何的ui。
一些簡單的解釋
pinyin py=pinyin.getpinyin("/winpy.ctf", "/winpy.ttf");
獲取例項,後面2個引數,乙個是ctf索引檔案的位置,乙個是ttf字型檔檔案的位置。
winpy是大字型檔,py是小字庫。
py.searchfor("zhuang")
返回符合檢索條件的所有漢字。
過段時間會公升級一下,加入筆畫輸入法。
拼音輸入法
輸入法輸入漢字的快慢取決於 對漢字編碼的平均長度,也就是 擊鍵次數 乘以 尋找這個鍵所需要的時間。對漢字的編碼分為兩部分 對拼音的編碼和消除歧義性的編碼 最終選擇拼音輸入法,原因有三個優點,可以讓他輸入速度並不慢 1 不需要專門學習 2 輸入自然,不會中斷思維,也就是找每個鍵的時間非常短 3 編碼長...
拼音輸入法之爭
由於歷史的原因,一般情況下習慣用五筆,遇到不會打的字,就換到拼音。這樣切來切去的也挺麻煩,而且需要安裝至少兩種輸入法。後來,出現了乙個好像叫萬能五筆吧,據說五筆也行,拼音也可,就拿來用,感覺並不是太好,估計是太消耗資源了,又換回兩種輸入法。然後又發現極品五筆 極點五筆,應該都是個人開發的免費作品,用...
拼音輸入法之爭
由於歷史的原因,一般情況下習慣用五筆,遇到不會打的字,就換到拼音。這樣切來切去的也挺麻煩,而且需要安裝至少兩種輸入法。後來,出現了乙個好像叫萬能五筆吧,據說五筆也行,拼音也可,就拿來用,感覺並不是太好,估計是太消耗資源了,又換回兩種輸入法。然後又發現極品五筆 極點五筆,應該都是個人開發的免費作品,用...