Fcitx5

提供: ArchWiki
2024年7月26日 (金) 22:08時点におけるAshMyzk (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

Fcitx5 は、軽量コアを備えたインプットメソッドフレームワークであり、アドオンを介して追加の言語サポートを提供します。 Fcitx の後継です。

目次

インストール

fcitx5 パッケージをインストールしてください。

fcitx5-im パッケージグループは、メインの fcitx5 パッケージと、#インプットメソッドモジュール の一部、そして #設定ツール を提供します。

ノート: fcitx5 パッケージ自体は、英語サポートのみの基本的なフレームワークしか提供しません。中国語や日本語などの他の言語を入力する場合は、インプットメソッドエンジン (IME) が必要です。

使用可能な IME のリストについては、インプットメソッド#使用可能なインプトメソッドエディターの一覧 を参照してください。

インプットメソッドモジュール

一部の GUI ツールキットは、アプリケーションでのインプットメソッド統合のためのインプットメソッドモジュールのサポートを提供します。しかし、これらは必ずしも必要であるわけではなく、#Wayland ネイティブなプロトコルのほうがより優れたパフォーマンスを得られるかもしれません。詳細は #統合 を参照してください。

プラグイン

日付と時刻のサポートは fcitx5-lua をインストールしてください。

使用方法

統合

インプットメソッドを実際に使用するには、アプリケーション側が入力イベントをインプットメソッドにリダイレクトする必要があります。そのような目的のために使用されるプロトコルは、ディスプレイサーバ (つまり、Waylandtext-inputXorgXIM) や GUI ツールキットのインプットメソッドモジュールが提供していることがあります。

Wayland

通常、Wayland のネイティブな text-input プロトコルでは、インプットメソッドモジュールよりも良い結果を得られます。なので、#IM モジュールXwayland アプリケーションでのみ使用することが推奨されます。加えて、レガシーな X11 アプリケーションに対しては #XIM を有効化してください。[1]

ノート:
  • text-input は、Wayland コンポジタとクライアントが使用しているプロトコルのバージョンが同じである必要があります。一部のアプリケーションでプロトコルのバージョンが異なる場合は、#IM モジュール を使用したほうが良いかもしれません。特に、Qt < 6.7 は text-input-v3 プロトコルをサポートしていません (2024年3月現在、GNOMESway はこのバージョンのプロトコルしかサポートしていません)。
  • KDE Wayland では、インプットメソッドのプロセスが KWin によって実行される必要があります。[2] そうするには、実行中の Fcitx 5 プロセスを終了し、System Settings > Input Devices > Virtual Keyboard を開き、そこで Fcitx 5 を選択してください。

IM モジュール

以下の環境変数[3]を、X11 を使用している場合はグローバルにtext-input サポートのある Wayland コンポジタを使用している場合は Xwayland アプリケーション毎に、設定してください。

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
ノート:
  • SDL2 ライブラリの特定のバージョンを使用する一部のゲームのサポートを有効化するには、SDL_IM_MODULE=fcitx追加してください。
  • kitty でのサポートを有効化するには GLFW_IM_MODULE=ibus追加してください。この環境変数の値として使えるのは ibus のみです。[4]

あるいは、Wayland ネイティブな GTK アプリケーションに影響を与えずに、X11/XWayland で実行されている GTK アプリケーションに IM モジュールを使用させるには、GTK3 に対しては gtk-im-module=fcitx を、GTK2 に対しては gtk-im-module="fcitx" を、GTK#設定 で書かれてあるような設定ファイルに書き込んでください。

ロケールが en_US.UTF-8 であり、GTK2 アプリケーションが fcitx5 をアクティブ化できない場合は、そのアプリケーションに対して個別に GTK_IM_MODULE=xim を設定することで解決します。

ノート: GTK3 のプログラムにも影響するので、グローバルに GTK_IM_MODULE を xim に設定しないようにしてください。XIM はいろいろと問題があるので (再起動すると入力できなくなるなど)、なるべく使わないでください。

XIM

X11 アプリケーションに対しては、以下の環境変数で XIM サポートを有効化してください:

XMODIFIERS=@im=fcitx

自動起動

使用しているデスクトップ環境XDG Autostart を実装している場合、自動起動#デスクトップ環境のスタートアップ時 を参照してください。

自動起動#Xorg のスタートアップ時 を参照し、必要に応じて 自動起動#ウィンドウマネージャのスタートアップ時 も見てください。

ヒント: Fcitx5 が正しく動作しているか確認するには、何らかのアプリケーションを開き、Ctrl+Space を押してインプットメソッド (設定されていれば) を切り替えて、何か入力してみてください。
ノート: KDE Wayland で Wayland の text-input プロトコルを使うには、#Wayland に書かれてあるノートにも従ってください。

単語ライブラリ

中国語

For the Chinese input method of Fcitx5, several words libraries are currently provided in the repository:

ノート: Manually downloaded words library files can be directly placed in the path of ~/.local/share/fcitx5/pinyin/dictionaries. The suffix of the words library file should be .dict

カスタムの単語ライブラリ

中国語

Generally speaking, since fcitx5 supports importing the Sogou words library, there is no need to customize words library to a large extent, but fcitx5 still provides related tools.

The original words library file is a text file, its format is: Character Pinyin Frequency

After getting the original dictionary file, execute libime_pinyindict words-library.txt words-library.dict .

The custom dictionary file can be placed in ~/.local/share/fcitx5/pinyin/dictionaries

ノート: The following projects may help:

設定

設定ツール

fcitx5 の設定ファイルは、~/.config/fcitx5 にあります。テキストエディタを使用して設定ファイルを編集できますが、GUIを使った方が明らかに便利です。fcitx5-configtool パッケージをインストールします。

XKB の設定を上書きしないようにする

Fcitx5 はデフォルトで X のキーボード設定を上書きします。(setxkbmap コマンドや デスクトップ環境 が提供するグラフィカルなツールで設定できるものです) これを望んでいない場合は、fcitx5-configtool を実行して、Addons > XCB > Allow Overriding System XKB Settings のチェックを外してください。

テーマと外観

テーマ

収録されているテーマは非常に少ないですが、GitHub でより多くのテーマを見つけることができます。

ヒント: KDE Plasma で KCM を使用している場合は、Setting > Regional Settings > Input Method > Configure addons > Classic User Interface > Theme でテーマを切り替えられます。
ノート: GNOME 環境で gnome-shell-extension-kimpanel-gitAUR を使用している場合、Fcitx5 でテーマを設定することはできません。[5]

シングルラインモードの有効化

ピンイン入力メソッド (または Rime 入力メソッド) の設定で、Show preedit within application を有効にすると、シングルラインモードが有効になります。

ラテン文字や数字の後に全角句読点を入力する

デフォルトでは、Fcitx5 はラテン文字や数字の後に半角の句読点を入力します。半角ではなく全角の句読点を入力したい場合は、fcitx5-configtool を実行し、Configure addons > Punctuation > Half width punctuation after latin letter or number のチェックを外してください。

トラブルシューティング

問題の診断

fcitx5 の使用に問題がある場合 (例: Ctrl+Space がすべてのアプリケーションで機能しないなど)、最初に試すべきことは、fcitx5-diagnose を使用して診断することです。​fcitx5-diagnose の出力には、最も一般的な問題の手がかりが含まれているはずです。

Fcitx5 シングルラインモードが一部のアプリケーションで動作しない

  1. シングルラインモードが Firefox などの gtk アプリケーションで動作しない場合、fcitx5-gtk をインストールしてください。
  2. シングルラインモードが WPS Office と Sublime Text で動作しない場合、これは WPS Office と Sublime Text 自体の問題であり、fcitx5 の問題ではありません。[6]

Fcitx5 が JetBrains IDE で動作しない

システムのロケールが正しく設定されていて、かつロケールが正しく生成されていることを確認してください。ロケールが不適切であると、Fcitx5 が JetBrains IDE で適切に動作しなくなる原因になります。

候補ボックス内で絵文字の表示がおかしい

  • 絵文字のフォント (例えば noto-fonts-emoji) がインストールされていることを確認します。
  • システムフォントを (日本語の場合は) Noto Sans CJK JP などにします。
  • 次のコマンドを使用して、Fcitx5 を再起動します:
$ kill `ps -A | grep fcitx5 | awk '{print $1}'` && fcitx5&

RStudio で Fcitx5 が利用できない

以下のコマンドを実行してください:

$ strings /usr/lib/rstudio/lib/libQt5Core.so.5 | grep "Qt 5"

Qt ライブラリのバージョンを確認し、そのバージョンを使って fcitx5-qtlibfcitx5platforminputcontextplugin.so を再コンパイルし、成果物を /usr/lib/rstudio/plugins/platforminputcontexts/ ディレクトリ内に置いてください。

rstudio-desktop-binAUR を使用している場合、rstudio-fcitx5AUR を直接インストールできます。

Steam と Dota 2 で Fcitx5 が利用できない

Ctrl+Shift ではなく Ctrl+Space を使うことで、Steam の Big Screen モードと Dota 2 で IME を有効化することができます。[7]

Wayland で実行すると Chromium で Fcitx5 が利用できない

Chromium#ネイティブ Wayland サポート を参照。

GTK 環境の HiDPI モードで候補ポップアップがずれる

候補ポップアップの位置がカーソル位置に固定されていない場合は、fcitx5-gtkインストール して下さい。

kitty で fcitx5 を使用できない

こちらを参照 kitty#IME サポートを有効にする

Electron アプリケーションで Fcitx5 右 alt キーが効かない

非システムキーボードが何らかのアプリケーション (Discord、Element など) によって使用されている場合、そのアプリケーションはインプットメソッドよりも前に ISO_Level3_Shift を処理することができます。その結果、一部のインプットソッドは特定のアプリケーションで動作しなくなります。解決策の一つとして、他のインプットメソッドグループを追加し、システムレイアウトをキーボードにお対応するように設定するというものがあります。例えば、プライマリシステムキーボードとして英語 QWERTY キーボードを使っている場合に ąćęłńóśźż といったポーランド語の文字を入力するには、Fcitx5 Configuration GUI で以下のようにできます:

  1. Add Group のプラスボタンをクリックする。
  2. ドロップダウンの中からそのグループを選択肢、インプットメソッドを追加する (キーボード。例えば Keyboard - Polish)。
  3. Select system keyboard layout でこのインプットメソッドと一致するものを選び、変更を適用する。

他の解決策が欲しい場合は、Fcitx5 の開発者たちのコメントを参照してください。[8]

Wayland 上の Visual Studio Code で Fcitx5 が動作しない

この記事またはセクションの正確性には問題があります。
理由: --enable-wayland-ime は text-input-v1 をサポートしているコンポジタでしか機能しません。 (議論: トーク:Fcitx5#)

Visual Studio Code#Wayland でネイティブに実行するを参考に、起動オプションに --enable-wayland-ime を追加してください。[9]

Wayland 入力プロトコルを使用するソフトウェアで Wayland のポップアップウィンドウが出ない

この記事またはセクションの正確性には問題があります。
理由: 下記の要約に反して、GTK には text-input-v3 のサポートがあります。 (議論: トーク:Fcitx5#)

Wayland 入力プロトコルを使用するソフトウェア (環境変数 GTK_IM_MODULE=wayland が設定されている場合の wezterm や GTK ソフトウェア) は、編集することはできますが、text-input-v3 サポートが存在しないためポップアップウィンドウが表示されません。

Qt ソフトウェアや GTK ソフトウェアの Wayland でのサポートについて、fcitx5 の開発者は以下のように述べています [10]:

Qt には text-input-v2 サポートがあります。QT_IM_MODULE が空であれば、使用することはできますが、プリエディットに関してマイナーな問題が発生します。加えて、Wayland インプットメソッドプロトコルの現在のバージョンでは、Wayland は1つのグローバルなインプットコンテキストしか持てません。なので現在、Fcitx 5 によってサポートされている「アプリケーション毎」の入力状態を使いたい場合に問題となります。しかし、Qt のテキスト入力プロトコルを使うことには、入力ウィンドウがチラつかないという利点があります。
Gtk には text-input-v3 サポートがありますが、プリエディットのスタイルは貧弱で、太字のフォントがハイライトされてしまいます。加えて、テキストサポートも貧弱です。なので現在、すべての Fcitx 機能を使いたい場合、GTK_IM_MODULE=fcitx を使うのが依然として良い選択かもしれません。

Sway

Sway でのインプットメソッドのポップアップサポートはマージされましたが、まだ安定リリースには至っていません。必要であれば、sway-imAURsway-gitAUR で利用可能です。

GNOME

gnome-shell-extension-kimpanel-gitAUR プラグインをインストールしてください。

一部のアプリケーションで Fcitx5 が利用できない

一部のアプリケーション (例: Anki Qt6) で Fcitx5 が利用できない場合、~/.xprofile が存在することを確認してください。このファイルが存在しない場合は作成し、必要な環境変数~/.xprofile 内に記述してください。グラフィカルセッションを再起動し、確認してください。

ヒントとテクニック

繁体字と簡体字の変換をカスタマイズする

一部の IME はデフォルトで簡体字を想定しているため、簡体字入力を使用すると正しくない文字が表示されてしまいます (例: 為什麼 ではなく 爲什麼 になってしまう)。これを修正するために、Simplified and Traditional Chinese Translation の使用をカスタマイズできます。

変換を設定するには、OpenCC profile for Simplified to Traditional を以下のどれかの値に設定してください:

  • s2t - 簡体字から繁体字 (OpenCC) (これはデフォルトであり、おそらくあなたが望んでいるものではありません)
  • s2tw - 簡体字から繁体字 (台湾)
  • s2twp - 簡体字から繁体字 (台湾)。台湾語の熟語付き。
  • s2hk - 簡体字から繁体字 (香港)

逆の変換を行うには、OpenCC profile for Traditional to Simplified を以下のどれかの値に設定してください:

  • t2s - 繁体字 (OpenCC) から 簡体字 (OpenCC) (これはデフォルトであり、おそらくあなたが望んでいるものではありません)
  • tw2s - 繁体字 (台湾) から 簡体字 (OpenCC)
  • tw2sp - 繁体字 (台湾) から 簡体字 (OpenCC)。本土中国語の熟語付き。
  • t2hk - 繁体字 (OpenCC) から香港繁体字
  • t2tw - 繁体字 (OpenCC) から台湾繁体字
  • tw2t - 繁体字 (台湾) から 繁体字 (OpenCC)
  • hk2s - 繁体字 (香港) から 簡体字 (OpenCC)
  • hk2t - 繁体字 (香港) から 繁体字中国語 (OpenCC)
  • t2jp - 旧字体 から日本語の新字体
  • jp2t - 日本語の新字体から旧字体

最新のリストはここにあります: OpenCC

選択した文字列の Unicode エンコードを表示する

  • テキストエディタで選択したテキストの Unicode エンコードを表示したい場合、テキストを直接選択し、ショートカットキー Ctrl+Alt+Shift+u を使うことで、選択したテキストのエンコーディングを表示することができます。
  • (この Wiki のような) 非編集可能領域のテキストの Unicode エンコードを表示する場合は、まずテキストをクリップボードにコピーしてから、編集可能な領域 (検索ボックスなど) をクリックする必要があります。次に、ショートカットキー Ctrl+Alt+Shift+u を使用して、クリップボード内のテキストのエンコーディングを表示できます。

特殊文字を入力する

一般に、āá© などの単純な記号は、コンポーズキーを設定することで入力できますが、 などの特殊記号の場合は、~/.XCompose をカスタマイズするか、Fcitx5 の Unicode 機能を使用します。

を例にとってみましょう:

任意の入力ボックスにカーソルを置いて Ctrl+Alt+Shift+u を押し、circle one と入力すると、 どの特殊文字が表示されます。

半角/全角句読点の切り替え

fcitx5-chinese-addons では、デフォルトで全角句読点が使用されますが、Ctrl+. で半角と全角の句読点を切り替えることができます。

vim で自動的に入力メソッドを切り替える

fcitx.vim プラグインを使用することが推奨されています。このプラグインは、それぞれの insert モードにおいてバッファの入力メソッドの状態を個別に保持します。

シンプルなソリューションとしては、以下のコードを ~/.vimrc の末尾に追加できます: [11][12]

~/.vimrc
let fcitx5state=system("fcitx5-remote")
autocmd InsertLeave * :silent let fcitx5state=system("fcitx5-remote")[0] | silent !fcitx5-remote -c " Disable the input method when exiting insert mode and save the state
autocmd InsertEnter * :silent if fcitx5state == 2 | call system("fcitx5-remote -o") | endif " 2 means that the input method was opened in the previous state, and the input method is started when entering the insert mode

neovim を使用している場合、上記のコードを ~/.config/nvim/init.vim の末尾に追加してください。

Vim9 を使用している場合、コードは以下のようになります:

~/.vimrc
# Only taking affect after using vim9script grammar or has `vim9script` keyword.
var fcitx5state = system("fcitx5-remote")
autocmd InsertLeave * :silent fcitx5state = system("fcitx5-remote")[0] | silent !fcitx5-remote -c
autocmd InsertEnter * :silent if fcitx5state == '2' | call system("fcitx5-remote -o") | endif
ノート: vim.cmd にこのコードを追加する場合、アンコメントする必要があるかもしれません。

VSCodeVim を使用している場合、以下のスニペットを設定ファイルに追加してください:

"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "1",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/bin/fcitx5-remote",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/bin/fcitx5-remote -t {im}",

ピンイン入力メソッド

ノート: The following functions are only valid for the Pinyin input method in fcitx5-chinese-addons, please explore other input methods by yourself.

Sogou 単語ライブラリをインポートする

  • For KDE users, you can import Sogou words library through Settings > Regional Settings > Input Method > Pinyin > Dictionary > Import.
  • For users who use fcitx5-configtool, you need to manually open the software "Fcitx5 Configuration" and manually configure it in the Pinyin input method.

You can import local words library or browse and import online words library.

Cloud Pinyin

On the settings page of the Pinyin input method, you can enable Cloud Pinyin. But if you need to change the default backend of Cloud Pinyin, you need to change it in the global settings of fcitx5. Provided backends are Google, Baidu, GoogleCN.

Stroke Filter

Set the shortcut key after the "stroke filter" of the pinyin input method you set (the default is `) Then after entering the text, press the shortcut key, the words stroke filter will appear in the candidate box of the input method, and the words can be filtered by strokes. The specific rules are: h horizontal stroke, s vertical stroke, p left-falling stroke, n right-falling stroke, z turning stroke.

By default, the stroke filter is to filter the first character of a sentence, but you can switch between different characters in a sentence by using determining characters by word.

For example, to perform stroke filtering on the third character in the word 中华人民共和国, you can press ] twice in a row after enabling stroke filtering to let fcitx5 perform stroke filtering on it.

ノート: By default, the shortcut keys of Determining characters with words are [ and ], and the shortcut keys can be viewed in the settings of Pinyin input method.

RIME/Zhongzhou rhyme

ヒント: All changes need to be redeployed to take effect.

単語ライブラリをインポートする

Take importing words library rime-pinyin-zhwiki and fcitx5-pinyin-moegirl-rimeAUR as an example.

ヒント: It is also possible to put the custom words library into ~/.local/share/fcitx5/rime/, and the file name (filename.dict.yaml) should be the same as the words library name (words library format)

1. Change the ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml file (take luna_pinyin as an example, and modify the name of the other input schemes)

~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml
# There should only be one "patch:" in the file, if it already exists, just paste the following code
# This file is used to modify a specific input scheme, change the above luna_pinyin to other input scheme names to complete the modification of other input schemes
patch:
    "translator/dictionary": extended #The dictionary name can be customized, just keep the same as the file name below

2. Create a new ~/.local/share/fcitx5/rime/extended.dict.yaml file

ヒント: Import custom words library just add the words library name after "import_tables:"
~/.local/share/fcitx5/rime/extended.dict.yaml
# The following disables the default words library and does not enable the default "Baguwen" words library and word frequency system, if you do not want traditional characters and box characters to appear in candidate words
---
name: extended
version: "2021.02.19"
sort: by_weight
use_preset_vocabulary: false #Whether to enable the default "Baguwen" words library and word frequency system, if you want to enable it, please set it to true.
import_tables:
  # - luna_pinyin #Default words library, please uncomment if you want to enable it
  - zhwiki
  - moegirl
  # - custom words library name
...

模糊音の設定

Please comment (#) or delete unnecessary fuzzy sounds as needed. If you need to add other fuzzy sounds, please refer to Mingyue Pinyin fuzzy sound custom template

If the luna_pinyin.custom.yaml file does not exist

~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml
patch:
    "speller/algebra":
        - derive/^([zcs])h/$1/ #zh,ch,sh->z,c,s
        - derive/^([zcs])([^h])/$1h$2/ #z,c,s->zh,ch,sh
        - derive/^n/l #n->l
        - derive/^l/n #l->n
        - derive/([ei])n$/$1ng/  # en -> eng, in -> ing
        - derive/([ei])ng$/$1n/ # eng->en, ing -> in
        - abbrev/^([a-z]).+$/$1/ #Jianpin support
        - abbrev/^([zcs]h).+$/$1/ #fuzzy sounds support for Jianpin
        delimiter: " '" #delimiter

If the file exists, paste the part below patch: to the end of the file (there is only one patch: in luna_pinyin.custom.yaml)

特殊記号

ノート: Fcitx5 には特殊記号の組み込みサポートがあります。#特殊文字を入力する を参照してください。

Import the symbols.dict.yaml words library in the rime-dict project to input Greek letters, some mathematical symbols and Emoji expressions in Pinyin.

Example:

  • Greek letters: input alpha to output α
  • Mathematical symbols: input jifen to output
  • Special symbols: Input cha to output ✕,✖
  • Serial number: input qi to output Ⅶ,⑦
  • Emoji expression: Input haha to output 😃,😆

librime-lua プラグインをロードする

If you want to load the librime-lua plugin, you must add the lua module in the Rime input method settings of the fcitx configuration tool.

翻訳ステータス: このページは en:Fcitx5 の翻訳バージョンです。最後の翻訳日は 2024-07-26 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。