インストール


  1. Cannaワイド文字対応版のセットアップ
  2. 変換サーバー,ツールキットの選択
  3. Makefile等の修正(通常は不要)
  4. コンパイル
  5. インストール
  6. キーなどの設定
  7. 動作チェック

Cannaワイド文字対応版のセットアップ

nicolatterはキー配列を変更する関係で,オリジナルのCannaは使えません。Q's Nicolatterに添付のワイド文字対応化パッチを適用し,Cannaをコンパイル,インストールしなおす必要があります。

Cannaワイド文字対応化パッチは公開関数を変更しないので,元々あるCannaを置き換えても他のソフトに影響はありません。

  1. アーカイブの入手

    Cannaのソースは、Canna から入手します。

  2. 展開,パッチを当てる
    /opt$ tar xjvf Canna37p1.tar.bz2
    /opt$ cd Canna37p1
    /opt/Canna37p1$ patch -s -p1 < ~/src/nicolatter-current/patch/Canna37p1-q1.diff
        
  3. コンパイル

    コンパイル、インストール手順はCannaのINSTALL.jpファイルに書かれています。

    /opt/Canna37p1$ xmkmf && make canna
        
  4. インストール
    /opt/Canna37p1$ su
    /opt/Canna37p1# make install && make install.man
        

上記で、/usr/local/canna以下にインストールされます。

古いlibRKC*, libcanna*が/usr/libなどにあるとプログラムの実行時に古いライブラリが使われることがあるので、これらのファイルを削除します。

その後、必要に応じてシステムに新しいライブラリファイルを認識させます。/etc/ld.so.confを書き換えてldconfigを実行するか、/usr/libにリンクを張ります。


変換サーバー,ツールキットの選択

nicolatterをコンパイルする前に,configureコマンドで変換サーバー,ツールキットを選択します。

変換サーバーはWnn, Cannaのいずれか一方,または両方を選択できます。ツールキットはGtk+, Xtから選びます。

configureコマンドの例を示します。

/tmp/nicolatter-x.y.z$ perl configure
usage:
  configure (gtk|xt) [canna] [wnn]

  gtk, xtはどちらか一方を選択,canna, wnnは少なくても一つを選択

/tmp/nicolatter-x.y.z$ perl configure xt canna wnn
Looking for wnnenvrc...found.
Looking for jllib.h....found.
Looking for libwnn.....found.

nicolatter was configured as follows:

toolkit: Xt
    wnn: use
   wnnenvrc: /usr/local/lib/wnn/ja_JP/wnnenvrc
    jllib.h: /usr/X11R6/include/wnn/jllib.h
     libwnn: /usr/X11R6/lib/libwnn.a
  canna: use
Modified config.h
Modified Makefile.conf
Modified nicolatter/Makefile

Makefile等の修正

この節はconfigureコマンドが失敗した場合以外は読み飛ばして構いません。

config.h

 nicolatterは変換サーバーとしてWnn, Cannaが使えます。config.hでこれに関連した設定をします。

 Wnnを使う場合には,あらかじめWnn環境ファイルとヘッダーファイル,ライブラリファイルの場所を確認しておきます。

$ locate wnnenvrc
/usr/doc/wnn/manual.en/2.env/wnn/wnnenvrc
/usr/doc/wnn/manual.en/2.env/wnn/wnnenvrc.gz
/usr/doc/wnn/manual/2.env/wnn/wnnenvrc.gz
/usr/lib/wnn/ja_JP/wnnenvrc                     <--これが環境ファイル
/usr/lib/wnn/ja_JP/wnnenvrc.omr
/usr/lib/wnn/ja_JP/wnnenvrc.rem
/usr/lib/wnn/ja_JP/wnnenvrc.rev
/usr/lib/wnn/ja_JP/wnnenvrc_R
/usr/lib/wnn/ja_JP/wnnenvrc_R.omr
/usr/lib/wnn/ja_JP/wnnenvrc_R.rem
/usr/man/ja/man5/wnnenvrc.5

$ locate jllib.h
/usr/include/wnn/jllib.h                        <--これがヘッダーファイル

$ locate libwnn.               <-- Wnn6だとlibwnn6のときがある
/usr/lib/libwnn.a                               <--これがライブラリファイル
/usr/lib/wnn/ja_JP/libwnn.msg

 config.hをテキストエディタで開き,次のように,利用しない変換サーバーについて,#defineを#undefに書き換えます。

 USE_WNN, USE_CANNAの両方を定義(#define)して,設定ファイルによってnicolatter起動時に選択することもできます。

nicolatter/Makefile

 変換サーバー・ライブラリの選択,UIライブラリ(gtk+, Xt)の選択をnicolatter/Makefileでします。やはり利用しない変換サーバーに関連する部分をコメントアウト(半角の#を行頭に付ける)します。

 gtk+を使う場合はnicolatter/Makefileで次のようにコメントアウトします。

    CFLAGS = $(CCFLAGS) -DUSE_GTK -DGTK_DISABLE_COMPAT_H `gtk-config --cflags`
    LDFLAGS = `gtk-config --libs` $(WNNLIB) $(CANNALIB)
    MISCFILES = ../misc-gtk.o ../window.o

    # CFLAGS = $(CCFLAGS)
    # LDFLAGS = $(LIBDIR) -lXaw -lX11 -lstdc++ $(WNNLIB) $(CANNALIB)
    # MISCFILES = ../window-xt.o

 Xtを使う場合は次のようにします。

    # CFLAGS = $(CCFLAGS) -DUSE_GTK -DGTK_DISABLE_COMPAT_H `gtk-config --cflags`
    # LDFLAGS = `gtk-config --libs` $(WNNLIB) $(CANNALIB)
    # MISCFILES = ../misc-gtk.o ../window.o

    CFLAGS = $(CCFLAGS)
    LDFLAGS = $(LIBDIR) -lXaw -lX11 -lstdc++ $(WNNLIB) $(CANNALIB)
    MISCFILES = ../window-xt.o

コンパイル

 設定プログラムのnicoconf, keyconfはgtk+専用になっているので,gtk+がインストールされていない場合は,nicolatterだけコンパイル,インストールします。

コンパイル途中に警告が出ますが,特に気にする必要はありません。


インストール

 実行ファイルをインストールします。

    nicolatter-x.y.z$ su
    nicolatter-x.y.z# make install

 設定ファイルをホームディレクトリ以下にコピーします。

  1. ~/.nicolatterディレクトリを作成します。
        $ mkdir ~/.nicolatter
    
  2. rcディレクトリにある設定ファイル,キー配列ファイルなどを~/.nicolatterディレクトリにコピーします。
        nicolatter-x.y.z/rc$ cp global nicola.keymap common.keymap symbols.def ~/.nicolatter
    

キーなどの設定

 gtk+があって,nicoconfをコンパイルしたときは,nicoconfで設定します。

 nicoconfがないときは,テキストエディタで~/.nicolatter/globalファイルを編集します。設定ファイルを直接編集する

~/.canna

(2005.9.11 この節追加。)

Q's NicolatterとCannaを組み合わせる場合、機能キーの設定は、~/.cannaでします。Cannaの初期設定では、Ctrl-O が日本語モードに入るキーになっていますが、GNOMEアプリケーションなどでは、ファイルダイアログが開いてしまいます。

●要検証

    (global-unbind-key-function 'japanese-mode)
    (global-unbind-key-function 'alpha-mode)
    ; use F4 instead:
    (set-key 'alpha-mode "\F4" 'japanese-mode)
    (set-key 'empty-mode "\F4" 'alpha-mode)

動作チェック

 まず,変換サーバーがWnnのときはjserver, Cannaのときはcannaserverが動いているか確認します。
$ ps ax |grep jserver
14966  p0 S    0:00 grep jserver
  304  ?  SW   0:04 (jserver)
$ ps ax |grep canna
  288  ?  S    0:00 /usr/sbin/cannaserver
 ktermを二つ開き,一方のktermでnicolatterを実行します。nicolatterはデバッグメッセージを大量に出力することがあるので,ウィンドウを一つあてがってやります。
$ nicolatter
もう一方のktermからテスト用のプログラムを実行します。
nicolatter-x.y.z$ cd ximtest
nicolatter-x.y.z/ximtest$ ./ximtest nicolatter root root
 これで正常に動作していたら,次はxeditぐらいで試します。
    $ XMODIFIERS=@im=nicolatter xedit
 xeditが起動し,ウィンドウ左下に小さなステータスウィンドウが表示されていれば動作しています。仮名キーにしたキー操作,例えば[Ctrl] + [Space]で日本語モードに移行するので,何か打ってみましょう。

 ウィンドウ左下にステータスウィンドウが表示されない場合,リソースの設定でXIMが無効になっていることが考えられます。~/.Xdefaultsファイルを開き,次の行を追加します。

*international: True
*inputMethod: nicolatter
 正常に動作するようなら,Xの起動スクリプトを書き換えて,X開始時にnicolatterを起動するようにします。startxでXを開始するなら ~/.xinitrc ,xdm/kdm/gdmなどでXを開始するなら ~/.xsession に書きます。
    if [ -x /usr/local/bin/nicolatter ]; then
        /usr/local/bin/nicolatter -D
        export XMODIFIERS="@im=nicolatter"
    fi