Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

OpenFoundry自由軟體充電報

OpenFoundry自由軟體充電報
2007.4.16/報主.Tumi

本期內容:
[OSSF新聞] Openfoundry.org 更新公告
[OSSF 專欄] 在 Windows 上也能用的新酷音輸入法 (Win32-chewing)

[OSSF新聞] Openfoundry.org 更新公告

OSSF 工作小組/文 2007/04/13

為了讓大家享受更豐富的視覺與內容,OSSF 主網站已於 2007/4/2 全面更新,原有的舊首頁將自動更新為新首頁。

若您在瀏覽此網頁時,遇到「連結錯誤」或是「網站顯示不正常」,請回報至首頁的左下角「本站錯誤回報」的地方,將錯誤畫面的 url 及說明填寫於「描述」的欄位;如果您有任何功能上的建議,也請使用「本站錯誤回報」的功能,並點選該頁面的「新功能」回報。

感謝您對 OSSF 的支持與愛護,未來 OSSF 會持續為大家提供更多更好的優質服務。



[OSSF 專欄] 在 Windows 上也能用的新酷音輸入法 (Win32-chewing)

Emmi/文 2007/3/23

新酷音輸入法 (chewing) 是一套原先在 Linux、FreeBSD、Solaris、 以及 Mac OS X 等 Unix-Like 作業系統上執行的智慧型注音輸入法, 受到許多使用者的歡迎與開發者的貢獻,已是一套發展成熟的輸入法。 在微軟的 Windows 上,微軟新注音是預設的注音輸入法,但有一群 自由軟體開發者用不習慣,想到何不把新酷音移植到 Windows 上? 於是新酷音輸入法在 Win32 平台上重獲新生(以下簡稱 Win32 新酷 音),雖然開發的過程比想像中艱苦許多,但經過一段時間的耕耘後、 目前已經有成果出來,並達到實用的成度,提供了 Windows 上中文 輸入另一個新鮮的選擇。

◎ Win32 新酷音開發源起

新酷音輸入法在 Linux 等 Unix-like 系統上獲得肯定,開發也趨於 穩定,但後來她之所以在 Win32 平台上開始發展,是緣於開發者對 於微軟新注音某些功能的不能忍受。目前開發 libchewing 詞庫計畫 的 sky008888 認為,新注音的演算法會把常用自在選字頁中向前移 動,以方便使用者能夠快速的找到該字,不過當使用者使用一段時間 後,常用字反而會出現選字頁的後面,增加了使用者的選字時間,這 樣的功能特色、對某些使用者來說卻會造成困擾。

現在已用 GPL 釋出的知名 BBS 軟體- PCMan 的創始人 PCMan,也 是以上不滿使用者的其中之一,於是興起改善 Windows 上注音輸入 的念頭。就在同一時間,著名的 OpenVenilla 輸入法已經開始發展 win32 版,PCMan 亦參與重寫 OpenVanilla(OV-win32) 輸入法的圖 形介面、相容性改良、以及小幅改善其效率,並在這段開發的過程 中,逐漸學習到一些 Win32 IME 輸入法的開發方式。

但因為 OV-win32 整體架構過於龐大,使得啟動速度慢,系統資源耗 用過多,實際上 PCMan 只需要使用單一的新酷音輸入法,於是興起 開發只包含新酷音輸入法的 Windows 版本的念頭。他參考大陸發展 的自由拼音輸入法 freepy、微軟提出的 Text Service Framework (TSF) 與Microsoft Developer Network(MSDN) 等等的文件,加上參 考 OV-win32 程式碼,從頭發展,Win32 版的新酷音輸入法的雛形於 焉誕生。PCMan 回憶起第一個測試版的 Win32 新酷音源碼,是在 PTT BBS 站上釋出,馬上就有網友下載、並設為預設輸入法,不過也 因此碰到開機時輸入法載入錯誤,導致系統無法登入,最後以重灌系 統收場,但 PCMan 也感謝這些熱心玩家測試,才能從中找到問題修 正錯誤,讓之後的版本能更穩定運作。

由於 Windows XP 上的輸入法需要使用 TSF 開發,才有辦法支援 Windows 語言列,但新酷音目前用的還是前 IME 介面,故 Win32 版 的新酷音輸入法會出現兩個 panel,其中新酷音的 panel 還是由 PCMan 親手繪製。目前 PCMan 因為課業關係,不再進行自由軟體開 發,因此他已將 Win32 新酷音交棒給其他開發者繼續發展。

◎ Win32 新酷音開發者

目前新酷音輸入法計畫以 Win32 新酷音的開發較為活躍,成員包括 kanru、kcwu(瑕疵修改)、seamxr(修改拼音支援與相容性測試)、 sky008888(libchewing 詞庫計畫)等。

Kanru 回憶起加入新酷音計畫,是在大一(2003年)的時候,那時候 新酷音的主要開發者之一 Jserv 剛把 libchewing 從 xcin+chewing. patch 的型式分離出來,為了將 libchewing + xcin 移植到 utf8 環境下開始加入開發行列。Kanru patch 完 xcin 的 utf8 支援後, 接著建立 chewing 的 autotools 編譯機制,之後就陸陸續續跟 Jserv 一起整理 libchewing。Kanru 表示,由於從一開始使用 Linux 時就 很喜歡使用酷音輸入法,所以很樂意參與這個將新酷音專案生命延續 下去的計劃。

專門開發 libchewing 詞庫計畫的 sky008888,則是因為 2006 年 5 月 PCMan 在 PTT BBS 的一篇招收人員修改詞庫的文章,注意到新酷 音的計畫,同時對微軟的新注音輸入法不滿,才參與 Win32 新酷音 的計畫。sky008888 說,目前詞庫計畫的主要目標是修復存在詞庫裡 面的瑕疵 (bug),包括 tsi.src 和 phone.cin 裡面的單字無法配合, 以及 tsi.src 裡面的同音詞與常用字的組合牴觸者,都需要修訂, 因此他目前將著重在這方面工作。Seamxr 加入的方式與 sky008888 類似,也是因為 2006 年 10 月多,在網路上看到 Win32 新酷音, 使用後覺得非常不錯,就寫信給 PCMan 想要參加 win32 版新酷音的 開發。

◎ 開發時遭遇的困難

Win32 新酷音的開發過程其實十分艱苦,Kanru 認為,移植所花最大 工夫,是要理解 Win32 平台本身的輸入法 framework,不但微軟在 MSDN 上提供的文件多到不知道該怎麼看,即使看了也很難懂中間的 message passing 流程。Kanru 表示,MSDN 的文件僅告知寫輸入法 要實作哪些 API,但 Windows 上的輸入法屬於message driven,所 以光知道有哪些 API 需要實作仍不夠,還要知道哪些 API 被使用後, 會發生什麼事,接下來會遇到的狀況,這些都沒有寫在 MSDN 的文件 中,他一開始為了比對新酷音跟新注音的不同,還透過可以偷看程式 間的 IPC message 的 spy++ 以觀察 message 到底是怎麼跑的。

Seamxr 補充,就他所知開發過程最大的問題,是微軟沒有公佈 IME API 的實做,只有 MSDN 上一堆文件,他們曾經為了一個候選字的問 題,讀文件讀了好久還是無法領會,開玩笑說簡直比 Request for Comments (RFC) 還難看懂,只好又在網路上努力找其他的文件閱讀。 為了要寫出 Win32-chewing 這個看似只跟使用者有關的應用程式, 除了 MSDN 的資料,開發者甚至還得接觸到只有開發低階驅動程式的 硬體工程師才需要了解的 Driver Development Kit (DDK),才能順 利開發出 Win32-chewing。

◎ Win32 新酷音的迴響與未來發展

Win32 新酷音一推出便受到自由軟體愛好者的歡迎,他們很感謝 PCMan 讓它們在 Windows 上有另外一種選擇輸入法的機會。之後經由開發 團隊的開發,目前已經發展到 0.3.4.2 版,根據下載的 log 統計, 目前大概已有一萬多人次下載過。

Kanru表示,Win32 新酷音相對於注音的優勢就是「智慧選字」,不 過相對於新注音的選字演算法,新酷音比較不會有令人驚訝的表現。 他補充,新酷音目前的自動學習,是在使用者選字之後、把可能是連 在一起的詞記起來,不過每個人的選字習慣不同,有些人是邊打邊選、 有些是打完後再選字,因此新酷音對不同使用者可能有不一樣的效果。

因此,如何增強其選字的功能,Kanru 認為將是未來 Win32 新酷音 的開發要點。Kanru 未來規劃開發更聰明的學習系統,如自動學習新 詞(同一個詞只要在不同的前後文使用兩次以上就會被記住),以及 類似關聯詞的系統(如 tab completion,可根據最後打的字猜測可 能的詞出來待選)等。

在 libchewing 方面,sky008888 表示,中程目標是消滅龐大的系統 詞庫,改以收錄常用詞的系統詞庫,加上多使用者詞庫,如:佛學詞 庫、工程師詞庫……等組合,達成讓使用者特製化的需求。另外, sky008888 亦希望能在 Win32 新酷音上,加上類似新注音的螢幕小 鍵盤和自訂鍵盤的功能。至於 Vista 版對新酷音的支援,seamxr 表 示現在正研究 TSF 中,也許五月就會推出 Vista 版新酷音了。

最後,新酷音計畫的元老 Jserv 表示,新酷音輸入法計畫很希望大 學院校的學生,能以智慧型注音輸入法當作專題或者研究素材,畢竟 現在這些 codebase 都有了,只是除了功能面的改進外,深入的演算 法跟語言層面的改進,才是得以大幅突破的機會。

相關網址:
1. 新酷音輸入法官網
2. 新酷音輸入法詞庫
3. Debian.Org.Tw 成員 Kanru Chen 專訪



報主的話:
本電子報為摘要版,若欲訂閱全文版請按此