输入法

出自 ArchWiki
(重定向自 输入法编辑器)

输入法

提示: 如果以下部分文字在您的屏幕上显示为乱码,请确保您的系统上已安装中文或日文字体。 请参阅 Fonts#中文、日文、韩文、越南文 获取可用字体的非详尽列表。
注意: 为了简单起见,以下示例中仅提到了键盘,但实际上 IME 可以与多种输入源一起使用,例如用鼠标或 Wacom 绘图板 手绘字符。

出自 维基百科:输入法

输入法(或输入法编辑器,通常缩写为 IME)是一种操作系统组件或程序,它使用户能够通过使用其输入设备上本身可用的字符序列(或鼠标操作)来生成其输入设备上本身不可用的字符。 对于字形多于键盘按键的语言,通常需要使用输入法。

简单来说,IME 是一种应用程序,它允许我们使用拉丁字符来输入非拉丁字符。

一些 IME 通过称为 罗马化 的过程来做到这一点,罗马化是将非拉丁语言的声音音译为最接近它们的拉丁语等价物。 例如,日语中表示 “sake” 或“米酒”的书面词语是 ,也写作 さけ,并罗马化为 “sake”。 IME 的作用是充当键盘和输入字段之间的中间人,以便当我们输入 “sake” 时,它会拦截键盘的输入,将 “sake” 替换为 さけ(由用户选择),并为我们键入本机字符,而不是我们按下的键。

还有一些 IME 不使用罗马化。 其中最著名的 IME 之一 仓颉,它通过将汉字分解为其 部首,将这些部首与其自身内部部首的第二组匹配,最后将这些内部部首与拉丁字符匹配来实现这一点。 例如,汉字中表示“酒”的书面词语也是 ,它由 部首 组成。 仓颉将这些部首与内部部首 匹配,然后将这些部首与拉丁字符 emcw 匹配; 这意味着当我们输入 “emcw” 时,仓颉会拦截键盘的输入,将 “emcw” 替换为 ,并在屏幕上键入该字符。

输入法框架

大多数 IME 作为输入法框架(通常缩写为 IMF)的一部分工作,输入法框架是一种应用程序,允许用户轻松地在不同的 IME 之间切换。 事实上,这与我们许多人每天在不知不觉中使用来在不同的拉丁键盘布局(例如,英语、西班牙语、德语等)之间切换的应用程序完全相同。

最常见的 IMF 是 IBus(通常在基于 GTK 的环境(如 GNOME)中使用),其次是 Fcitx5(主要在基于 Qt 的环境(如 KDE)中使用)、ScimFcitxUim。 非常用的是 GcinNimf 和 Hime。 [1] 此外,Emacs 是一款非常流行的文本编辑器,它有自己的内部 IMF。

另请参见 维基百科:用于 Unix 平台的输入法列表

注意: SCIM 目前缺乏维护,因此不建议使用。

可用的输入法编辑器列表

下表显示了 Arch 软件仓库和 AUR 中当前可用的各种语言的 IME。

注意: 在某些情况下,同一个 IME 存在多个软件包。 Mozc 就是一个很好的例子:作为目前最流行的日语 IME,多年来,许多打包者都试图创建“完美”的 Mozc 软件包。 在下表中,每个 IMF 都包含一个 Mozc 软件包; 但这并不意味着这些是用户应该考虑安装的唯一 Mozc 软件包。
警告: 并非所有 IME/IMF 都是最新的; 例如,Anthy 不再维护,通常首选 mozc。 某些 IME 也相当不受欢迎,并且没有提供太多支持。 请查看相应的 Localization 页面以获取更多信息。
IMF
IME
Fcitx5 Fcitx IBus Uim Emacs Scim Hime Gcin Nimf
中文
Rime fcitx5-rime fcitx-rime ibus-rime 内置
拼音 fcitx5-chinese-addons 内置 ibus-pinyinAUR scim-pinyinAUR 内置
注音 fcitx5-chewing fcitx-chewing ibus-chewing scim-chewing 内置
仓颉
速成
智能仓颉
fcitx5-table-extra fcitx-table-extra ibus-table-chinese scim-tablesAUR
五笔 内置 内置 ibus-table 内置 scim-tablesAUR
Libpinyin fcitx-libpinyin ibus-libpinyin
SunPinyin fcitx-sunpinyin ibus-sunpinyin
日语
Mozc fcitx5-mozc-utAUR fcitx-mozc-utAUR ibus-mozcAUR emacs-mozcAUR
Anthy fcitx5-anthy fcitx-anthy ibus-anthy 内置 scim-anthyAUR 内置 内置 内置
SKK fcitx5-skk fcitx-skk ibus-skk 内置
KKC fcitx5-kkc fcitx-kkc ibus-kkc
韩语
Libhangul fcitx5-hangul fcitx-hangul ibus-hangul 内置 scim-hangulAUR 内置
越南语
UniKey fcitx5-unikey fcitx-unikey ibus-unikey
Bamboo fcitx5-bamboo ibus-bambooAUR
印地语
Avro[dead link 2025-01-19 ⓘ] (孟加拉语) ibus-avro-gitAUR
Helakuru (僧伽罗语) ibus-helakuruAUR
m17n fcitx5-m17n fcitx-m17n ibus-m17nAUR scim-m17nAUR
OpenBangla Keyboard (孟加拉语) fcitx5-openbangla-gitAUR openbangla-keyboardAUR
Sayura (僧伽罗语) fcitx5-sayura fcitx-sayura
Varnam govarnam-ibus-gitAUR

配置

为了使您的桌面环境正确注册已安装的输入法框架并将其分配给处理用户输入,必须相应地配置一组环境变量

注意: 如果未设置这些变量,则 GTKQt 都将尝试读取系统的 locale 设置以确定它们应使用哪个 IMF,但此过程依赖于猜测,并且可能非常容易出错。 对于正常工作的系统,您应始终选择显式设置这些变量。
提示: 如果由于某种原因,您希望完全禁用您的桌面环境通过 IMF 处理输入(在 GNOME推荐,因为它与 IBus 紧密集成),那么您可以不设置这些变量,或者,对于 GTKQt,您可以将其值替换为:GTK_IM_MODULE=gtk-im-context-simpleQT_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

此条目或章节的 factual accuracy 有争议。

原因: 这需要验证。(在 Talk:Input method 中讨论)

根据 此 Fcitx wiki 条目“在某些情况下,包括 emacs 和 java。 Emacs 有一个历史错误,即在 en_US.UTF-8 或类似的 locale 下,它永远不会使用 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

参见