經過一段時間網友提出的新的需求,鄙人利用閑暇時間對深藍詞庫轉換程序進行了升級,現將1.8版本發布。
老生常談,深藍詞庫轉換是一款.Net 2.0平台的各輸入法詞庫互轉程序。有了這個工具,各種詞庫在各種輸入法,PC和手機上都通用了。
目前支持的輸入法有: PC端:
- 搜狗拼音(文本詞庫和scel格式細胞詞庫)
- QQ拼音(文本詞庫和qpyd格式分類詞庫)
- QQ五筆(純漢字)
- 谷歌拼音
- 搜狗五筆
- 紫光拼音
- 拼音加加
- 新浪拼音
- 極點鄭碼
- 百度拼音(文本詞庫,bdict格式)
- 微軟拼音
- 小小輸入法(拼音)
- 自定義格式
手機端:
- QQ手機拼音
- 百度手機拼音(文本詞庫和bcd格式)
- 觸寶手機輸入法(Android)
下面介紹一下1.8版本中的新功能。
一、自定義編碼庫和格式的導出功能。
許多輸入法並不使用標准的拼音編碼,或者使用拼音編碼但是格式與目前支持的這些輸入法格式都不同,那么如果要生成這些輸入法的詞庫,那就需要自定義編碼庫和格式的功能。
自定義的編碼庫文件是一個獨立的文本文件,該文件中保存了每個漢字和對應的編碼,格式為“漢字,編碼”,每行一個漢字,漢字不允許重復。比如如下的內容是某編碼庫的一個片段。
阿,a5
啊,a5
呵,he5
腌,yan5
嗬,he5
嗄,a5
錒,a5
自定義編碼可以在自定義輸入輸出時指定編碼文件。
自定義格式支持單詞、拼音(編碼)、詞頻這3個元素的順序設置,是否顯示的設置和分隔符設置,以及拼音(編碼)之間的分隔符設置。在深藍詞庫轉換工具中選擇輸出格式為“自定義”,然后配置“匹配規則”便可設置這些格式。如圖所示:
單擊確定回到自定義詞庫識別窗口,在源內容的文本框中我們可以輸入任意的漢字,然后單擊“測試編碼”來測試這些漢字通過自定義編碼文件后轉碼的結果。
好,這正是我們想要的編碼和格式,然后單擊確定回到主界面,單擊轉換按鈕,即可將各種詞庫轉換為我們自定義格式,自定義編碼的詞庫文件。如圖所示:
二、支持微軟拼音擴展詞庫。
微軟拼音輸入法也是支持擴展詞庫的,這個詞庫的文件格式為dctx,其實是個XML格式的文件,可以用文本編輯器打開,雙擊即可安裝該詞庫,詞庫下載地址是:
http://www.microsoft.com/china/pinyin/extend.aspx
文本查看微軟拼音的擴展詞庫,里面的每個詞像如下的內容:
<ns1:DictionaryEntry>
<ns1:InputString>an1 xin1 le4 yi4</ns1:InputString>
<ns1:OutputString>安心樂意</ns1:OutputString>
<ns1:Exist>1</ns1:Exist>
</ns1:DictionaryEntry>
很容易看出來,一個詞條里面包含單詞和拼音,拼音使用空格分割,而且拼音還有音調??!!!有音調也沒什么,我找到了帶音調的字典,也可以為每個字注意時帶音調,但是坑爹的是,如果一個字的注音與微軟拼音認為的注音不一致,那么導入就會失敗,而且系統也不會提示具體哪兒不一致。而最最杯具的就是系統認可的注音是不全的,很多多音字的注音系統並不支持,所以雖然可以生成微軟拼音的擴展詞庫,但是很有可能無法正確導入。
對此我很無語。如果需要將詞庫導成微軟拼音的詞庫,建議大家還是先用本工具把詞庫轉換為純文本的詞庫文件,然后用一個Excel工具生成微軟拼音的擴展詞庫。
該Excel工具參見:http://social.microsoft.com/Forums/zh-CN/2087/thread/bed7b7f5-bee4-46a2-b755-ba885860c2d5
三、增強控制台功能。
對於一些用戶,需要批量自動的轉換大量的詞庫,這就需要使用控制台的方式來轉換。之前的版本中已經添加了控制台的功能,但是功能還比較弱,這個版本中對控制台功能進行了增強,可以在控制台中設置自定義格式,設置自定義編碼等。具體使用方法可以在命令行下,輸入"深藍詞庫轉換.exe -?"命令即可查看幫助。
四、支持百度手機分類詞庫bcd格式。
百度手機輸入法的分類詞庫格式是bcd格式,和百度PC輸入法的詞庫bdict格式有點不同,如果需要將bcd格式的詞庫文件導出成其他輸入法詞庫,現在可以用本工具了。由於scel,qpyd,bdict,bcd等格式是二進制文件,所以目前只能做到對這些二進制文件進行解析,找出需要的字段,生成詞庫,而無法把文本詞庫生成這些二進制文件。
五、支持小小輸入法。
小小輸入法的詞庫導入功能也有點奇怪,我按照其格式生成了詞庫文件,然后導入,但是不一定能夠被小小輸入法使用。
題外話:
雖然我從未投遞過,但在360的軟件管家中居然也能搜到“深藍詞庫轉換”,不過可惜這樣一款完全免費的、開源的軟件在其中被惡意中傷,也不知怎么回事,我實在很無語。對於這些,我還是看淡些好,做一款開源的軟件,能夠有大量用戶使用,能夠偶爾收到一些感謝信,提出一些新需求,足矣!
本軟件是開源軟件,使用C#編寫,需要.Net 2.0才能運行。軟件網站:http://code.google.com/p/imewlconverter/