Uim を使って日本語を入力

提供: ArchWiki
ナビゲーションに移動 検索に移動

このページでは uim を使った日本語入力の方法について説明しています。
もしあなたが SCIM を使う場合は Smart Common Input Method platform を、IBusを使う場合はIbusを参照して下さい。

目次

インストール

日本語入力を行うためには、次のパッケージが必要です。

  • 日本語フォント
  • 日本語入力システム (かな漢字変換エンジン): このページでは AnthyMozc について説明します。
  • 入力メソッドフレームワーク: uim

日本語フォント

フォントの設定やその他詳細については Fonts および Font Configuration を参照して下さい。

おすすめの日本語フォントは以下の通りです。

高品質かつ無償で利用できるアウトラインフォント。ゴシック体 (サンセリフ体) や明朝体 (セリフ体) グリフを含む。openSUSE の日本語ロケールの標準フォント。
Debian や Fedora の日本語環境、Vine Linux などで採用されている標準フォント。
Mandriva Linux 日本語環境の標準フォント。

2ちゃんねるの Shift JIS アート を適切に表示したい場合、次のいずれかのフォントを使うと良いでしょう:

uim

pacman を使う

uim は次のコマンドでインストールできます。

# pacman -S uim

PKGBUILD を使ってソースから uim をコンパイル

例えば、自分でビルドオプションをカスタマイズしたい場合などは ABS を使うなどしてソースからコンパイルできます。

Arch での設定

Arch 公式リポジトリでは、uim は以下のビルドオプションをつけてビルドされています (1.7.1 現在):

  • --with-anthy-utf8 : Anthy (UTF-8) のサポートを有効にする。
  • --with-qt4 : Qt で動作する uim-tools をビルドする。

すべてのビルドオプションは公式wikiを参照してください。

ビルド手順

ここでは ABS を利用してソースからビルドする方法を説明します。
まず、ABS をインストールします:

# pacman -S abs

ABS を更新します:

# abs

それから、uim のディレクトリを $HOME 以下にコピーします。例えば:

$ cp -R /var/abs/extra/uim ~/sources/

PKGBUILD を編集します。

最後に、uim ディレクトリで makepkg を実行し、パッケージをビルドおよびインストールします。

$ makepkg -s -i

日本語入力システム

Anthy

Anthy はオープンソースの世界で最も知られているインプットメソッドの一つです。長い間メンテされていませんでしたが、2010年5月より Debian が引き継ぎました。

Anthy は以下のコマンドでインストールできます:

# pacman -S anthy
cannadic改

オリジナル Anthy のデフォルト辞書には EUC-JP (JISX0208) で定義されていない文字 (例えば "①" や "♥" など) は含まれていません。alt-cannadic はそれら文字を含んだ辞書を提供しています。

これを使用するには、cannadic改辞書をダウンロードし、~/.anthy/imported_words_default.d 配下に置いてください。

$ tar jxvf alt-cannadic-091230.tar.bz2
$ mkdir ~/.anthy/imported_words_default.d (if not exist)
$ cp alt-cannadic-091230/extra/*.t ~/.anthy/imported_words_default.d/

詳細は公式サイトのwikiで確認してください。

警告: この拡張辞書を使う場合は、使用するインプットメソッドは Anthy (UTF-8) でなければなりません。

Modified Anthy (anthy-ut)

Modified Anthy はオリジナル Anthy のかな漢字変換の品質向上を狙ったパッチ及び辞書のセットです。

Modified Anthy は、以下の2つのアップストリームからなっています:

  • G-HAL氏によって作成されているパッチの当てられたAnthy
  • UTSUMI氏によって作成されている巨大な辞書。
警告: Modified Anthy は Anthy (UTF-8) にのみ対応しています。従って uim の設定で使用する (デフォルトの) インプットメソッドは Anthy (UTF-8) でなければなりません。
警告: Modified Anthy はオリジナル Anthy に対し、辞書及び学習データの互換性がありません。
PKGBUILD を使って Modified Anthy をコンパイル

Modified Anthy は AUR に anthy-utAUR という名前で登録されています。

anthy-ut tarball を入手し、makepkg でビルド及びインストールします:

$ wget https://aur.archlinux.org/packages/anthy-ut/anthy-ut.tar.gz
$ tar xvf anthy-ut.tar.gz
$ cd anthy-ut
$ makepkg -s -i

すでに Anthy を使用していた場合は、既存の学習データのフォーマットを変換しなければなりません。

$ rm ~/.anthy/last-record1_*.bin
$ anthy-agent --update-base-record
$ rm ~/.anthy/last-record1_*.bin
$ anthy-agent --update-base-record

(同じ事を2回繰り返していますが、間違いではありません)

Mozc

Mozc (AUR) は、Google日本語入力 のオープンソース版です。その辞書は Google日本語入力とは異なっており比較して貧弱ですが、その範囲においては、一文まるごとなど複数文節の一括変換の品質が高いと言われています。他に、サジェスト機能などの特徴があります。Mozc は公式には ibus にしか対応していませんが、macuim が uim-mozc プラグインを提供しており、AUR の mozc-svnAURmozc-utAUR で利用可能です。

  • mozc-svnAUR
    • Mozc 公開 svn リポジトリを使用してビルドします。uim-mozc プラグインのビルドも対応しています。
      ノート: もし、Mozc を使うけど uim は使わない (ibus を使う) という場合は、mozc-svn を使うべきではないでしょう。mozc-svn は mozc とほとんど同じであり (公開されている svn リポジトリは実際は trunk ではなく mozc の公開バージョンがアップするタイミングでのみ更新されています)、makepkg にかかる時間はおそらく mozc-svn の方が長くなります。
  • mozc-utAUR
    • Mozc に Mozc UT 辞書を追加します。これにより 35 万語以上がオリジナル辞書に追加されます。uim-mozc プラグインのビルドにも対応しています。
      ノート: mozc-ut のビルドには Mozc UT 辞書シードの生成のために更に長い時間がかかります。

各パッケージは以下のように構成されています:

パッケージ mozc mozc-svn mozc-ut 説明
グループ名 mozc-im mozc-im-svn mozc-im-ut
コンポーネント mozc mozc-svn mozc-ut Mozc サーバ
ibus-mozc ibus-mozc-svn ibus-mozc-ut IBus 用モジュール (任意)
N/A uim-mozc-svn uim-mozc-ut uim 用モジュール (任意)
N/A fcitx-mozc-svn N/A Fcitx 用モジュール (任意)
emacs-mozc emacs-mozc-svn emacs-mozc-ut Emacs 用 Mozc (任意)
Unofficial user repository を使う

Mozc の Unoficcial user repository が用意されています。これを使用する場合は以下を /etc/pacman.conf に追加します。

[pnsft-pur]
Server = http://downloads.sourceforge.net/project/pnsft-aur/pur/$arch
ノート: 用意されているのは x86_64 用パッケージのみです。

インストールするパッケージは以下のようにグループ指定で選択することができます:

# pacman -S mozc-im (または mozc-im-svn / mozc-im-ut)

または、例えば以下のように直接指定します:

# pacman -S uim-mozc-svn emacs-mozc-svn
PKGBUILD を使って Mozc をコンパイル (uim から Mozc を使う)
ビルドの準備

Mozc は依存パッケージの他に、ビルドするために以下のパッケージが必要です:

Mozc のインストール前に、zinnia を AUR からインストールしてください (yaourt などの AUR 支援ツールによっては Mozc ビルド時に自動的にインストールされます)。

PKGBUILD の編集

まず mozc-svn の tarball を AUR から入手するか、yaourt のような AUR ツールを使用し、PKGBUILD を編集します。uim-mozc を有効にするには、以下のように _uim_mozc の行をコメントから外してください。ibusを使用しないなら、_ibus_mozc の行をコメントアウトしてください:

## You can choose the input method framework to use either ibus, uim or both.
## If you will be not using ibus, comment out below.
#_ibus_mozc="yes"
## If you will be using uim, uncomment below.
_uim_mozc="yes"

Emacs で mozc.el を使用して日本語入力を行う場合は、_emacs_mozc の行をコメントから解除してください:

## If you will be using mozc.el on Emacs, uncomment below.
_emacs_mozc="yes"
ビルドおよびインストール

PKGBUILD の編集が終わったら保存し、ビルド及びインストールします:

$ makepkg -s -i
uim への Mozc の登録

uim のアップグレードや (再) インストールのたびに以下のコマンドを実行して mozc を (再) 登録する必要があります。

# uim-module-manager --register mozc
Tips
ASCII キーボードで CapsLock キーを英数キーとしても使用できるようにする

Mozc のプリセットのキーバインドや多くの日本語入力メソッドでは、変換前入力中の英数入力切り替えは、英数キー、ひらがな/カタカナキー、無変換キーなどに割り当てられていますが、ASCII キーボードにそれらはありません。CapsLock キーに英数キーを割り当てることで日本語キーボードと同じように使用できます (Mozc は CapsLock キーを認識しないようです)。

以下の設定では、OADG キーボードと等価な、Eisu_toggle を CapsLock キーに、Caps_Lock を Shift + CapsLock キーに割り当てる例です。

警告: この設定はデスクトップ全体に作用します。

~/.Xmodmap を以下のように編集します:

keycode 66 = Eisu_toggle Caps_Lock
clear Lock

設定

以下を ~/.xprofile、~/.xinitrc、~/.xsession などに設定します:

環境変数

export GTK_IM_MODULE='uim'
export QT_IM_MODULE='uim'
uim-xim &
export XMODIFIERS=@im='uim'

ツールバーユーティリティ

UimToolbar を使用する場合は、以下のうちの一つを追加します。

uim-toolbar-gtk/qt

ウィンドウとして表示されるツールバーを使用する場合。

Gtk2 用:

uim-toolbar-gtk &

Gtk3 用:

uim-toolbar-gtk3 &

Qt 用:

uim-toolbar-qt4 &

uim-toolbar-gtk-systray

システムトレイ (通知エリア) に表示されるツールバーを使用する場合。

Gtk2 用:

uim-toolbar-gtk-systray &

Gtk3 用:

uim-toolbar-gtk3-systray &

パネルアプレット

GNOME、Xfce、あるいは KDE を使用している場合、パネルアプレットのツールバーも使用できます。Xfce の場合には xfce4-xfapplet が必要です。

uim の初期設定

以下のコマンドで uim の設定ウィンドウが表示されます :

$ uim-pref-gtk (または、uim-pref-gtk3/uim-pref-qt4)

「全体設定」の「標準の入力方式」で、Anthy、Anthy (UTF-8)、または Mozc を選択します。

ノート: 初めて Mozc をインストールした直後は、Mozc は選択できません。これは Mozc が「使用可能にする入力方式」で有効になっていないためです。その右の「編集」ボタンをクリックして Mozc を有効にしてください。


uim-xim を起動するか、X の再起動で uim を使用して日本語が入力できるようになります。

Emacs で 日本語を入力する

このセクションでは、uim.elmozc.el、および anthy.el を使用する場合について説明します。

uim.el を使う

uim は uim.el を提供しており、Emacs 上で uim を使用して日本語を入力できます。ここでは Emacs 上で uim を、文字エンコーディング UTF-8 で使用する設定を説明します。

詳細は 公式 wiki 参照してください。

LEIM かマイナーモードか

uim.el を使用する場合、直接マイナーモードで使用するか、LEIM (Library of Emacs Input Method) を使用するかを選択できます。uim.el とそれ以外の IM をよく切り替えて使う場合は LEIM フレームワークを使用してください。

マイナーモードで使うための設定

マイナーモードで使用する場合は、以下の設定を .emacs.d/init.el あるいはその他の Emacs カスタム設定用ファイルに追加します。

;; read uim.el
(require 'uim)
;; uncomment next and comment out previous to load uim.el on-demand
;; (autoload 'uim-mode "uim" nil t)

;; key-binding for activate uim (ex. C-\)
(global-set-key "\C-\\" 'uim-mode)
LEIM で使うための設定

LEIM で使用する場合は、以下の設定を .emacs.d/init.el あるいはその他の Emacs カスタム設定用ファイルに追加し、使用するかな漢字変換エンジンをデフォルトに指定します。

;; read uim.el with LEIM initializing
(require 'uim-leim)

;; set default IM. Uncomment the one of the followings.
;(setq default-input-method "japanese-anthy-utf8-uim") ; Anthy (UTF-8)
;(setq default-input-method "japanese-mozc-uim")       ; Mozc
既定の文字エンコーディングの指定

uim.el はデフォルトの文字エンコーディングを EUC-JP としていますが、UTF-8 を使用したい場合は以下の設定を追加します。

;; Set UTF-8 as preferred character encoding (default is euc-jp).
(setq uim-lang-code-alist
      (cons '("Japanese" "Japanese" utf-8 "UTF-8")
           (delete (assoc "Japanese" uim-lang-code-alist) 
                   uim-lang-code-alist)))
インライン変換候補表示機能をデフォルトで有効にする

インライン変換候補表示機能とは、変換候補を入力中の文字列のすぐ下(もしくはすぐ上)に縦方向に並べて表示させる機能です。インライン変換候補表示機能をデフォルトで有効にする場合は以下の設定を追加します。

;; set inline candidates displaying mode as default
(setq uim-candidate-display-inline t)
入力モードの初期値をひらがな入力にする

uim.el 起動時の入力モードをひらがな入力にする場合は、使用するインプットメソッドに合わせて以下のように編集します。

;; Set Hiragana input mode at activating uim.
(setq uim-default-im-prop '("action_anthy_utf8_hiragana" "action_mozc_hiragana"))
Emacs 上で C-SPC が IM の入力モードの切り替えに使われてしまうのを抑止する

デスクトップ環境上で IM のオン・オフのキー割り当てに C-SPC を設定していると、uim.el がアクティブになっている時 C-SPC は入力モードの切り替えに使用されます。これを抑止し、set-mark-command として使用するには、以下の設定を .emacs.d/init.el あるいはその他の Emacs カスタム設定用ファイルに追加します。

(add-hook 'uim-load-hook
          '(lambda ()
             (define-key uim-mode-map [67108896] nil)
             (define-key uim-mode-map [0] nil)))

mozc.el を使う

Mozc を使用している場合 mozc.el を利用できます。mozc.el を使用する場合は、以下の設定を .emacs.d/init.el あるいはその他の Emacs カスタム設定用ファイルに追加します。

(require 'mozc)  ; or (load-file "/path/to/mozc.el")
(setq default-input-method "japanese-mozc")

mozc.el は変換候補の表示スタイルに、uim のインライン変換候補表示機能と同様の "overlay" モードを提供しています (Mozc r77以降)。この "overlay" モードを利用する場合は、以下の設定を追加します。

(setq mozc-candidate-style 'overlay)

anthy.el を使う

Anthy を使用している場合 anthy.el を利用できます。anthy.el を使用する場合は、以下の設定を .emacs.d/init.el あるいはその他の Emacs カスタム設定用ファイルに追加します。

(load-library "anthy")
(setq default-input-method "japanese-anthy")
ノート: anthy.el は UTF-8 対応が不完全かもしれません。

Emacs 上で C-SPC が IM のオン・オフで使われてしまうのを抑止する

デスクトップ環境上で IM のオン・オフのキー割り当てに C-SPC を設定しており、Emacs 上でもそちらが優先されて C-SPC/C-@ で set-mark-command が使えなくて困る、という場合は、~/.Xresources~/.Xdefaults に以下を追加します。

Emacs*UseXIM: false

トラブルシューティング

Opera で日本語入力ができない

Opera で日本語が入力できない場合は、以下のように環境変数を変更してみてください:

export QT_IM_MODULE='xim'

uim-toolbar-gtk-systray: トレイアイコンがつぶれてます

DE、WM、あるいはパネルアプリケーションの中には、システムトレイ上に、アプリケーションあたり1個のアイコンスペースしか用意しないものがありますが、uim-toolbar-gtk-systray はそこにデフォルトのツールバーアイコン4,5個をまとめて表示しようとするために潰れてしまいます。ツールバーに表示するアイコンを1個だけにすることで解決します。以下は、入力モードアイコンのみを表示させる例です:

  1. uim-pref-gtk を起動する。
  2. 「グループ」の中から「ツールバー」を選択する。
  3. 「入力方式切り替えメニュー」および「ボタン」ボックスの中のすべてのチェックボックスのマークを外す。
  4. 「グループ」の中から、使用する入力メソッド (Anthy、Anthy (UTF-8)、またはMozc)を選択する。
  5. 「ツールバー」ボックスの「有効にするボタン」の右端にある「編集」ボタンをクリックする。
  6. 「入力モード」のみ有効にする。
  7. 「OK」をクリックして設定ウィンドウを閉じる。

トレイアイコンは "あ" (ひらがな入力) または "ー" (直接入力) になっているはずです。

暗いテーマを使用しているので uim のモードアイコンが見えません

暗いテーマ用のアイコンを使用します (uim 1.6.0 以降)。

  1. uim-pref-gtk を起動する。
  2. 「グループ」の中から「ツールバー」を選択する。
  3. 「アイコン」ボックスの「濃色背景向けアイコンを使用する」にチェックマークをつける。
  4. 「OK」をクリックして設定ウィンドウを閉じる。

関連文献

uim
uim official document
uim on wikibooks
Fonts
Japanese fonts showcase
modified Japanese fonts