「インプットメソッド」の版間の差分
(国際化#Xorg での入力への転送ページ) タグ: 新規リダイレクト |
Kusanaginoturugi (トーク | 投稿記録) (英語版より転載) タグ: リダイレクト解消 |
||
1行目: | 1行目: | ||
+ | [[Category:Localization]] |
||
− | #redirect[[国際化#Xorg での入力]] |
||
+ | [[Category:Input methods]] |
||
+ | [[en:Input Method]] |
||
+ | {{Related articles start}} |
||
+ | {{Related|Fonts#Non-latin scripts}} |
||
+ | {{Related|Locale}} |
||
+ | {{Related articles end}} |
||
+ | |||
+ | == Input method == |
||
+ | |||
+ | 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 very simplified terms, an IME is an application that takes Latin characters that you type on your keyboard and outputs them on your screen as non-Latin characters. The IME does this through a process called [[Wikipedia:Romanization|romanization]], which is the transliteration of non-Latin language sounds into the Latin equivalents that most closely resemble them. |
||
+ | |||
+ | {{Tip|If parts of the following text show on your screen as gibberish, please make sure you have installed a Japanese font on your system. See [[Localization/Japanese#Fonts]] for a non-exhaustive list of available fonts.}} |
||
+ | |||
+ | As an example, the Japanese written word for [[Wikipedia:Sake|sake]] is {{ic|'''酒'''}}, also written as {{ic|'''さけ'''}}, and romanized as "sake". The IME's role is to act as a middleman between the keyboard and the screen, so that when we type "sake" it will intercept the keyboard's input, replace "sake" with {{ic|'''酒'''}} or {{ic|'''さけ'''}} (as chosen by us) and put the native characters on the screen instead of what we actually typed. |
||
+ | |||
+ | {{Note|For the sake of simplicity only the keyboard has been mentioned in the example, but an IME can actually produce native characters via a number of ways and input devices, like e.g. drawing characters by hand using a mouse or a [[Wacom tablet]].}} |
||
+ | |||
+ | === 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). |
||
+ | |||
+ | {{Accuracy|1=This is described from a Western point of view (i.e. mine). I know for a fact that in the Eastern hemisphere, things are somewhat different when it comes to IME/IMF popularity and development activity. If these differences should be taken into account, input from native users will be needed.}} |
||
+ | |||
+ | The most common, most diverse and most well supported input method frameworks are [[Fcitx]] (mostly used in [[KDE]] and other [[Qt]]-based environments) and [[IBus]] (mostly used in [[GNOME]] and other [[GTK]]-based environments). Less common ones include [[Uim]], [[Scim]], [[Hime]], [[Gcin]] and [[Nimf]]. Additionally, [[Emacs]] is a very popular text editor that contains its own internal IMF. |
||
+ | |||
+ | See also [[Wikipedia:List of input methods for Unix platforms]]. |
||
+ | |||
+ | == List of available input method editors == |
||
+ | |||
+ | The following table shows the IMEs for the various languages currently available in the Arch repositories and the [[AUR]]. |
||
+ | |||
+ | {{Note|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.}} |
||
+ | |||
+ | {{Tip|[[Fcitx5]] is the successor of [[Fcitx]]. It is still fairly new, so some IMEs lack support for it for the time being (though this is something that should be quickly rectified in the coming weeks or months); still, if it covers your needs then you should probably prefer it over the previous version.}} |
||
+ | |||
+ | {{Accuracy|1=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.}} |
||
+ | |||
+ | {| class="wikitable" style="text-align:center;" |
||
+ | |- |
||
+ | ! |
||
+ | ! [[Fcitx]] !! [[Fcitx5]] !! [[IBus]] !! [[Uim]] !! [[Emacs]] !! [[Scim]] !! [[Hime]] !! [[Gcin]] !! [[Nimf]] |
||
+ | |- |
||
+ | | '''Chinese''' |
||
+ | | colspan=9 | |
||
+ | |- |
||
+ | | [[Rime]] |
||
+ | | {{Pkg|fcitx-rime}} |
||
+ | | {{Pkg|fcitx5-rime}} |
||
+ | | {{Pkg|ibus-rime}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | ''built-in'' |
||
+ | |- |
||
+ | | [https://www.sogou.com/ Sogou] |
||
+ | | {{AUR|fcitx-sogoupinyin}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://srf.baidu.com/site/guanwang_linux/index.html Baidu] |
||
+ | | {{AUR|fcitx-baidupinyin}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://github.com/chewing/libchewing Chewing] |
||
+ | | {{Pkg|fcitx-chewing}} |
||
+ | | {{Pkg|fcitx5-chewing}} |
||
+ | | {{Pkg|ibus-chewing}} |
||
+ | | — |
||
+ | | — |
||
+ | | {{Pkg|scim-chewing}} |
||
+ | | — |
||
+ | | — |
||
+ | | ''built-in'' |
||
+ | |- |
||
+ | | [[Wikipedia:Wubi method|Wubixing]] |
||
+ | | ''built-in'' |
||
+ | | ''built-in'' |
||
+ | | {{Pkg|ibus-table}} |
||
+ | | ''built-in'' |
||
+ | | — |
||
+ | | {{AUR|scim-tables}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://github.com/libpinyin/libpinyin Libpinyin] |
||
+ | | {{Pkg|fcitx-libpinyin}} |
||
+ | | — |
||
+ | | {{Pkg|ibus-libpinyin}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [[Wikipedia:Google Pinyin|Google Pinyin]] |
||
+ | | {{Pkg|fcitx-googlepinyin}} |
||
+ | | — |
||
+ | | {{AUR|ibus-googlepinyin}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://github.com/sunpinyin/sunpinyin SunPinyin] |
||
+ | | {{Pkg|fcitx-sunpinyin}} |
||
+ | | — |
||
+ | | {{Pkg|ibus-sunpinyin}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | '''Japanese''' |
||
+ | | colspan=9 | |
||
+ | |- |
||
+ | | [[Mozc]] |
||
+ | | {{AUR|fcitx-mozc-ut}} |
||
+ | | {{Pkg|fcitx5-mozc}} |
||
+ | | {{AUR|ibus-mozc-ut}} |
||
+ | | {{AUR|uim-mozc-ut2}} |
||
+ | | {{AUR|emacs-mozc-ut}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://github.com/ibus/ibus-anthy Anthy] |
||
+ | | {{Pkg|fcitx-anthy}} |
||
+ | | {{Pkg|fcitx5-anthy}} |
||
+ | | {{Pkg|ibus-anthy}} |
||
+ | | ''built-in'' |
||
+ | | — |
||
+ | | — |
||
+ | | ''built-in'' |
||
+ | | ''built-in'' |
||
+ | | ''built-in'' |
||
+ | |- |
||
+ | | [https://github.com/ueno/libskk SKK] |
||
+ | | {{Pkg|fcitx-skk}} |
||
+ | | {{Pkg|fcitx5-skk}} |
||
+ | | {{Pkg|ibus-skk}} |
||
+ | | ''built-in'' |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://github.com/ueno/libkkc KKC] |
||
+ | | {{Pkg|fcitx-kkc}} |
||
+ | | {{Pkg|fcitx5-kkc}} |
||
+ | | {{Pkg|ibus-kkc}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | '''Korean''' |
||
+ | | colspan=8 | |
||
+ | |- |
||
+ | | [https://github.com/libhangul/libhangul Libhangul] |
||
+ | | {{Pkg|fcitx-hangul}} |
||
+ | | {{Pkg|fcitx5-hangul}} |
||
+ | | {{Pkg|ibus-hangul}} |
||
+ | | ''built-in'' |
||
+ | | — |
||
+ | | {{AUR|scim-hangul}} |
||
+ | | — |
||
+ | | — |
||
+ | | ''built-in'' |
||
+ | |- |
||
+ | | '''Vietnamese''' |
||
+ | | colspan=8 | |
||
+ | |- |
||
+ | | [https://www.unikey.org/en/ UniKey] |
||
+ | | {{Pkg|fcitx-unikey}} |
||
+ | | {{Pkg|fcitx5-unikey}} |
||
+ | | {{Pkg|ibus-unikey}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://github.com/BambooEngine/ibus-bamboo Bamboo] |
||
+ | | — |
||
+ | | — |
||
+ | | {{AUR|ibus-bamboo}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | '''Indic''' |
||
+ | | colspan=8 | |
||
+ | |- |
||
+ | | [https://www.nongnu.org/m17n/ m17n] |
||
+ | | {{Pkg|fcitx-m17n}} |
||
+ | | {{Pkg|fcitx5-m17n}} |
||
+ | | {{Pkg|ibus-m17n}} |
||
+ | | — |
||
+ | | — |
||
+ | | {{AUR|scim-m17n}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://www.varnamproject.com/ Varnam] |
||
+ | | — |
||
+ | | — |
||
+ | | {{AUR|libvarnam-ibus-git}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |- |
||
+ | | [https://helakuru.lk/ Helakuru] |
||
+ | | — |
||
+ | | — |
||
+ | | {{AUR|ibus-helakuru}} |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | | — |
||
+ | |} |
||
+ | |||
+ | == Configuration == |
||
+ | |||
+ | 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 {{ic|/etc/environment}}. |
||
+ | |||
+ | {{Note|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.}} |
||
+ | |||
+ | {{Tip|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: {{ic|1=GTK_IM_MODULE=gtk-im-context-simple}} and {{ic|1=QT_IM_MODULE=simple}}.}} |
||
+ | |||
+ | {{Accuracy|1=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.}} |
||
+ | |||
+ | === Fcitx === |
||
+ | |||
+ | See also [[Fcitx]] for more information. |
||
+ | |||
+ | GTK_IM_MODULE=fcitx |
||
+ | QT_IM_MODULE=fcitx |
||
+ | XMODIFIERS=@im=fcitx |
||
+ | |||
+ | === IBus === |
||
+ | |||
+ | See also [[IBus]] for more information. |
||
+ | |||
+ | GTK_IM_MODULE=ibus |
||
+ | QT_IM_MODULE=ibus |
||
+ | XMODIFIERS=@im=ibus |
||
+ | |||
+ | === Uim === |
||
+ | |||
+ | See also [[Uim]] for more information. |
||
+ | |||
+ | GTK_IM_MODULE=uim |
||
+ | QT_IM_MODULE=uim |
||
+ | XMODIFIERS=@im=uim |
||
+ | |||
+ | === Emacs === |
||
+ | |||
+ | {{Accuracy|1=This needs to be verified.}} |
||
+ | |||
+ | According to [https://fcitx-im.org/wiki/Input_method_related_environment_variables#LC_CTYPE 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 === |
||
+ | |||
+ | See also [[Scim]] for more information. |
||
+ | |||
+ | GTK_IM_MODULE=scim |
||
+ | QT_IM_MODULE=scim |
||
+ | XMODIFIERS=@im=scim |
||
+ | |||
+ | == See also == |
||
+ | |||
+ | * [[Fedora:I18N/InputMethods]] |
||
+ | * [[Gentoo:Input methods]] |
||
+ | * [[Wikipedia:Input method]] |
2020年12月16日 (水) 16:43時点における版
目次
Input method
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 very simplified terms, an IME is an application that takes Latin characters that you type on your keyboard and outputs them on your screen as non-Latin characters. The IME does 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 is 酒
, also written as さけ
, and romanized as "sake". The IME's role is to act as a middleman between the keyboard and the screen, so that when we type "sake" it will intercept the keyboard's input, replace "sake" with 酒
or さけ
(as chosen by us) and put the native characters on the screen instead of what we actually typed.
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, most diverse and most well supported input method frameworks are Fcitx (mostly used in KDE and other Qt-based environments) and IBus (mostly used in GNOME and other GTK-based environments). Less common ones include Uim, Scim, Hime, Gcin and Nimf. Additionally, Emacs is a very popular text editor that contains its own internal IMF.
See also Wikipedia:List of input methods for Unix platforms.
List of available input method editors
The following table shows the IMEs for the various languages currently available in the Arch repositories and the AUR.
Configuration
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
.
Fcitx
See also Fcitx for more information.
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
IBus
See also IBus for more information.
GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus
Uim
See also Uim for more information.
GTK_IM_MODULE=uim QT_IM_MODULE=uim XMODIFIERS=@im=uim
Emacs
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
See also Scim for more information.
GTK_IM_MODULE=scim QT_IM_MODULE=scim XMODIFIERS=@im=scim