输入法 - Arch Linux 中文维基

跳转到内容

# 输入法

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Input method，最近一次同步于 2024-02-05，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

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

## 输入法

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

引自 Wikipedia:Input method：

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

注意：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包 | – | 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 | – | – | – | – | – | –
Sayura （僧伽罗语） | fcitx5-sayura包 | fcitx-sayura包 | – | – | – | – | – | – | –
Varnam | – | – | libvarnam-ibus-gitAUR | – | – | – | – | – | –

## 配置

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

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

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

原因： 这需要确认（在 Talk:输入法 中讨论）

根据这个 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

## 参见

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

分类：​

- 存在语法高亮错误的页面
- 本地化
- 输入法

隐藏分类：​

- 使用“模板:准确性”标记的页面或章节

输入法
添加话题