Unihan (漢統輸入系統) 也採開源發展

事實上不是新聞,早在半年前,大陸 [
新華科技] 即將用於該公司華鐳 RAYS LX - Linux 桌面作業系統的 [
Unihan2 中文輸入法系統],公佈其大部分原始程式碼,授權條款為 GNU LGPL,並架設於 Google Code 的 [
Unihan] 專案上,維護者就是知名的 Debian 開發者 [
Roger So]。
我與 Roger So 有一面之緣,時間是 2004 年,當時正思考 [
IIIMF] 與 SCIM 設計並著手改善輸入法設計的我,得知 [
openi18n] 主席 Hideki Hiura、XIM/IIIMF 架構設計者,來台與本地的開發者作面對面交流,自然很歡欣地前往。先跟 Hideki Hiura 身旁同行的開發者聊到當時 Debian 對於多個 IIIMF 套件打包維護的問題,我提到:
「幾天前發信給 Debian mainatainer, Roger So, 但是他沒有回覆訊息,也不知道 Debian 現在的處理態度如何。」
沒想到,那位開發者竟回覆道:
可想而知,有眼不識泰山的我,是有多麼震撼,也因此得知頗多第一手的資訊。過去,推動 IIIMF 最積極的兩家公司是 Sun Microsystems (Hideki Hiura 的老東家) 與新華科技 (Roger So 擔任該公司 CTO 一職),Unihan2 (漢統) 即後者最知名的、以 IIIMF 為基礎的中文輸入法平台,內含紫光拼音、智能 ABC、五筆等十三種輸入法,允許使用者添加刪除輸入法模組,並作簡繁轉換輸入,其大略的系統示意圖如下:

IIIMF 主要分成兩部份:
- IIIMSF (IIIM Server Framework) - 提供與平台無關的 LE (Language Engine) 讓 client 存取必要的輸入法處理的服務,透過其 LEIF (LE Interface) 讓程式開發者得以專注於輸入法的邏輯流程處理,而不需擔憂平台設計
- IIIMCF (IIIM Client Framework) - 與平台接軌之處,可接上 X11 XIM, Java, Emacs, Gtk+, Qt, 等等執行環境
不過,IIIMF 基本上還只是框架,若要發展為傳統中文輸入法的模樣,有頗多地方需要改進,所以 Unihan 首先藉由 IIIMSF 發展若干 LE,有表格導向、需要特別詞庫猜字選詞,也有手寫辨識引擎等等。再來,因為許多輸入法需要與使用者保持互動,不免要有特製的 UI,在 IIIMCF 中引入 xaux 來輔助 X11 的顯示,Unihan 也提供 Gtk+/GNOME 平台的支援。
Roger So 在 Unihan 中,把原本複雜的 IIIMF 包裝成較為容易開發的模式,可參照以 Doxygen 產生的 [
C++ API 文件] 與範例輸入法:[
unihan-sample-2.5.tar.bz2]。這個簡化的模型中,系統架構如下圖:

doc/api.txt 則是簡要的描述,基本上掌握輸入法的 state machine,即可快速開發輸入法的邏輯處理,詳情可參照範例的 src/sample.cpp。關於 Unihan 的資源,除了 Google Code 的專案網頁外,可在新華科技的 [
漢統Unihan 論壇] 找到一些討論,此外,就少見蹤跡,大概跟過去 closed-source 模式有關。
值得注意的是,Unihan 作者 Roger So 的 blog 文章 [
Input Method API Now (nearly) Standardised on Linux] 提及在今年一月份,由中、日、韓等國政府資助的 [
Northeast Asia OSS Promotion Forum] (NEAOSS) 的 IMSWG (輸入法標準工作小組) 會議中,蘇哲 (SCIM) 與 Hideki Hiura (IIIMF/XIM) 出席共同制定下一代的輸入法架構,可望讓現有 UNIX 的輸入法架構分歧更加收斂,目前呼聲頗高的 [
IMBus] 標榜 "The next generation input method framework for Linux",很可能成為彙整包含 Unicon 在內的輸入法開發資源,期待種種開放原始碼的系統,得以有新的發展。
由 jserv 發表於 April 24, 2008 03:46 PM