# Fcitx (日本語)

FCITX (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供するインプットメソッドフレームワークです。多くの言語をサポートし便利な non-CJK 機能が含まれています。

## インストール

fcitx は [community] リポジトリから Pacman でインストールできます。

gtk や qt のプログラムでより良いエクスペリエンスを得たり、(特に gtk の方で) xim によって生じる未解決の問題・バグを除くために、gtk や qt の適切なインプットメソッドモジュールをインストールしてください: fcitx-gtk2 (gtk2), fcitx-gtk3 (gtk3), fcitx-qt4 (qt4), fcitx-qt5 (qt5)。次のコマンドを実行することで4つのパッケージをインストールできます (fcitx-qt5 はあまり使われていないので含まれていません):

     pacman -S fcitx-im

## FCITX を使って入力する

FCITX を入力に使う前に、環境変数をいくつか設定する必要があります。設定はとても簡単です。

- 以下の行をデスクトップのスタートアップスクリプトファイル (KDM, GDM, LightDM を使っている場合は `.xprofile` もしくは `.profile`、startx や Slim を使っている場合は `.xinitrc`) に追加してください。この設定で、fcitx は gtk/qt のインプットメソッドモジュールを使うようになり xim プログラムをサポートします (必要なインプットメソッドモジュールがすでにインストールされているか確認してください):

     export GTK_IM_MODULE=fcitx
     export QT_IM_MODULE=fcitx
     export XMODIFIERS="@im=fcitx"

Note: 上の設定で動かないときは `export DefaultIMModule=fcitx` を追加して見て下さい。

任意で、gtk や qt のプログラムで xim を使うように設定することも可能で、その場合上の行を以下のように変更してください:

     export GTK_IM_MODULE=xim
     export QT_IM_MODULE=xim

Warning: xim を使用するとインプットメソッドによって、入力ができなくなったりインプットメソッドを再起動するとアプリケーションがフリーズするなどの問題がおこることがあります。xim 関連の問題に対しては Fcitx は修正やサポートを提供できません。これは他のインプットメソッドフレームワークでも同じで、可能な限り xim ではなく ツールキット (gtk/qt) のインプットメソッドモジュールを使って下さい。
Note: Gtk2 は 2.24.20 から immodule のキャッシュファイルとして `/usr/lib/gtk-2.0/2.10.0/immodules.cache` を使っています。`GTM_IM_MODULE_FILE` 環境変数を設定していたり公式パッケージの install スクリプトを使ってキャッシュを更新していない場合、環境変数を変更・削除して `/usr/bin/gtk-query-immodules-2.0 --update-cache` を使って immodule キャッシュを更新してください。

- 変更を適用するためにログインしなおしてください。

KDE, GNOME, XFCE, LXDE などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください:

    $ fcitx

fcitx が正しく動作しているか確認するために、leafpad といったアプリケーションを開いて CTRL+Space (インプットメソッドの切り替えのデフォルトのショートカット) を押して FCITX を呼び出しなにか文字を入力してみて下さい。

Fcitx があなたの環境で自動で起動しない場合や fctix を起動するパラメータを変更したい場合は、デスクトップ環境によって提供されているツールを使って xdg の自動起動を設定するか `~/.config/autostart/` ディレクトリ内の `fcitx-autostart.desktop` ファイルを編集してください (存在しないときは `/etc/xdg/autostart/` からコピーしてください)。

デスクトップ環境が xdg 自動起動をサポートしていない場合は、(環境変数を正しく設定した後に) 次の行をスタートアップスクリプトに追加してください:

    $ fcitx

xim サポートのある他のインプットメソッドが動作していると、Fcitx は xim エラーで起動できません。Fcitx を起動する前に他のインプットメソッドが動いていないことを確認してください。

## 設定

Fcitx は GUI の設定ツールを提供しています。AUR から kcm-fcitx (kcm ベース), fcitx-configtool (gtk3 ベース), fcitx-configtool-gtk2 (gtk2 ベース、サポートなし) のどれかをインストールできます。

Fcitx は手動設定をサポートしていません。

## デスクトップ環境の統合

### Gnome-Shell

extensions.gnome.org や AUR の gnome-shell-extension-kimpanel-git パッケージから kimpanel をインストールでき、ibus-gjs と同じように使うことができます。

GNOME は単一のインプットメソッドを破壊しようとするため、Fcitx を使うために、gnome-control-center から全ての入力ソースとインプットメソッドのホットキーを削除してから次のコマンドを実行して iBus との統合を無効にする必要があります:

    $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false

### KDE

kcm-fcitx や kdeplasma-addons-applets-kimpanel をインストールできます。

kcm-fcitx は fcitx の kcontrol モジュールです。

kdeplasma-addons-applets-kimpanel は kde と統合するための plasmoid です。kimpanel を plasma に追加すれば fcitx は自動的に切り替えます。

## fcitx の他のコンポーネントのインストール

fcitx のコンポーネントは全てインストールした後に fcitx の再起動を必要とします。

### キーボードレイアウトの統合

現在 fcitx-keyboard が初めからサポートされています。設定ツールを開き (上述の kcm-fcitx もしくは fcitx-configtool)、"Show only current language" のチェックを外してあなたのキーボードにあったレイアウトを探して下さい。

スペルチェックを有効にするには、fcitx が fcitx-keyboard によるインプットメソッドを使っている時に ctrl + alt + h を押して下さい。長い単語を入力すれば、動いているかどうか確認できます。

### 中国語インプットメソッド

fcitx パッケージには fcitx 内蔵の fcitx-pinyin と fcitx-table が入っており、ピンイン と Wubi のような表ベースのインプットメソッドをサポートしています。

ピンインのより良いサポートが欲しい場合は fcitx-cloudpinyin, fcitx-sunpinyin, fcitx-googlepinyin, fcitx-libpinyin などをインストールしてください。

注音符号 のサポートが必要な場合は、fcitx-chewing か fcitx-libpinyin をインストールしてください。

倉頡, Zhengma, Boshiamy のサポートが必要な場合は、fcitx-table-extra をインストールしてください。

### 日本語インプットメソッド

fcitx-anthy, fcitx-mozc, fcitx-kkc のどれかをインストールしてください。

### 韓国語インプットメソッド

fcitx-hangul をインストールしてください。

### ベトナム語インプットメソッド

fcitx-unikey をインストールしてください。

### シンハラ語インプットメソッド

fcitx-sayura をインストールしてください。

### 他の言語

m17n が他の言語のサポートを提供しています、fcitx-m17n で fcitx の m17n サポートをインストールできます。

## クリップボード

fcitx を使ってクリップボード (とクリップボード履歴) にある文章を入力することが可能です。デフォルトのトリガーキーは Control- です。このトリガーキーはクリップボードのアドオンの設定ページにある他のオプションと同じように設定することが可能です。

Note: クリップボードマネージャではないため、クリップボードマネージャにあるような中身の選択や変更はできません。クリップボードからの入力にだけ使えます。
Warning: クライアントによっては複数行の入力をサポートしていないため fcitx-clipboard を使ってクリップボードの中身をペーストすると一行しか出ないことがあります。これはバグかプログラムの方の入力の問題なので fcitx は何もできません。

## トラブルシューティング

### Emacs

LC_CTYPE が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に "ja_JP.UTF-8" など LC_CTYPE を他の値に設定することで問題を回避できます。

デフォルトのフォントセットはベースフォントとして `-*-*-*-r-normal--14-*-*-*-*-*-*-*` を使います (src/xfns.c)。マッチするフォント (terminus や 75dpi など、`xlsfonts` の出力を見て下さい) がない場合、XIM は有効になりません。

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

ほとんどのプログラムではインプットメソッドモジュールがなくてもインプットメソッドを使うことができますが、その場合、未解決の問題が発生する可能性があります。

バージョン 13 以降の firefox では、ポップアップメニューが xim にとって機能しなくなります。fcitx-gtk2 と最新の fcitx をインストールしてください。

### Ctrl+Space が GTK のプログラムで機能しない

ロケールを英語に設定しているとこの問題が発生することがあります。GTK_IM_MODULE が正しく設定されているか確認してください。

参照: FAQ

- _IM_MODULE 環境変数を設定していても fcitx が有効にできない場合は、適切なインプットメソッドモジュールをインストールしているか確認してください。

プログラムによっては xim しか使わないため、そうしたプログラムを使っているときは、XMODIFIERS が正しく設定されているか確認してください。プログラムの例: gtk や qt を使わないプログラム全て (例: tk や motif、もしくは xlib を直接使っているプログラム), emacs, opera, openoffice, libreoffice, skype。

gnome の gnome-terminal で fcitx が有効にできず、上の方法で効果がない場合は、右クリックのインプットメソッドメニューから Fcitx を選択してみて下さい。

### 内蔵の Chinese Pinyin がデフォルトで有効にならない

ロケールが `en_US.UTF-8` である場合、fcitx は内蔵の Chinese Pinyin インプットメソッドをデフォルトで有効にしません。`fcitx-keyboard-us` インプットメソッドだけが有効にされます。`fcitx-diagnose` コマンドを実行すると以下のように表示されます:

       ## Input Methods:
           1.  Found 1 enabled input methods:
                   fcitx-keyboard-us
           2.  Default input methods:
               **You only have one input method enabled, please add a keyboard input method as the first one and your main input method as the second one.**

GUI の設定ツールで `Pinyin` や `Shuangpin` インプットメソッドを追加してインプットメソッドが有効にしてください。

## 参照

- Fcitx GitHub
- Fcitx Google Code
- Fcitx Wiki

Category:

- Internationalization (日本語)