cs00 ユーザーズガイド

第 7 章 かな漢字変換サーバーインタフェースモジュールのカスタマイズ

この章では、かな漢字変換サーバーインタフェースモジュール xci と、cm のカスタマイズについて説明します。

xci のカスタマイズ

xci は、ワークスペースメニューから「日本語入力システムの切替」の「cs00(htt) に設定」を選択するか、cs00setup(1) を実行した時に自動的に設定されるかな漢字変換サーバーインタフェースモジュールです。

xci を使用している場合、カスタマイズできるファイルは、変換サーバーとの接続方法やデータ入力キーの機能の割り当てに関連する resources ファイルです。以下に、resources ファイル、変換テーブルファイルの順にカスタマイズ方法を説明します。


注 -

日本語入力サーバーのかな漢字変換サーバーインタフェースモジュールに関する設定については、マニュアルページ htt(1) を参照してください。


検索順序

カスタマイズに使用されるファイルは、次の順で検索され、先に見つかったファイルが有効となります。

  1. $MLEPATH/locale/cs00

  2. $HOME/.mle/locale/cs00

  3. /etc/mle/locale/cs00


注 -

locale には、ロケール名が入ります。cs00 の場合、ja または japanese が有効です。


resources ファイルの設定

resources ファイルは、変換サーバーとの接続方法を指定する、変換サーバーのセッションがオープンされるときに参照するデータ入力キーに機能を割り当てる、などさまざまなカスタマイズを行うファイルです。このファイルは、/etc/mle/locale/cs00 にあります。

カスタマイズを行う場合は通常、次の手順に従います。

  1. 各自のホームディレクトリに .mle/locale/cs00 というディレクトリを作成します。(cs00setup(1) を実行すると自動的に作成されます)

    sun% cd
    sun% mkdir -p .mle/locale/cs00
    

  2. ファイルをコピーします。

    sun% cp /etc/mle/locale/cs00/resources ‾/.mle/locale/cs00/resources
    

  3. コピー先の ‾/.mle/locale/cs00/resources を編集します。

    また、環境変数 MLEPATH を設定している場合は、上記 1. から 3. の手順にある すべての ‾/.mle を $MLEPATH の内容に置き換えてカスタマイズすることもできます。


    注意 - 注意 -

    システムを使用しているユーザー全員の環境をカスタマイズする場合は、/etc/mle/locale/cs00 にあるファイルを直接修正してください。/etc/mle/locale/cs00 にあるファイルは原本です。修正前にコピーするなどして取り扱いには十分に気をつけてください。個人で使用する場合は、必ず $HOME/.mle/locale/cs00 を使用してください。


修正した resources の内容は、次に開始される入力セッションから反映されます。

resources ファイルのカスタマイズ例

キー割り当てのカスタマイズ

次に resources ファイルのキー割り当ての変更方法を以下に示します。


例 7-1 resources ファイルの内容 (抜粋)

!
*xci*cs00.bind* preedit.init:        ¥
         Ctrl <Key> space:       CNV_SWITCH() ¥n¥
         Ctrl <Key> at:  CNV_SWITCH() ¥n¥
         Ctrl <Key> o:   IM_KANJI() VIM_HIRA() ¥n¥
         Ctrl <Key> r:   IM_KANJI() VIM_HANALPHA() ¥n¥
         Ctrl <Key> t:   IM_KANJI() VIM_ZENALPHA() ¥n¥
         Ctrl <Key> q:   IM_CODE() ¥n¥
         Ctrl <Key> y:   IM_KANJI() VIM_ZENKANA() ¥n¥
         Ctrl <Key> z:   IM_KANJI() VIM_HANKANA() ¥n¥
                .
                .
*xci*cs00.bind*preedit.edit:        ¥
        <Key> BackSpace:         ERASE_LCHAR() ¥n¥
        :<Key> Delete:   ERASE_LCHAR() ¥n¥
        <Key> Escape:    CS00_ESC_OFF() ¥n¥
        :<Key> R9:               CNV_PREV() ¥n¥
        :<Key> R15:              CNV_NEXT() ¥n¥
                .
                .


resources ファイルのキー割り当てに関する記述には、各入力の状態ごとに入力キーイベントに関する記述 (以降、「入力キー」と記述) と「その入力キーに割り当てられた機能」 (以降、「機能」と記述) が書かれています。ある機能を実行するために使用されるキーが好ましくない場合、入力キーを変更することによって、キー割り当てをカスタマイズすることができます。次に、入力の状態およびキー割り当てについて説明します。


注 -

日本語オン・オフキーの割り当てを変更する場合は、日本語入力サーバー htt の設定と resources ファイル両方の設定の変更が必要です。htt の設定の詳細は、マニュアルページ htt(1) を参照してください。


入力の状態 (リソース)

現在用意されている入力の状態は次のとおりです。

表 7-1 リソース名一覧

入力の状態 (リソース名) 

状態説明 

*xci.locale.cs00.bind.preedit.init

通常の文字入力状態。まだ文字が入力されていない状態 

*xci.locale.cs00.bind.preedit.edit

通常の文字入力状態。文字が入力されているが、変換がされていない状態 

*xci.locale.cs00.bind.preedit.conv

通常の文字入力状態。変換が開始されている 

*xci.locale.cs00.bind.lookup.init

候補一括表示。まだ候補が選択されていない 

*xci.locale.cs00.bind.lookup.choice

候補一括表示。いずれかの候補が選択されている 

上記のリソース名は、それぞれ 1 つの内部状態を表します。入力の状態ごとに、キー割り当てがそれぞれ記述されます。詳細は xci(7) のマニュアルページを参照してください。

キー割り当て

キー割り当ての記述は以下の形式で行われます。

         入力キー:       機能 ¥n

例:
         Ctrl <Key> space: CNV_SWITCH() ¥n
         

入力キーの条件を満たすキー入力が行われた場合に、該当する機能が働きます。この入力キーの記述を変更することによって、より操作しやすくなります。

入力キーの記述は以下の形式で行われます。

  1. None <Key> 代替キー名

  2. 修飾子リスト <Key> 代替キー名


例:
           None <Key> Delete:
           Ctrl <Key> space:

修飾子に関する条件と、代替キーに関する条件の両方が満たされた場合に、入力キーの条件が満たされます。

複数のキー入力に対し機能を割り当てる場合は、上記の 1. または 2. をカンマ「,」で区切って複数記述してください (後述の入力キーの記述例の 4. を参照)。

次に入力キーの記述例を挙げます。

  1. 『CTRL キー』を押した状態で 『A キー』を押した場合に割り当てる。


    	
     Ctrl <Key> A
    
  2. 『CTRL キー』と 『Shift キー』を両方押した状態で 『BackSpace キー』を押した場合に割り当てる。


    	Ctrl Shift <Key> BackSpace
    
  3. 『CTRL キー』を押しているが、『Shift キー』は押していない状態で 『BackSpace キー』を押した場合に割り当てる。


    	
    Ctrl ‾Shift <Key> BackSpace
    
  4. 『CTRL キー』を押した状態で 『A キー』を押し、続いて 『CTRL キー』を押した状態で 『B キー』を押した場合に割り当てる。


    	
    Ctrl <Key> A, Ctrl <Key> B
    
  5. 『CTRL キー』を押した状態で 『A キー』または 『B キー』を押した場合に割り当てる。


    	
    Ctrl <Key> A :
      Ctrl <Key> B :
    
  6. 大文字を発生させるような場合 (通常、『Shift キー』を押している、または 『Caps Lock キー』をロックしている場合) に 『A キー』を押すと、割り当てる。


    	
    :<Key> A
    
  7. Shift キーを押しており、他の修飾子キーが働いていない状態で、A キーを押した場合に割り当てる。


    	
    ! Shift <Key> A
    

    注 -

    resources ファイルのキー割り当てに関する記述には前後関係があり、同じ入力キーに対する指定が複数ある場合、最初に記述されている内容が有効になります。この前後関係は、リソース (各リージョンまたはフィールド内のある状態に対する指定) 単位で有効です。


変換サーバーの初期設定

初期設定値をカスタマイズする方法について説明します。

初期設定の記述方法は次のとおりです。

* xci.locale.cs00.config.NAME: value

NAME は設定項目名で、value は設定値となります。以下に設定項目名と設定値の例を示します。

設定項目名 

設定値 

1 : かな漢入力 

3 : コード入力 

0 : 学習 off 

1 : 学習 on 

VIM 

1: 全角ひらがなモード[ひら] 

2: 全角カタカナモード[カタ] 

3: 半角カタカナモード[カタ] 

4: 全角英数モード[A] 

5: 半角英数モード[A] 

次の記述は、設定項目名の S を「学習 off」に設定した場合の例です。


*xci*cs00.config.S:	 0

cm のカスタマイズ

cm を使用するための設定

cm かな漢字サーバーインタフェースモジュールを使用するには、次の作業が必要です。

  1. まずはじめに cs00setup(1) を実行してください。

  2. $HOME/.dtprofile を編集します。

    次の記述を、

    #
    ###==- Generated by cs00setup to launch XIM for Japanese. == BEGIN 
    == -==##
    # Launch X Input Method Server in this area.
    # You can modify contents of this area. But if you execute
    # setup command of XIMS, this area will be overwritten.
    # Please DO NOT delete the line includes "== BEGIN ==" or "== END 
    ==" in
    # this area.
    # Launch the X Input Method Server.
    if [ "_$DTSTARTIMS" = "_True" ]; then
        _sunximswm="dtwm"
        _file=/usr/openwin/lib/locale/$LANG/imsscript/S599cs00
        if [ -f $_file ]; then
            . $_file
        fi
        unset _sunximswm _file
    fi
    ###==- Generated by cs00setup to launch XIM for Japanese. == END 
    == -==### 

    次のように変更します。

    #
    ###==- Generated by cs00setup to launch XIM for Japanese. == BEGIN 
    == -==##
    # Launch X Input Method Server in this area.
    # You can modify contents of this area. But if you execute
    # setup command of XIMS, this area will be overwritten.
    # Please DO NOT delete the line includes "== BEGIN ==" or "== END 
    ==" in
    # this area.
    # Launch the X Input Method Server.
    if [ "_$DTSTARTIMS" = "_True" ]; then
        LC_ALL=ja ¥
            XFILESEARCHPATH=/usr/openwin/lib/locale/ja/%T/%N%S ¥
            /usr/openwin/bin/htt -if cm -nosm -lc_basiclocale ja &
        unset DTSTARTIMS
    fi
    ###==- Generated by cs00setup to launch XIM for Japanese. == END 
    == -==###

  3. $HOME/.openwin-init を編集します。

$HOME/.openwin-init の次の記述を、

...toolwait /usr/openwin/bin/htt -if xci -lc_basiclocale ja

次のように書き換えます。

...toolwait /usr/openwin/bin/htt -if cm -lc_basiclocale ja

設定した内容は、次にログインした時から有効になります。 [wnn6setup(1)atok8setup(1)cs00setup(1) を実行または、ワークスペースメニューから日本語入力システムを切り替えた場合は、これらの設定は、無効になりますので、注意してください。]

cm かな漢字変換サーバーインタフェースモジュールを使用している場合、カスタマイズできるファイルは、変換サーバーとの接続方法やデータ入力キーの機能の割り当てなどに関連する 4 つのファイルです。以下にその 4 つのファイルのカスタマイズ方法を説明します。


注 -

cm かな漢字変換サーバーインタフェースモジュールは、SPARC のみ利用できます。



注 -

libmle と cs00 を用いた日本語入力では、libmle を使う 1 プロセスについて利用できる変換セッションの数は、最大 512 個となります。従って、cm かな漢字変換サーバーインタフェースモジュールを使用すると、変換セッション数は、最大 512 個となります。ただし、メモリ不足などの原因により、512 個利用できない場合があります。


変換サーバーとの接続方法やデータ入力キーの機能の割り当てなど、カスタマイズできるファイルは、次の 4 つです。

cstab を除く 3 つのファイルは、/etc/mle/locale/cs00 にデフォルトのデータがあります。また、cstab は、/etc/mle/locale にあります。


注 -

locale には、ロケール名が入ります。cs00 の場合、ja または、japanese が有効です。


カスタマイズを行う場合、一般的なカスタマイズとシステムごとのカスタマイズの 2 通りがあります。

一般的なカスタマイズ方法は以下のとおりです。

  1. 各自のホームディレクトリの下に.mle/locale/cs00 というディレクトリを作成します。(cs00setup(1) を実行すると自動的に作成されます)

    sun% cd
    sun% mkdir -p .mle/locale/cs00
    

  2. 修正したいファイルをコピーします。

    sun% cp /etc/mle/locale/cs00/filename ‾/.mle/locale/cs00/filename
    

    cstab の場合は、以下のようになります。

    sun% cp /etc/mle/locale/cstab ‾/.mle/locale/cstab
    

  3. コピーされたファイルを編集します。

    また、上記 1.〜3. の手順の代わりに以下のコマンドを実行することにより、環境変数 MLEPATH を使用して設定する方法もあります。

    sun% setenv MLEPATH dir
    

    dir をカスタマイズしたいファイルがあるディレクトリ名 (フルパス名) で置き換えてください。

    システムごとにカスタマイズする場合は、/etc/mle/locale/cs00/filename または、/etc/mle/locale/cstab を直接修正してください。


    注 -

    /etc/mle/locale にあるファイルはオリジナルですので、修正前にコピーするなどして取り扱いには、十分に気をつけてください。また、このディレクトリにあるファイルを修正すると、システムを使用しているユーザー全員に影響します。個人で使用する場合は、$MLEPATH/locale または $HOME/.mle/locale を使用してください。


検索順序

カスタマイズに使用されるファイルは、次の順で検索され、先に見つかったファイルが有効となります。

  1. $MLEPATH/locale/

  2. $HOME/.mle/locale/

  3. /etc/mle/locale

カスタマイズの例

keybind ファイルのカスタマイズ

ファンクションキーのキー割り当てをカスタマイズする方法について説明します。

キー割り当てのデフォルトのファイルは、/etc/mle/locale/cs00/keybind です。

keybind ファイルの代表的なファンクションキーについて、キー割り当てを変更する例を示します。


例 7-2 keybind ファイルの内容 (抜粋)

#
# Copyright (c) 1991 by Sun Microsystems, Inc. 
#
#
   : 
   : 
#
^b     I       { C : FOCUS_PREV}                       # ctrl-b      
^f     I       { C : FOCUS_NEXT}                       # ctrl-f      
^h     I       { E: ERASE_LCHAR}                       # ctrl-h      
^i     I       { C: FOCUS_LONG}                        # ctrl-i      
^k     I       { E,C: KAKUTEI};¥                       # ctrl-k      
       *       { I,C: SELECT_DONE}                         
^n     I       { E: CNV_HENKAN ;¥                      # ctrl-n      
                  C: CNV_NEXT};¥                   
       S       { I,C: SELECT_NEXT}                                   
^p     I       { E,C: CNV_PREV};¥                      # ctrl-p      
       S       { I,C: SELECT_PREV}                                   
^u     I       { C: FOCUS_SHORT}                       # ctrl-u      


keybind ファイルには、「入力キー」と「そのキーに割り当てられた機能」 (以下「機能」とします) が書かれています。上記の例ではたとえば、行頭の ^b が入力キーを、それ以降の記述が設定される「機能」を示します。

ある機能がユーザーにとって好ましくない場合、入力キーを差し替えることによって、キー割り当てをカスタマイズすることができます。たとえば、^K の確定操作を、^N の操作と入れ替えて操作をしたいとします。その場合、入力キーの ^K と ^N を入れ替えてください。この作業は、vi などのテキストエディタで容易に変更できます。

カスタマイズ作業を行う場合は、ファイルを /etc/mle/locale/cs00/keybind から $HOME/.mle/locale/cs00/keybind にコピーし、そこで編集します。

また、環境変数 MLEPATH を設定している場合は、/etc/mle/locale/cs00/keybind から $MLEPATH/locale/cs00/keybind にコピー、そこで編集することもできます。


注意 - 注意 -

/etc/mle/locale/keybind を変更するとシステムのユーザー全員に影響するため注意が必要です。


修正した keybind の内容は、次に開始される入力セッションから反映されます。

mle コマンドを使用して上記のカスタマイズ作業を行う場合は、keybind ファイル内の後半にある以下のような ¥x で始まる行を修正してください。

¥x08      I      { E     : ERASE_LCHAR }         # ctrl-h
¥x0b      I      { E,C   : KAKUTEI       } ; ¥   # ctrl-k
          *      { I,C   : SELECT_DONE   } 

変換サーバーの初期設定

変換サーバーの初期設定は config ファイルをカスタマイズすることにより行われます。config ファイルをカスタマイズする方法について説明します (config で設定可能な設定項目は変換サーバーによって異なります)。

config ファイルのデフォルトのファイルは、/etc/mle/locale/cs00/config です。

初期設定の記述方法は以下のとおりです。


	
NAME = value

NAME は設定項目名で、value は設定値となります。以下に設定項目名と設定値の例を示します。ここでは cs00 を例とします (設定項目名は変換サーバーによって異なります)。

設定項目名 

設定値 

1 : かな漢入力 

3 : コード入力 

0 : 学習 off 

1 : 学習 on 

VIM 

1: 全角ひらがなモード[ひら] 

2: 全角カタカナモード[カタ] 

3: 半角カタカナモード[カタ] 

4: 全角英数モード[A] 

5: 半角英数モード[A] 

以下の内容は、config ファイルで設定項目名の S を「学習 off」に設定した場合の例です。

#
#       Default Data for Convert Engine
#
S = 0