Input method (简体中文) - ArchWiki

Jump to content

相关文章

- 字体#非拉丁文字
- 区域

翻译状态：本文是 Input method 的翻译。上次翻译日期：2022-07-18。如果英文版本有所更改，则您可以帮助同步翻译。

## 输入法

提示： 如果以下文本在屏幕上显示为乱码，请确保系统中安装了中文或日文字体。有关可用字体的非详尽列表，请参阅字体#中日韩越文字。
注意： 为简单起见，在以下示例中仅提到了键盘，但 IME 实际上可以使用多种输入源，例如使用鼠标或 Wacom tablet 绘制字符。

引自 Wikipedia:Input method：

  输入法（或输入法编辑器，常缩写为 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。

注意： SCIM 目前缺乏维护，因此不推荐使用。

## 输入法列表

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

注意： 在某些情况下，同一个 IME 存在多个软件包。这方面的一个很好的例子是Mozc：作为目前最流行的日语 IME，多年来有多个打包者试图创建一个“完美的”Mozc 包。在下面的表格中，每个 IMF 都包括一个 Mozc 软件包；但这并不意味着这些是用户应该考虑安装的唯一 Mozc 软件包。
警告： 并非所有 IME/IMF 都是最新的；例如，Anthy 不再维护，通常首选 mozc。一些 IME 也相当不受欢迎，并且不提供太多支持。查看相应的 Localization 页面了解更多信息。

| Fcitx5 | Fcitx | IBus | uim | Emacs | Scim | Hime | gcin | Nimf
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
中文
Rime | fcitx5-rime | fcitx-rime | ibus-rime | – | – | – | – | – | 内置
拼音 | fcitx5-chinese-addons | 内置 | ibus-pinyin | – | – | 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-gitAUR | – | ibus-bambooAUR | – | – | – | – | – | –
Indic
Avro | – | – | ibus-avro-gitAUR | – | – | – | – | – | –
Helakuru | – | – | ibus-helakuruAUR | – | – | – | – | – | –
m17n | fcitx5-m17n | fcitx-m17n | ibus-m17n | – | – | scim-m17nAUR | – | – | –
OpenBangla Keyboard | fcitx5-openbangla-gitAUR | – | openbangla-keyboardAUR | – | – | – | – | – | –
Varnam | – | – | libvarnam-ibus-gitAUR | – | – | – | – | – | –

## 配置

为了让桌面环境正确地将已安装的输入法框架注册为可用并将其用于处理用户输入，必须相应地配置一组环境变量。

注意： 如果没有设置这些变量，GTK 和 Qt 都会尝试读取系统的区域设置来决定它们应该使用哪种 IMF，但这个过程依赖于猜测，可能非常容易出错。对于一个正常工作的系统，应该明确地设置这些变量。
提示： 如果希望完全禁止桌面环境通过 IMF 处理输入（在 GNOME 中不推荐，因为其与 IBus 紧密集成），那么可以不设置这些变量，或者，对于 GTK 和 Qt，可以替换它们的值：`GTK_IM_MODULE=gtk-im-context-simple` 和 `QT_IM_MODULE=simple`。

### Fcitx 和 Fcitx5

有关详细信息，请参阅 Fcitx5 (简体中文) 和 Fcitx (简体中文)。

即使使用 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

The factual accuracy of this article or section is disputed.

Reason: 这需要确认 (Discuss in Talk:Input method (简体中文))

通过 这个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

## 参见

- Fedora:I18N/InputMethods
- Gentoo:Input methods
- Wikipedia:Input method

Categories:

- Localization (简体中文)
- Input methods (简体中文)

Hidden category:

- Pages or sections flagged with Template:Accuracy