uim/簡介


Uim是一個輸入法框架。它提供各種基於庫和工具集構建的輸入法,用於根據在輸入法中定義的預定義規則將以特定字元子集輸入的字串轉換為另一個子集。
uim的一個常見用途是將拉丁字元(例如英語中使用的字元)的鍵盤輸入轉換為中文、日文、韓文或越南文字元。對於中文和日文,可以對應多個字元字串的輸入序列將開啟一個候選列表,以便選擇所需的字串。
通常,輸入法將接受鍵盤輸入並更改(手動或透過使用者互動)輸入字串為不同的字串,然後將其傳遞給應用程式。由於應用程式的輸入法實現和字元集的特性差異很大,任何輸入法框架在擴充套件其支援時都會面臨可擴充套件性問題。為了最大程度地減少這些問題,uim採用了高度模組化的設計。
核心庫與可載入的軟體模組進行互動,這些模組實現了特定的自然語言(例如中文或韓語)或特定於輸入法的功能(例如鍵盤對映切換)。這些模組(一個或多個)構成特定的輸入法(例如中文的拼音輸入法)。Uim捆綁了一些這樣的模組,但其他的則作為單獨的專案開發(例如Anthy、Mana和PRIME)。
與其他輸入法框架主要基於的客戶端/伺服器模型形成對比的是,uim透過稱為橋接的特定於應用程式的模組實現了與應用程式的庫級介面。選擇這種佈局主要是為了簡單起見,將來可能會更改。
uim的核心庫主要用C編寫,以確保穩定的ABI(應用程式二進位制介面),因為在C++中維護ABI有時很困難。由於C在直接使用方面非常原始,uim有一個嵌入式Scheme直譯器,可以提高開發效率。(uim的一些內部部分——xim和scim橋接——是用C++編寫的。)
提高輸入法開發人員的效率以促進高質量輸入法是uim的一個優先事項。儘管它穩定且完全可用,但目前對桌面環境可用性的努力較少,而其他輸入法框架則優先考慮這一點。
Uim是在Linux上開發的,但可以移植到其他*NIX作業系統,並且已知也可以在Linux Zaurus和Mac OS X上執行。
任何應用程式都可以使用uim,只要存在一個橋接使其能夠連線到uim庫。X應用程式可以使用uim-xim,而控制檯應用程式可以使用uim-fep。除了這些之外,GTK+、Qt和Emacs還有自己的橋接;分別為gtk+-immodule、qt-immodule和uim-el。
有幾種其他可用的輸入法。大多數針對特定語言,但uim、SCIM和IIIMF(由建立XIM的人編寫)提供了模組化結構,以便於擴充套件(此類軟體套件通常稱為輸入法框架)。這些之間的主要區別在於SCIM和IIIMF的客戶端/伺服器結構,而uim仍然透過橋接與應用程式保持庫級直接連線。
- 中文
- 唯一似乎仍在積極開發的輸入法是Fcitx(適用於X的免費中文輸入工具)。其他輸入法包括minichinput(自2003年7月17日以來沒有開發)和xcin(顯然自2005年2月10日以來沒有開發)。
- 日文
- Anthy、PRIME、canna和kimera似乎是主要的參與者(除了最後一個之外,所有其他輸入法都可以在uim下作為轉換引擎使用)。最後,值得一提的是sumibi,因為它有一個線上實現的輸入法。
- 越南語
- X-unikey似乎是唯一的一個。
Uim自帶了一些輸入法,但其他與Scheme直譯器相容的輸入法可以單獨安裝。後者在其官方網站上有連結,列在下面。
| 中文 | 功能 |
|---|---|
| 新拼音(簡體) | |
| 拼音(Unicode) | |
| 拼音(繁體) | |
| 日文 | |
| Anthy | 使用者可自定義詞典。可選的かな和AZIK鍵盤對映模式。 |
| Mana | 使用隱馬爾可夫模型進行漢字轉換。 |
| PRIME | 一種預測輸入系統,根據使用者的輸入歷史為部分輸入的單詞提供建議。 |
| SKK | 沒有語法分析。 |
| T碼 | |
| TUT碼 | |
| 韓文 | |
| Byeoru | 支援完整的韓文字元集和韓語/漢字轉換 |
| 韓語(2-beol) | |
| 韓語(3-beol) | |
| 韓語(羅馬字) | |
| 越南語 | |
| VIQR | |
| 其他 | |
| uim-m17nlib | 支援多種語言 |
| 國際音標 |
這些專案不是uim的一部分,但可能對它的使用者感興趣。
- Uim-festival(版本0.1.0——釋出於2005年8月29日)。帶有Festival TTS引擎的Uim(您的計算機在您鍵入時會朗讀)。
- Uim-ruby(版本1.10.2.6——2004年6月26日)。
- GKrellUIM。適用於GKrellM的外掛。
- wmuim。一個用於uim的WindowMaker 擴充套件程式。
- libuim-ruby。libuim 的 Ruby 語言繫結。
- uim-tomoe-gtk。Tomoe 手寫識別演算法的圖形介面前端。
- MacUIM Mac OS X 橋接