跳转至内容

输入法

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

来自 维基百科:输入法

输入法(或输入法编辑器,通常缩写为IME)是操作系统的一个组件或程序,它允许用户通过使用本机输入设备上可用的字符序列(或鼠标操作)来生成本机输入设备上无法直接使用的字符。对于具有比键盘键更多的象形文字的语言,通常需要使用输入法。

简而言之,IME是一个允许我们使用拉丁字符来输入非拉丁字符的应用程序。

提示 如果以下文本的部分内容显示为乱码,请确保您的系统已安装中文字体或日文字体。请参阅 字体#中文、日文、韩文、越南文 获取可用字体的非详尽列表。

一些IME通过一个称为罗马化的过程来实现这一点,该过程是将非拉丁语言的声音音译成最接近它们的拉丁等价物。例如,日语中“清酒”或“米酒”的书写形式是,也写作さけ,罗马化为"sake"。IME的作用是在键盘和输入字段之间充当中间人,因此当我们输入"sake"时,它会拦截键盘的输入,将"sake"替换为さけ(由用户选择),并为我们输入本地字符,而不是我们按下的键。

也有不使用罗马字的输入法。其中最突出的之一是 仓颉输入法,它通过将汉字分解为其 部首,将这些部首与它自己的第二套内部部首进行匹配,最后将这些内部部首与拉丁字母进行匹配来实现。例如,中文写的“酒”字也是 ,它由 部首 组成。仓颉将这些部首匹配到内部部首 ,然后将这些匹配到拉丁字母 emcw;这意味着当我们输入“emcw”时,仓颉会拦截键盘输入,将“emcw”替换为 ,并在屏幕上输入该字符。

提示 为简化起见,上述示例中仅提到了键盘,但IME实际上可以与多种输入源配合使用,例如用鼠标手动绘制字符或使用Wacom数位板

输入法框架

大多数IME作为输入法框架(通常缩写为IMF)的一部分工作,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也相当不受欢迎,并且提供的支持很少。有关更多信息,请查看相应的本地化页面。

本文章或章节需要扩充。

原因:或许 fcitx5-table-extrafcitx5-boshiamyAURfcitx5-mcbopomofo-gitAUR 可以放在这里?(请在Talk:Input method中讨论)
IMF
IME
Fcitx5 Fcitx IBus Uim Emacs Scim Hime Gcin Nimf
中文
Rime fcitx5-rime fcitx-rimeAUR ibus-rime 内置
拼音 fcitx5-chinese-addons 内置 ibus-pinyinAUR scim-pinyinAUR 内置
注音 fcitx5-chewing fcitx-chewingAUR ibus-chewing scim-chewingAUR 内置
仓颉
速成
SmartCangjie
fcitx5-table-extra fcitx-table-extraAUR ibus-table-chinese scim-tablesAUR
五笔 内置 内置 ibus-table 内置 scim-tablesAUR
Libpinyin ibus-libpinyin
SunPinyin fcitx-sunpinyinAUR ibus-sunpinyin
日语
Mozc fcitx5-mozc-utAUR fcitx-mozc-utAUR ibus-mozcAUR emacs-mozcAUR
Anthy fcitx5-anthy fcitx-anthyAUR ibus-anthy 内置 内置 内置 内置
SKK fcitx5-skk fcitx-skkAUR ibus-skk 内置
KKC fcitx5-kkc fcitx-kkcAUR ibus-kkc
韩语 (Korean)
Libhangul fcitx5-hangul fcitx-hangulAUR ibus-hangul 内置 scim-hangulAUR 内置
越南语
UniKey fcitx5-unikey fcitx-unikeyAUR ibus-unikey
Bamboo fcitx5-bamboo ibus-bambooAUR
Lotus ibus-lotusAUR
印度语言
Avro (孟加拉语) ibus-avro-gitAUR
Helakuru (僧伽罗语) ibus-helakuruAUR
m17n fcitx5-m17n fcitx-m17nAUR ibus-m17nAUR scim-m17nAUR
OpenBangla Keyboard (孟加拉语) fcitx5-openbangla-gitAUR openbangla-keyboardAUR
Sayura (僧伽罗语) fcitx5-sayura fcitx-sayuraAUR
Varnam govarnam-ibus-gitAUR

配置

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

注意 如果未设置这些变量,GTKQt都会尝试读取系统的区域设置来确定使用哪个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

本文或本章节的准确性存在争议。

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

根据此Fcitx维基条目,“在某些情况下,包括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

参见