インプットメソッド

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

インプットメソッド

ヒント: If parts of the following text show on your screen as gibberish, please make sure you have installed a Chinese or Japanese font on your system. See フォント#漢字文化圏 for a non-exhaustive list of available fonts.
ノート: For the sake of simplicity only the keyboard has been mentioned in the following examples, but an IME can actually work with a number of input sources, such as drawing characters by hand with the mouse or with a Wacom タブレット.

From Wikipedia:Input method:

An input method (or input method editor, commonly abbreviated as IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse operations) that are natively available on their input devices. Using an input method is usually necessary for languages that have more graphemes than there are keys on the keyboard.

In simpler words, an IME is an application that allows us to use Latin characters in order to type non-Latin characters.

Some IMEs do this through a process called romanization, which is the transliteration of non-Latin language sounds into the Latin equivalents that most closely resemble them. As an example, the Japanese written word for "sake" or "rice wine" is , also written as さけ, and romanized as "sake". The IME's role is to act as a middleman between the keyboard and the input fields, so that when we type "sake" it will intercept the keyboard's input, replace "sake" with or さけ (as chosen by users) and type the native characters for us instead of the keys we pressed.

There are also IMEs that do not make use of romanization. One of the most prominent ones, Cangjie, does so by decomposing Chinese characters into their radicals, matching these radicals to a second set of its own internal radicals, and finally matching these internal radicals to the Latin characters. As an example, the Chinese written word for "wine" is also , which consists of the radicals , , , and . Cangjie matches these radicals to the internal radicals , , , and , and then matches these to the Latin characters emcw; this means that when we type "emcw", Cangjie will intercept the keyboard's input, replace "emcw" with , and type that character on the screen.

Input method framework

Most IMEs work as part of an input method framework (commonly abbreviated as IMF), which is an application that allows the user to easily switch between different IMEs. In fact, this is the exact same application that many of us unknowingly use everyday to switch between the different Latin keyboard layouts (e.g. English, Spanish, German, etc).

The most common IMF is IBus (often used in GTK-based environments like GNOME), followed by Scim, Fcitx/Fcitx5 (mostly used in Qt-based environments like KDE) and Uim. Very uncommon ones include Gcin, Nimf and Hime. [1] Additionally, Emacs is a very popular text editor that has its own internal IMF.

See also Wikipedia:List of input methods for Unix platforms.

ノート: SCIM current lacks maintenance and is therefore not recommended.

使用可能なインプトメソッドエディターの一覧

次の表は、Arch リポジトリと AUR で現在利用可能なさまざまな言語の IME を示しています。

ノート: In some cases, multiple AUR packages exist for the same IME. A good example of this is Mozc: as the currently most popular Japanese IME, multiple packagers have attempted over the years to create the "perfect" Mozc package. In the table below, a single Mozc package has been included for each IMF; but this does not imply that these are the only Mozc packages a user should ever consider to install.
この記事またはセクションの正確性には問題があります。
理由: There are a few more IMEs in the repos than what is listed here, especially for Chinese but maybe for other languages too. Again, I'm only including what I'm familiar with or what I could find with a quick scan of the repos and the AUR. For better results we should consult a user who actively uses them. (議論: トーク:インプットメソッド#)
Fcitx5 Fcitx IBus Uim Emacs Scim Hime Gcin Nimf
Chinese
Rime fcitx5-rime fcitx-rime ibus-rime built-in
Sogou fcitx5-pinyin-sougouAUR fcitx-sogoupinyinAUR
Baidu fcitx-baidupinyinAUR
Chewing fcitx5-chewing fcitx-chewing ibus-chewing scim-chewing built-in
Cangjie
Sucheng
SmartCangjie
fcitx5-table-extra fcitx-table-extra ibus-table-chinese scim-tablesAUR
Pinyin fcitx5-chinese-addons built-in ibus-pinyin scim-pinyinAUR built-in
Wubixing built-in built-in ibus-table built-in scim-tablesAUR
Libpinyin fcitx-libpinyin ibus-libpinyin
Google Pinyin fcitx-googlepinyin ibus-googlepinyinAUR
SunPinyin fcitx-sunpinyin ibus-sunpinyin
Japanese
Mozc fcitx5-mozc-utAUR fcitx-mozc-utAUR ibus-mozcAUR uim-mozcAUR emacs-mozcAUR
Anthy fcitx5-anthy fcitx-anthy ibus-anthy built-in built-in built-in built-in
SKK fcitx5-skk fcitx-skk ibus-skk built-in
KKC fcitx5-kkc fcitx-kkc ibus-kkc
Korean
Libhangul fcitx5-hangul fcitx-hangul ibus-hangul built-in scim-hangulAUR built-in
Vietnamese
UniKey fcitx5-unikey fcitx-unikey ibus-unikey
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
Varnam libvarnam-ibus-gitAUR

設定

In order for your desktop environment to properly register an installed input method framework as available and assign it to handle user input, a set of environment variables must be configured accordingly. A good place to do so is /etc/environment.

ノート: If these variables are not set, both GTK and Qt will attempt to read the system's locale settings to determine which IMF they should use, but this process relies on guesswork and can be very error-prone. For a properly working system, you should always opt to explicitly set these variables yourself.
ヒント: If for some reason you wish to completely disable your desktop environment from handling input via an IMF (NOT recommended in GNOME due to tight integration with IBus), then you may either leave these variables unset or, in the case of GTK and Qt, you can replace their values with: GTK_IM_MODULE=gtk-im-context-simple and QT_IM_MODULE=simple.
この記事またはセクションの正確性には問題があります。
理由: There have been reports (even in this Wiki) that these variables sometimes (or maybe in some specific desktop environments like LXDE) do not work as expected, with users claiming that they had to specify xim instead of their IMF. I'm not really sure if these claims are accurate or when exactly they were reported (it might have been years ago, when the IM frameworks were even more of a mess than they are now). For what it's worth, with regards to Fcitx and IBus at least, I haven't had any problem using them in both GTK and Qt environments and applications by only specifying the variables exactly as laid out below. Maybe for Uim and Scim (which don't seem to have been updated much in recent times) the situation is different, but I wouldn't know. (議論: トーク:インプットメソッド#)

Fcitx5

ノート: 以下の設定は Fcitx にも適用されます。

詳細については、Fcitx5 を参照してください。

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

この記事またはセクションの正確性には問題があります。
理由: This needs to be verified. (議論: トーク:インプットメソッド#)

According to this Fcitx wiki entry, "in some case, including emacs and java. Emacs has a historical bug, that under en_US.UTF-8 or similar locale, it will never use XIM (Though emacs is a gtk app, it use XIM). The only way to walkaround this is to use LC_CTYPE to fix this."

Scim

詳細については、Scim を参照してください。

GTK_IM_MODULE=scim
QT_IM_MODULE=scim
XMODIFIERS=@im=scim

参照