「Fcitx5」の版間の差分
(同期) |
(「Wayland 上の Visual Studio Code で Fcitx5 が動作しない」という項目を追加し、対処を記載。) |
||
205行目: | 205行目: | ||
他の解決策が欲しい場合は、Fcitx5 の開発者たちのコメントを参照してください。[https://github.com/fcitx/fcitx5/issues/740] |
他の解決策が欲しい場合は、Fcitx5 の開発者たちのコメントを参照してください。[https://github.com/fcitx/fcitx5/issues/740] |
||
+ | |||
+ | === Wayland 上の Visual Studio Code で Fcitx5 が動作しない === |
||
+ | |||
+ | [[Visual Studio Code#Wayland でネイティブに実行する]]を参考に、起動オプションに {{ic|--enable-wayland-ime}} を追加してください。[https://github.com/fcitx/fcitx5/issues/760] |
||
=== Wayland 入力プロトコルを使用するソフトウェアで Wayland のポップアップウィンドウが出ない === |
=== Wayland 入力プロトコルを使用するソフトウェアで Wayland のポップアップウィンドウが出ない === |
2024年4月15日 (月) 20:09時点における版
Fcitx5 は、軽量コアを備えたインプットメソッドフレームワークであり、アドオンを介して追加の言語サポートを提供します。 Fcitx の後継です。
目次
- 1 インストール
- 2 使用方法
- 3 設定
- 4 トラブルシューティング
- 4.1 問題の診断
- 4.2 Fcitx5 シングルラインモードが一部のアプリケーションで動作しない
- 4.3 JetBrains IDE で Fcitx5 の位置がおかしい
- 4.4 Fcitx5 が JetBrains IDE で動作しない
- 4.5 候補ボックス内で絵文字の表示がおかしい
- 4.6 RStudio で Fcitx5 が利用できない
- 4.7 Steam と Dota 2 で Fcitx5 が利用できない
- 4.8 Wayland で実行すると Chromium で Fcitx5 が利用できない
- 4.9 GTK 環境の HiDPI モードで候補ポップアップがずれる
- 4.10 kitty で fcitx5 を使用できない
- 4.11 Electron アプリケーションで Fcitx5 右 alt キーが効かない
- 4.12 Wayland 上の Visual Studio Code で Fcitx5 が動作しない
- 4.13 Wayland 入力プロトコルを使用するソフトウェアで Wayland のポップアップウィンドウが出ない
- 4.14 一部のアプリケーションで Fcitx5 が利用できない
- 5 ヒントとテクニック
インストール
fcitx5-im パッケージグループは、メインの fcitx5 パッケージと、#インプットメソッドモジュール の一部、そして #設定ツール を提供します。
使用可能な IME のリストについては、インプットメソッド#使用可能なインプトメソッドエディターの一覧 を参照してください。
インプットメソッドモジュール
一部の GUI ツールキットは、アプリケーションでのインプットメソッド統合のためのインプットメソッドモジュールのサポートを提供します。しかし、これらは必ずしも必要であるわけではなく、#Wayland ネイティブなプロトコルのほうがより優れたパフォーマンスを得られるかもしれません。詳細は #統合 を参照してください。
- Qt5/6: fcitx5-qt。
- GTK: fcitx5-gtk。
- Qt4: fcitx5-qt4-gitAUR。
プラグイン
日付と時刻のサポートは fcitx5-lua をインストールしてください。
使用方法
統合
インプットメソッドを実際に使用するには、アプリケーション側が入力イベントをインプットメソッドにリダイレクトする必要があります。そのような目的のために使用されるプロトコルは、ディスプレイサーバ (つまり、Wayland の text-input や Xorg の XIM) や GUI ツールキットのインプットメソッドモジュールが提供していることがあります。
Wayland
通常、Wayland のネイティブな text-input プロトコルでは、インプットメソッドモジュールよりも良い結果を得られます。なので、#IM モジュール は Xwayland アプリケーションでのみ使用することが推奨されます。加えて、レガシーな X11 アプリケーションに対しては #XIM を有効化してください。[1]
IM モジュール
以下の環境変数[3]を、X11 を使用している場合はグローバルに、text-input サポートのある Wayland コンポジタを使用している場合は Xwayland アプリケーション毎に、設定してください。
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx
あるいは、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
を設定することで解決します。
XIM
X11 アプリケーションに対しては、以下の環境変数で XIM サポートを有効化してください:
XMODIFIERS=@im=fcitx
自動起動
使用しているデスクトップ環境が XDG Autostart を実装している場合、自動起動#デスクトップ環境のスタートアップ時 を参照してください。
自動起動#Xorg のスタートアップ時 を参照し、必要に応じて 自動起動#ウィンドウマネージャのスタートアップ時 も見てください。
単語ライブラリ
中国語
For the Chinese input method of Fcitx5, several words libraries are currently provided in the repository:
- fcitx5-pinyin-zhwiki: A words library created by felixonmars based on Chinese Wikipedia. Applicable to Pinyin input method.
- rime-pinyin-zhwiki: A words library for Rime input method.
- fcitx5-pinyin-moegirlAUR : A words library created by outloudvi based on Moegirlpedia.
- fcitx5-pinyin-moegirl-rimeAUR: A words library for Rime input method.
- cedict: A words library converted from cedict dictionary.
カスタムの単語ライブラリ
中国語
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.
- Install libime
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
設定
設定ツール
fcitx5 の設定ファイルは、~/.config/fcitx5
にあります。テキストエディタを使用して設定ファイルを編集できますが、GUIを使った方が明らかに便利です。fcitx5-configtool パッケージをインストールします。
XKB の設定を上書きしないようにする
Fcitx5 はデフォルトで X のキーボード設定を上書きします。(setxkbmap
コマンドや デスクトップ環境 が提供するグラフィカルなツールで設定できるものです) これを望んでいない場合は、fcitx5-configtool
を実行して、Addons > XCB > Allow Overriding System XKB Settings のチェックを外してください。
テーマと外観
テーマ
収録されているテーマは非常に少ないですが、GitHub でより多くのテーマを見つけることができます。
- fcitx5-breeze: KDE Breeze スタイルにマッチする Fcitx5 テーマ。
- fcitx5-nord: Nord Color Themes。
- fcitx5-material-color: このテーマは Microsoft PinYin のような感じです。公式のリポジトリは GitHub: Fcitx5-Material-Color にあります。README.md に、ワンラインモードの美しい設定がいくつかあります。
- fcitx5-solarizedAUR: Fcitx5 のための Solarized カラーのテーマ。
- fcitx5-skin-fluentdark-gitAUR: ぼかし効果と影のある Fluent デザインのダークテーマ。
シングルラインモードの有効化
ピンイン入力メソッド (または Rime 入力メソッド) の設定で、Show preedit within application を有効にすると、シングルラインモードが有効になります。
トラブルシューティング
問題の診断
fcitx5 の使用に問題がある場合 (例: Ctrl+Space
がすべてのアプリケーションで機能しないなど)、最初に試すべきことは、fcitx5-diagnose
を使用して診断することです。fcitx5-diagnose
の出力には、最も一般的な問題の手がかりが含まれているはずです。
Fcitx5 シングルラインモードが一部のアプリケーションで動作しない
- シングルラインモードが Firefox などの gtk アプリケーションで動作しない場合、fcitx5-gtk をインストールしてください。
- シングルラインモードが WPS Office と Sublime Text で動作しない場合、これは WPS Office と Sublime Text 自体の問題であり、fcitx5 の問題ではありません。[6]
JetBrains IDE で Fcitx5 の位置がおかしい
IDE と同梱されている IDE に同梱されている JBR が正しくないことが原因です。この問題を解決するには、以下のことを行う必要があります:
jbr17-imfixAUR[リンク切れ: package not found] をインストールするか、代替の JetBrainRuntime をダウンロードし、展開してください。そして、JetBrains のサポートに従って IDE の JBR を変更してください。
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-qt の libfcitx5platforminputcontextplugin.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 IM をまだサポートしていないことが原因です。これは、スタートアップフラグに --gtk-version=4
を追加することで解決できます。これでうまく行かない場合、gtk4 がインストールされていることを確認してください。[8]
GTK 環境の HiDPI モードで候補ポップアップがずれる
候補ポップアップの位置がカーソル位置に固定されていない場合は、fcitx5-gtk を インストール して下さい。
kitty で fcitx5 を使用できない
こちらを参照 kitty#IME サポートを有効にする
Electron アプリケーションで Fcitx5 右 alt キーが効かない
非システムキーボードが何らかのアプリケーション (Discord、Element など) によって使用されている場合、そのアプリケーションはインプットメソッドよりも前に ISO_Level3_Shift
を処理することができます。その結果、一部のインプットソッドは特定のアプリケーションで動作しなくなります。解決策の一つとして、他のインプットメソッドグループを追加し、システムレイアウトをキーボードにお対応するように設定するというものがあります。例えば、プライマリシステムキーボードとして英語 QWERTY キーボードを使っている場合に ąćęłńóśźż
といったポーランド語の文字を入力するには、Fcitx5 Configuration GUI で以下のようにできます:
- Add Group のプラスボタンをクリックする。
- ドロップダウンの中からそのグループを選択肢、インプットメソッドを追加する (キーボード。例えば Keyboard - Polish)。
- Select system keyboard layout でこのインプットメソッドと一致するものを選び、変更を適用する。
他の解決策が欲しい場合は、Fcitx5 の開発者たちのコメントを参照してください。[9]
Wayland 上の Visual Studio Code で Fcitx5 が動作しない
Visual Studio Code#Wayland でネイティブに実行するを参考に、起動オプションに --enable-wayland-ime
を追加してください。[10]
Wayland 入力プロトコルを使用するソフトウェアで Wayland のポップアップウィンドウが出ない
Wayland 入力プロトコルを使用するソフトウェア (環境変数 GTK_IM_MODULE=wayland
が設定されている場合の wezterm や GTK ソフトウェア) は、編集することはできますが、text-input-v3 サポートが存在しないためポップアップウィンドウが表示されません。
Qt ソフトウェアや GTK ソフトウェアの Wayland でのサポートについて、fcitx5 の開発者は以下のように述べています [11]:
- 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-imAUR や sway-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
の末尾に追加できます: [12][13]
~/.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
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}",
ピンイン入力メソッド
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.
RIME/Zhongzhou rhyme
単語ライブラリをインポートする
Take importing words library rime-pinyin-zhwiki and fcitx5-pinyin-moegirl-rimeAUR as an example.
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
~/.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
)
特殊記号
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.