輸入法
輸入法[編輯 | 編輯原始碼]
- 輸入法(或輸入法編輯器,常縮寫為 IME)是一種作業系統組件或程序,它使用戶能夠通過使用輸入設備上原生的字符序列(或鼠標操作)來生成其輸入設備上沒有的文字。對於擁有比鍵盤上的按鍵更多的字位的語言來說,使用一種輸入法通常是必要的。
簡單來說,IME 是一個允許我們使用拉丁字符輸入非拉丁字符的應用程式。
一些 IME 通過一種叫做羅馬化的過程來實現這一點,即把非拉丁語的聲音音譯成與之最相近的拉丁語對應物。例如,日語中「清酒」或「米酒」的寫作酒
,也寫成さけ
,並被羅馬化為「sake」。IME 的作用是充當鍵盤和輸入字段之間的中間人,因此,當我們輸入「sake」時,它將攔截鍵盤的輸入,用 酒
或 さけ
(由用戶選擇)替換 「sake」,並為我們輸入本地字符而不是我們按下的鍵。
也有一些 IME 不使用羅馬化。其中最突出的是倉頡,它通過將漢字分解為部首,將這些部首與第二套自己的內部部首相匹配,最後再將這些內部部首與拉丁文字相匹配。舉例來說,中文的酒
由部首 氵
、一
、⼉
、口
和 一
組成。倉頡將這些部首與內部部首水
、一
、金
、田
和 一
匹配,然後將這些部首與拉丁字符 emcw
匹配。這意味着,當我們輸入「emcw」時,倉頡會攔截鍵盤的輸入,用 酒
替換 "emcw",並在屏幕上輸入該字符。
輸入法框架[編輯 | 編輯原始碼]
大多數 IME 是作為輸入法框架(常縮寫為 IMF)的一部分工作的,它是一個允許用戶在不同的 IME 之間輕鬆切換的應用程式。事實上,這正是我們許多人每天在不同的拉丁語鍵盤佈局(如英語、西班牙語、德語等)之間切換時不知不覺地使用的應用程式。
最常見的 IMF 是 IBus(通常用於基於 GTK 的環境,如 GNOME),其次是Fcitx5(大多用於基於 Qt 的環境,如 KDE),然後是 Scim 和 Fcitx,最後是 Uim。非常不常見的包括 Gcin、Nimf 和 Hime。[1]此外,Emacs是一個非常流行的文本編輯器,它有自己的內部 IMF。
參見 Wikipedia:List of input methods for Unix platforms。
輸入法列表[編輯 | 編輯原始碼]
下表顯示了 Arch 存儲庫和 AUR 中當前可用的各種語言的 IME。
配置[編輯 | 編輯原始碼]
為了讓桌面環境正確地將已安裝的輸入法框架註冊為可用並將其用於處理用戶輸入,必須相應地配置一組環境變量。
GTK_IM_MODULE=gtk-im-context-simple
和 QT_IM_MODULE=simple
。Fcitx5[編輯 | 編輯原始碼]
有關詳細信息,請參閱 Fcitx5#集成。
Fcitx[編輯 | 編輯原始碼]
有關詳細信息,請參閱 Fcitx。
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
IBus[編輯 | 編輯原始碼]
見 IBus 以獲得更多訊息。
GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus
Uim[編輯 | 編輯原始碼]
見 Uim 以獲得更多訊息。
GTK_IM_MODULE=uim QT_IM_MODULE=uim XMODIFIERS=@im=uim
Emacs[編輯 | 編輯原始碼]
根據這個 Fcitx wiki 所述, "(LC_CTYPE
)僅適用於一些情況下,包括emacs和java。Emacs 有一個積年的Bug,在 en_US.UTF-8 或類似的區域設置下,它將從不使用XIM(雖然emacs作為一個 gtk 程序,它應使用 XIM)。使用 LC_CTYPE
去修復它是唯一的解決方法。
Scim[編輯 | 編輯原始碼]
見Scim獲得更多訊息。
GTK_IM_MODULE=scim QT_IM_MODULE=scim XMODIFIERS=@im=scim
Xim[編輯 | 編輯原始碼]
GTK_IM_MODULE=xim
QT_IM_MODULE=xim