输入法
输入法[编辑 | 编辑源代码]
- 输入法(或输入法编辑器,常缩写为 IME)是一种操作系统组件或程序,它使用户能够通过使用输入设备上原生的字符序列(或鼠标操作)来生成其输入设备上没有的文字。对于拥有比键盘上的按键更多的字位的语言来说,使用一种输入法通常是必要的。
简单来说,IME 是一个允许我们使用拉丁字符输入非拉丁字符的应用程序。
一些 IME 通过一种叫做罗马化的过程来实现这一点,即把非拉丁语的声音音译成与之最相近的拉丁语对应物。例如,日语中“清酒”或“米酒”的写作酒
,也写成さけ
,并被罗马化为“sake”。IME 的作用是充当键盘和输入字段之间的中间人,因此,当我们输入“sake”时,它将拦截键盘的输入,用 酒
或 さけ
(由用户选择)替换 “sake”,并为我们输入本地字符而不是我们按下的键。
也有一些 IME 不使用罗马化。其中最突出的是仓颉,它通过将汉字分解为部首,将这些部首与第二套自己的内部部首相匹配,最后再将这些内部部首与拉丁文字相匹配。举例来说,中文的酒
由部首 氵
、一
、⼉
、口
和 一
组成。仓颉将这些部首与内部部首水
、一
、金
、田
和 一
匹配,然后将这些部首与拉丁字符 emcw
匹配。这意味着,当我们输入“emcw”时,仓颉会拦截键盘的输入,用 酒
替换 "emcw",并在屏幕上输入该字符。
输入法框架[编辑 | 编辑源代码]
大多数 IME 是作为输入法框架(常缩写为 IMF)的一部分工作的,它是一个允许用户在不同的 IME 之间轻松切换的应用程序。事实上,这正是我们许多人每天在不同的拉丁语键盘布局(如英语、西班牙语、德语等)之间切换时不知不觉地使用的应用程序。
最常见的 IMF 是 IBus(通常用于基于 GTK 的环境,如 GNOME),其次是Scim、然后是 Fcitx5 和 Fcitx(大多用于基于 Qt 的环境,如 KDE),最后是 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
。Fcitx 和 Fcitx5[编辑 | 编辑源代码]
即使使用 Fcitx5,也不要将 fcitx
更改为 fcitx5
。[2]
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, "在一些案例,包含emacs和java。Emacs有一个积年的Bug,在en_US.UTF8或类似的区域设置,它将永不使用XIM(虽然emacs是一个gtk程式,它使用XIM)。唯一的方式去避开这个是使用LC_CTYPE去修复它。
Scim[编辑 | 编辑源代码]
见Scim获得更多讯息。
GTK_IM_MODULE=scim QT_IM_MODULE=scim XMODIFIERS=@im=scim