公開日: 2021年7月26日 / 最終更新日: 2023年8月4日
Fcitx と Mozc で日本語入力
FreeBSD の日本語入力環境は kinput2 & Canna や SCIM & Anthy などさまざまな変遷をたどり、現在の主流は Fcitx & Mozc のようです。という訳で、私もこのコンビを用いて urxvt、Chromium、Emacs での日本語入力を試してみました。設定作業を行う上で特に困るようなことはなかったものの、Fcitx と mozc-el (Emacs のインプットメソッド) の共存には少し注意を要したので、それについても記しておきます。
インストール
Fcitx、Mozc とそれぞれの設定ツールを packages からインストールします。
# pkg install ja-fcitx-mozc ja-mozc-server ja-mozc-tool
# pkg install zh-fcitx zh-fcitx-configtool
起動設定
X Window System が起動したときに Fcitx と Mozc も起動するように設定します。X を startx コマンドで起動する場合や、SLiM からログインした場合は ~/.xinitrc に次のように書いておきます。環境によっては ~/.xprofile など別のファイルに書く必要があるかもしれません。
~/.xinitrc
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
/usr/local/bin/mozc start
fcitx -r -d
Fcitx の設定
Fcitx には GUI 設定ツールが用意されています (図 1)。コマンドは fcitx-config-gtk です。 私の場合、インプットメソッドの ON/OFF は「Ctrl + Backslash」キーがなじみ深いので、 そこだけ変更します(図 2)。デフォルトでは「Ctrl + Space」が割り当てられていますが、これは Emacs のマークセットと衝突するので要注意です (このような衝突を回避するために、Emacs では XIM を無効にするのが一般的です。その方法は後述)。変更作業が終わったら、Fcitx アイコンの右クリックメニューから「再起動」を選択して変更を反映させます (図 3)。ちなみに Fcitx の設定は ~/.config/fcitx/ に収められており、このディレクトリを削除することで設定を初期化することができます。
% fcitx-config-gtk &
Mozc の設定
Mozc も GUI 設定ツールが用意されています。mozc_tool コマンドを次のようにダイアログモードで起動します。 あとは画面を見ながら自分の好みに合わせて設定してゆけばよい訳ですが、私の場合は次の 2 点を変更しています。
% mozc_tool --mode=config_dialog &
- スペースの入力を常に半角にする
- Mozc のキーバインドを Canna 風にする
- 下記 URL から keymap-emacs.txt を取得する。
- Mozc 設定ツールの [一般] タブにある [キー設定の選択] で「カスタム」を選択し、編集ボタンを押す (図 4)。
- 別のダイアログが開く (図 5)。編集ボタンから「インポート」を選択し、ファイル選択ダイアログにて keymap-emacs.txt を選択する。
urxvt や Chromium で日本語入力
Emacs で日本語入力
Emacs の設定全般は別の記事に譲るとして、ここでは日本語入力の最低限の設定のみ触れておきます。Emacs では、インプットメソッドとして Fcitx ではなく mozc-el を使用するので、本体とともに ja-mozc-el をインストールしてください。 そして ~/.emacs.d/init.el に次のように書いておきます。3行目は「Ctrl + Backslash」で日本語入力を ON/OFF するための設定ですが、私の環境ではこの行が無くても「Ctrl + Backslash」で ON/OFF できたのでコメントアウトしてあります。必要に応じてコメントアウトを解除してください。
# pkg install emacs ja-mozc-el
~/.emacs.d/init.el
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
;(global-set-key (kbd "C-\\") 'toggle-input-method)
Emacs では Fcitx を無効にしておこう
Emacs では Fcitx を使用しないので、無効にしておいたほうが無難です。これをやっておかないと 両者のキーバインドが衝突してろくなことになりません。
- Emacs をコマンドプロンプトから起動する場合
シェルの設定ファイル (~/.zshrc とか ~/.bashrc など) に次のように書いておきます。~/.zshrcalias emacs='XMODIFIERS=@im=none emacs'
- Emacs をランチャなどから起動する場合
~/.Xresources に次のように書いておけばよいようです。が、私の環境でこれをやるとなぜか ~/.Xmodmap の設定が無効になってしまうので、やっていません。~/.XresourcesEmacs*useXIM: false