跳轉至內容

uim/簡介

來自Wikibooks,開放世界中的開放書籍
< Uim

Gaim中輸入韓語(朝鮮語)。
Gaim中輸入平假名(日語)。Uim會彈出一個選單,供使用者選擇同音詞。

Uim是一個輸入法框架。它提供各種基於庫和工具集構建的輸入法,用於根據在輸入法中定義的預定義規則將以特定字元子集輸入的字串轉換為另一個子集。

uim的一個常見用途是將拉丁字元(例如英語中使用的字元)的鍵盤輸入轉換為中文、日文、韓文或越南文字元。對於中文和日文,可以對應多個字元字串的輸入序列將開啟一個候選列表,以便選擇所需的字串。

通常,輸入法將接受鍵盤輸入並更改(手動或透過使用者互動)輸入字串為不同的字串,然後將其傳遞給應用程式。由於應用程式的輸入法實現和字元集的特性差異很大,任何輸入法框架在擴充套件其支援時都會面臨可擴充套件性問題。為了最大程度地減少這些問題,uim採用了高度模組化的設計。

核心庫與可載入的軟體模組進行互動,這些模組實現了特定的自然語言(例如中文或韓語)或特定於輸入法的功能(例如鍵盤對映切換)。這些模組(一個或多個)構成特定的輸入法(例如中文的拼音輸入法)。Uim捆綁了一些這樣的模組,但其他的則作為單獨的專案開發(例如AnthyManaPRIME)。

與其他輸入法框架主要基於的客戶端/伺服器模型形成對比的是,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+-immoduleqt-immoduleuim-el

與其他輸入法軟體的比較

[編輯 | 編輯原始碼]

有幾種其他可用的輸入法。大多數針對特定語言,但uimSCIMIIIMF(由建立XIM的人編寫)提供了模組化結構,以便於擴充套件(此類軟體套件通常稱為輸入法框架)。這些之間的主要區別在於SCIM和IIIMF的客戶端/伺服器結構,而uim仍然透過橋接與應用程式保持庫級直接連線。

特定語言的輸入法

[編輯 | 編輯原始碼]
中文
唯一似乎仍在積極開發的輸入法是Fcitx(適用於X的免費中文輸入工具)。其他輸入法包括minichinput(自2003年7月17日以來沒有開發)和xcin(顯然自2005年2月10日以來沒有開發)。
日文
AnthyPRIMEcannakimera似乎是主要的參與者(除了最後一個之外,所有其他輸入法都可以在uim下作為轉換引擎使用)。最後,值得一提的是sumibi,因為它有一個線上實現的輸入法。
韓文
Nabi被廣泛使用。還有適用於GTK+的imhangul和適用於Qt應用程式的qimhangul
越南語
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日)。

輸入法指示器

[編輯 | 編輯原始碼]

語言繫結

[編輯 | 編輯原始碼]

手寫輸入板

[編輯 | 編輯原始碼]
  • uim-tomoe-gtk。Tomoe 手寫識別演算法的圖形介面前端。
華夏公益教科書