Uim を使って日本語を入力

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

テンプレート:I18n

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

インストール

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

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

日本語フォント

詳細については Fonts を参照して下さい。

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

高品質かつ無償で利用できるアウトラインフォント。ゴシック体 (サンセリフ体) や明朝体 (セリフ体) グリフを含む。openSUSE の日本語ロケールの標準フォント。
IPAフォントの派生フォント。IPAフォントの問題をコミュニティによって速やかに修正することを目的としている。Ubuntu 日本語ローカライズ版 の日本語標準フォント。
Debian や Fedora の日本語環境、Vine Linux などで採用されている標準フォント。
Mandriva Linux 日本語環境の標準フォント。

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

uim

pacman を使う

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

# pacman -S uim

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

次のような場合、ソースからコンパイルすべきです。

  • Arch リポジトリのアップデートが待ちきれない場合。
  • Anthy (UTF-8) を使いたい場合。uim 1.6.0 時点で、Anthy (UTF-8) のサポートは標準では無効になっています (デフォルトの文字エンコーディングは EUC-JP)。
    ノート: Arch リポジトリでは、uim 1.6.0-2 から、Anthy (UTF-8) のサポートが有効になってビルドされています。
  • KDE を使っていて、uim-qt-tools を使いたい場合。Qt に関するすべてのツールは標準では無効になっています。

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

# pacman -S abs

ABS を更新します:

# abs

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

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

次に、テンプレート:Filename を編集します。代表的なビルドオプションは次の通りです:

Anthy (UTF-8) のサポートを有効にする。
gnome-applet をビルドしない ― gnome-panel を makedepends および optdepends から外せます。
Qt で動作する uim-tools をビルドする (Qt が必要)。
Qt 用の UimQt (Qt immodule サポート) をビルドする (Qt が必要)。

PKGBUILD のサンプルを以下に示します。これは extra/uim 1.6.0 を基に、anthy-utf8 を有効にし、gnome-applet を無効にしたものです。

pkgname=uim-custom
_pkgname=uim
pkgver=1.6.0
pkgrel=1
pkgdesc='Multilingual input method library'
arch=('i686' 'x86_64')
url='http://code.google.com/p/uim/'
license=('custom')
depends=('m17n-lib' 'ncurses' 'gtk2')
makedepends=('pkg-config' 'gettext' 'intltool')
#makedepends=('pkg-config' 'gettext' 'intltool' 'gnome-panel')
optdepends=('gnome-panel: for using the GNOME applet')
options=('!libtool')
install=uim.install
provides=('uim')
conflicts=('uim')
source=("http://uim.googlecode.com/files/${_pkgname}-${pkgver}.tar.bz2"
        'uim-home.patch')
sha1sums=('d27f2ca8136da0702c82f0522911d06b2b8f8ea7'
          'dbcf90f3ea246c5723d715e0935072baa9364cd2')

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"

  # makechrootpkg runs build() as "nobody", which has HOME=/
  # However, UIM's make needs $HOME to be writable.
  patch -p0 < ../uim-home.patch
  export HOME="`pwd`"

  ./configure --prefix=/usr --libexecdir=/usr/lib/uim \
              --with-anthy-utf8 \
              --disable-gnome-applet \
              || return 1
  make
}

package() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  make DESTDIR="${pkgdir}" install
  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${_pkgname}/COPYING"
}

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

$ makepkg -s -i

日本語入力システム

Anthy

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

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

# pacman -S anthy

Modified Anthy

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

警告: Modified Anthy は Anthy (UTF-8) にのみ対応しています。従って uim は "テンプレート:Codeline" でビルドされていなければなりません。
警告: Modified Anthy はオリジナル Anthy に対し、辞書及び学習データの互換性がありません。

PKGBUILD を使って Modified Anthy をコンパイル

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

  • G-HAL氏によって作成されているパッチの当てられたAnthy
  • UTSUMI氏によって作成されている巨大な辞書。

G-HAL 氏のパッチは自動ダウンロードを許していないので、氏のウェブページから直接手動でダウンロードする必要があります。2010年07月05日現在の安定バージョンは以下のものです:

anthy-9100h.patch13B-23-iconv-ucdict.2010629.alt-depgraph-100603d.alt-cannadic-100603-patch100628.zipdic-201005-patch100614.tar.lzma

「patch13 安定版 系列:」と書かれたセクションにありますので、最新のものを入手してください。

ノート: 2つのアップストリームはいずれも過去のバージョンを残していないか、直接参照できない様になっています。毎回自身で確認し、最新のものを使用するようにしてください。めんどくさいですか? じゃあ、mozc を試してみてください。

サンプルの PKGBUILD を以下に示します:

pkgname=modified-anthy
_pkgname=anthy
pkgver=20100710
_pkgver=9100h
_ghalarc="anthy-9100h.patch13B-23-iconv-ucdict.2010629.alt-depgraph-100603d.alt-cannadic-100603-patch100628.zipdic-201005-patch100614.tar.lzma"
_utver=20100710
pkgrel=1
pkgdesc="Hiragana text to Kana Kanji mixed text Japanese input method"
arch=("i686" "x86_64")
url="http://sourceforge.jp/projects/anthy/"
license=('LGPL' 'GPL')
depends=('glibc')
options=('!libtool' 'force')
provides=("anthy=${_pkgver}")
conflicts=('anthy')
source=(${_ghalarc}
        "http://downloads.sourceforge.net/project/mdk-ut/30-source/source/anthy-ut-patches-${_utver}.tar.bz2")
md5sums=('6be18e8ef5fec087ead4b6ebf798219b'
        'd7321adeaed49dda8b06407c64c91973')

build() {

  cd ${srcdir}

  tar xvf $_ghalarc --lzma

  cd ${srcdir}/${_pkgname}-${_pkgver}

  # UTSUMI dictionalies and patches
  cat anthy-conf.in ${srcdir}/anthy-ut-patches-${_utver}/ghal-patch/conf > anthy-conf.in.new || return 1
  mv -f anthy-conf.in.new anthy-conf.in

  cp -f ${srcdir}/anthy-ut-patches-${_utver}/dictionaries/*         alt-cannadic/
  cp -f ${srcdir}/anthy-ut-patches-${_utver}/zipcode/zipcode.t      mkworddic/
  cp -f ${srcdir}/anthy-ut-patches-${_utver}/mkworddic/dict.args.in mkworddic/dict.args.in

  mkdir -p doc-ut
  cp -f ${srcdir}/anthy-ut-patches-${_utver}/AUTHORS \
        ${srcdir}/anthy-ut-patches-${_utver}/ChangeLog.* \
        ${srcdir}/anthy-ut-patches-${_utver}/README* \
        ${srcdir}/anthy-ut-patches-${_utver}/THANKS \
        doc-ut
  autoreconf -fiv || return 1

  ./configure --prefix=/usr --sysconfdir=/etc || return 1
  make EMACS=emacs sysconfdir=/etc || return 1
}

package() {
  cd ${srcdir}/${_pkgname}-${_pkgver}
  make EMACS=emacs DESTDIR=$pkgdir install || return 1
}

最後に、makepkg でビルド及びインストールします:

$ 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 と scim にしか対応していませんが、macuim が uim-mozc プラグインを提供しており、AUR の テンプレート:Package AUR で利用可能です。

PKGBUILD を使って Mozc をコンパイル (uim から Mozc を使う)

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

## 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"
## If you will be using scim, uncomment below.
#_scim_mozc="yes"

日本の郵便番号辞書の構築 (オプション)

mozc は日本郵便 が提供する郵便番号データを辞書シードとしてインポートできます。

郵便番号を辞書に追加するには、PKGBUILD の以下の行をコメントから外してください:

## You can add Japanese zip code provided by Japan Post.
## If you want to use it, uncomment below.
_zipcode="yes"
ノート: 郵便番号データは毎月末に更新されます (ファイル名は同じです)。AUR 上の PKGBUILD が最新のデータに対応しておらず、makepkg 時にチェックサムエラーが出るかもしれません。その場合は テンプレート:Codeline でチェックサムを確認し、PKGBUILD を更新してください。

ビルド、インストール、そして登録

オプションの設定が終わったら、PKGBUILD を保存し、ビルド及びインストールします:

$ makepkg -s -i

最後に、Mozc を uim に登録します。

# uim-module-manager --register mozc
ノート: このコマンドは、uim のアップグレードや (再) インストールのたびに必要です。

Mozc をアンインストールしたときは、Mozcを登録解除してください。

# uim-module-manager --unregister mozc

設定

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

環境変数

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

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

UimToolbar を使用する場合は、以下のうちの一つを追加してください。

uim-toolbar-gtk/qt

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

uim-toolbar-gtk &

uim を テンプレート:Codeline でビルドしている場合は、Qt用ツールバーも使えます:

uim-toolbar-qt &

uim-toolbar-gtk-systray

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

uim-toolbar-gtk-systray &

パネルアプレット

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

uim の初期設定

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

$ uim-pref-gtk

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

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


テンプレート:Codeline を起動するか、X の再起動で uim を使用して日本語が入力できるようになります。

Emacs で uim を使う

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

詳細は 公式 wiki をご覧ください。

なお、Anthy も Mozc もそれぞれ Emacs で日本語入力を行うフロントエンド anthy.el や mozc.el を提供しています。Emacs 使用中にかな漢字変換エンジンを切り替えたくなる場合は、uim.el を使ったほうがいいかもしれません。

LEIM かマイナーモードか

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

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

マイナーモードで使用する場合は、以下の設定を テンプレート:Filename あるいはその他の 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)
;; prevent uim hooks C-SPC when uim-mode is activated
(global-set-key "\C-\ " 'set-mark-command)

LEIM で使うための設定

LEIM で使用する場合は、以下の設定を テンプレート:Filename あるいはその他の 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 を使用する Anthy (UTF-8) や Mozc を使用する場合は都合が悪いので UTF-8 に変更します。以下の設定を テンプレート:Filename あるいはその他の Emacs カスタム設定用ファイルに追加してください。

;; 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)))

入力モードの初期値をひらがな入力にする

uim.el 起動時の入力モードをひらがな入力にする場合は、以下の設定を テンプレート:Filename あるいはその他の Emacs カスタム設定用ファイルに追加してください。

Anthy (UTF-8):

;; Set Hiragana input mode at activating uim with anthy (utf-8).
(setq uim-default-im-prop '("action_anthy_utf8_hiragana"))

Mozc:

;; Set Hiragana input mode at activating uim with mozc.
(setq uim-default-im-prop '("action_mozc_hiragana"))

Emacs 上で C-SPC が IM のオン・オフで使われてしまうのを防ぐ

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

Emacs*UseXIM: false

トラブルシューティング

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

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

export QT_IM_MODULE='xim'

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

freedesktop.org のシステムトレイ仕様では、ひとつのアプリケーションに与えるスペースはアイコン1個分のみとなっていますが、uim はそこにデフォルトのツールバーアイコン4,5個をまとめて表示しようとするために潰れてしまいます。ツールバーに表示するアイコンを1個だけにすることで解決します。以下は、入力モードアイコンのみを表示させる例です:

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

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

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

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

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

関連文献

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