日本語OpenVMS
ユーザ・キー定義 利用者の手引き


前へ 次へ 目次 索引



第 4 章
PROFILE

この章では,PROFILEについて詳しく説明します。

4.1 PROFILEとは?

PROFILEは,かな漢字変換におけるキー定義以外の付加情報が書かれたファイルです。ユーザは,システムが提供するPROFILE,ユーザ独自のPROFILEのどちらでも使うことができます。

PROFILEは通常のテキスト・ファイルで,INDEXとそれに対応するVALUEの 1対1対応の形で,情報が書き込まれています。IMLIB を使うアプリケーションは, PROFILEに書かれた情報を使って,かな漢字変換の動作を決定します。

4.2 標準のPROFILE

通常,標準のPROFILEとして,IM$DEFAULTS:IM$PROFILE.DATが使われます。論理名IM$DEFAULTSは,


 
   IM$DEFAULTS=SYS$LOGIN:,SYS$LIBRARY: 
 

と定義されていますので,まず SYS$LOGIN:IM$PROFILE.DATが検索され,それが存在しないときにSYS$LIBRARY:IM$PROFILE.DATが使われます。したがって,ユーザ独自のPROFILEを使うときには,ディレクトリに SYS$LOGIN:IM$PROFILE.DATというPROFILEを置いてください。また,PROFILEファイルは,論理名IM$PROFILEを使って直接指定することもできます。

4.3 PROFILE の構文規則

PROFILEの個々のINDEXとVALUEの定義はテキストファイルの1行の中で行われます。INDEXとVALUEはコロン(:)をはさんだ形で以下のように書かれます。


    INDEX-STRING : VALUE-STRING 

INDEX-STRINGとVALUE-STRINGで使うことのできる文字は,以下の通りです。

スペース文字とタブ文字はセパレータとして使われます。INDEX-STRING中にはセパレータを含むことはできませんが,VALUE-STRING中にはセパレータを含むことができます。ただし,セパレータは,VALUE-STRINGの最初の文字と最後の文字に使うことはできません。

1行中で,感嘆符(!)またはシャープ記号(#)以降の文字は,注釈として扱われます。

PROFILEの中でINDEXに指定される文字列は,大文字と小文字が区別されませんので,大文字と小文字のどちらを使っても,同じものとして扱われます。これに対してVALUE 文字列は,大文字と小文字が別の文字として扱われますので,指定するときには大文字と小文字を確実に区別しなければなりません。

INDEXにワイルドカードを使うことはできません。

4.4 共通に使用されるINDEX

複数のアプリケーションで共通に使用するためのINDEXとそれに対応するVALUEが定められています。ここではそれらの説明をします。アプリケーションは,できる限り共通のINDEXで指定した動作をするように作られていますので,ここで示される INDEXに対応するVALUEを変えることによって,IMLIBをサポートするすべてのアプリケーションの動作が変わります。

共通に使用されるINDEXを以下に示します。かな漢字変換に関する共通のINDEXは,すべて"DEC-JAPANESE."で始まります。


共通に使用されるINDEX

DEC-JAPANESE.CHAR.Codeset
VALUE: deckanji, sdeckanji, eucjp, sjis
説明: アプリケーションが使用する漢字コードセットを指定します。
deckanjiはDEC漢字,sdeckanjiはSuperDEC 漢字, eucjp は日本語EUC,sjisはシフトJIS です。省略時設定はDEC漢字です。


DEC-JAPANESE.CHAR.jisKana
VALUE: on | off (小文字)
説明: コードセットとして DEC 漢字を使用しているときに半角カナを使用するかどうかを指定します。


DEC-JAPANESE.DISP.currentClauseRendition
VALUE: none | bold | blink | reverse | underline (小文字)
説明: 漢字変換時に,現在の文節に付けられるビデオ属性を指定します。


DEC-JAPANESE.DISP.inputRendition
VALUE: none | bold | blink | reverse | underline (小文字)
説明: 文字入力時に,変換範囲にある文字に付けられるビデオ属性を指定します。


DEC-JAPANESE.DISP.kanaRendition
VALUE: none | bold | blink | reverse | underline (小文字)
説明: ひらがな,カタカナ,全角,半角変換時に,変換範囲に付けられるビデオ属性を指定します。 


DEC-JAPANESE.DISP.leadingClauseRendition
VALUE: none | bold | blink | reverse | underline (小文字)
説明: 漢字変換時に,現在の文節より前の文節に付けられるビデオ属性を指定します。


DEC-JAPANESE.DISP.preEditColumn
VALUE: current | 整数 (小文字)
説明: かな漢字変換を行うスクリーン上のカラムを示します。
currentは現在カーソルがあるカラムを示します。整数はスクリーン上のカラム位置を数字で指定するときに使います。


DEC-JAPANESE.DISP.preEditRow
VALUE: current | top | bottom | 整数 (小文字)
説明: かな漢字変換を行うスクリーン上の行を示します。
topは1行目,bottomは最下行,currentは現在カーソルがある行を示します。整数はスクリーン上の行番号を数字で指定するときに使います。


DEC-JAPANESE.DISP.trailingClauseRendition
VALUE: none | bold | blink | reverse | underline (小文字)
説明: 漢字変換時に,現在の文節より後の文節に付けられるビデオ属性を指定します。


DEC-JAPANESE.ECHO.ascii
VALUE: hankaku | zenkaku (小文字)
説明: アルファベット文字を入力したときに半角で表示されるか全角で表示されるかを指定します。


DEC-JAPANESE.ECHO.autoRomanKana
VALUE: on | off (小文字)
説明: 入力時にローマ字から指定された字種への自動変換を行うかどうかを指定します。自動ローマ字かな変換した時のエコー字種は,DEC-JAPANESE.ECHO.kana で指定されたものが使われます。


DEC-JAPANESE.ECHO.kana
VALUE: jiskana | hiragana | katakana (小文字)
説明: カナが入力されたときの表示方法を指定します。
jiskanaは半角のカナを,hiraganaとkatakanaは全角を意味します。


DEC-JAPANESE.ECHO.romkanaDB
VALUE: ローマ字かな変換テーブルファイルを示す文字列
説明: ローマ字かな変換時に使用するローマ字・かなの対応を記述したファイル名を指定します。
無指定時はライブラリ内部の対応表を使用します。
ローマ字かな変換テーブルファイルのサンプルとして
IM$EXAMPLES:IM$ROMKANA_DB.TEMPLATE
というファイルが用意されています。


DEC-JAPANESE.KEY.keybind
VALUE: KEYBINDファイルを示す文字列
説明: KEYBINDファイルを示す文字列には,必要なら拡張子, ".im$dat" が付加されて使用されます。ただし,拡張子が明示的に指定されたときは指定されたものが使用されます。IMLIB の SET KEYBIND が指定された keybind ファイルのロードに失敗した場合は, DEC_JAPANESE.key.keybind_1 のように "_数字" のついたINDEXを1から9まで順に探します。


DEC-JAPANESE.OUTRANGE.clauseNumber
VALUE: none | rotate | done (小文字)
説明: 現在の文節が最初の文節にあるときに「前文節」キーが押された場合,または現在の文節が最後の文節にあるときに「次文節」キーが押された場合の動作を指定します。
noneのときは何も実行しません。 rotateが指定されると,現在の文節が最初の文節にあるときには最後の文節に,現在の文節が最後にあるときには最初の文節に移動します。
doneのときは,現在の変換を終了してアプリケーション指定の動作を実行します。


DEC-JAPANESE.OUTRANGE.clauseSize
VALUE: none | rotate | done (小文字)
説明: 文節の大きさが最小になっているときに「文節縮小」キーが押された場合,または文節の大きさが最大になっているときに「文節拡大」キーが押された場合の動作を指定します。
noneのときは何も実行しません。 rotateが指定されると,文節の大きさが最小のときには最大に,文節の大きさが最大のときは最小になります。
doneのときは,現在の変換を終了してアプリケーション指定の動作を実行します。


DEC-JAPANESE.OUTRANGE.cursorPosition
VALUE: none | done (小文字)
説明: カーソルが最初の文字にあるときに「左移動」キーが押された場合,またはカーソルが最後の文字にあるときに「右移動」キーが押された場合の動作を指定します。
noneのときは何も実行しません。 doneのときは,現在の変換を終了してアプリケーション指定の動作を実行します。

PROFILEの例を 例 4-1 に示します。

例 4-1 JVMSキー用のPROFILE

    DEC-JAPANESE.CHAR.jisKana : off 
    DEC-JAPANESE.DISP.currentClauseRendition : reverse 
    DEC-JAPANESE.DISP.inputRendition : bold 
    DEC-JAPANESE.DISP.kanaRenditon : bold 
    DEC-JAPANESE.DISP.leadingClauseRendition : none 
    DEC-JAPANESE.DISP.preEditColumn : current 
    DEC-JAPANESE.DISP.preEditRow : current 
    DEC-JAPANESE.DISP.trailingClauseRendition : none 
    DEC-JAPANESE.ECHO.ascii : hankaku 
    DEC-JAPANESE.ECHO.autoRomanKana : off 
    DEC-JAPANESE.ECHO.kana : hiragana 
    DEC-JAPANESE.KEY.keybind : IM$KEY_JVMS_LEVEL2 
    DEC-JAPANESE.KEY.keybind_1 : IM$KEY_JVMS 
    DEC-JAPANESE.OUTRANGE.clauseNumber : rotate 
    DEC-JAPANESE.OUTRANGE.clauseSize : none 
    DEC-JAPANESE.OUTRANGE.cursorPosition : done 


第 5 章
入力シーケンスのカスタマイズ

前章までは,かな漢字変換のキーの割り当ての変更およびPROFILEの変更という比較的簡単にキー定義を変更する方法について説明してきました。この章以降の章では,より細かいキー定義の変更(入力シーケンスのカスタマイズ)を行う方法が説明されています。

入力シーケンスのカスタマイズは,かな漢字変換入力に関する基本的な知識が必要です。少しの変更でも,かな漢字変換の動作全体に影響を与えることがありますので,注意してください。

キー定義のシンタックスは 付録 B を参照してください。

5.1 KEYとACTION

キー定義はキーボード上のキーの名称と,実行される機能(ACTION)の関係を記述したKEYBINDファイルを作ることで行います。1つのKEYに対して複数のACTIONを定義することも,複数のキーに対して1つのACTIONを定義することもできます。

例 5-1 にKEYBINDファイルの中で,KEYとACTIONの関係を記述した部分を示します。この例では[Ctrl/K]キーを押すとカタカナ変換, [Ctrl/L]キーを押すとひらがな変換をするように記述されています。また例の3行目に示されるように,コンマ(,)で区切ることで複数のACTIONを指定することもできます。

例 5-1 KEYとACTIONの記述

    CTRL_K : KATAKANA; 
    CTRL_L : HIRAGANA; 
    TYPING_KEYS : START, ECHO; 

5.2 定義できるキーの範囲

IMLIBのかな漢字変換キー定義が対象とするキーは,VT280シリーズ端末およびVT382 端末でサポートされるすべてのキーおよびいくつかの特殊キーです。IMLIBがサポートするキー名は, 付録 A を参照してください。IMLIBがサポートするキー名のうち注意が必要なキーについて以下に説明します。

5.3 キーの組合せの表記法

KEYBINDファイルには,複数のキーの組合せで1つの機能を実行させたり,2つのキーに同じ機能を持たせるような記述をすることができます。 例 5-2 に組み合わせたキーの記述の例を示します。

複数のキーの組合せで1つの機能を実行させるにはキー名をプラス記号(+)でつなぎます。例の1行目は,KEYBINDファイルの中の1行を抜き出したもので, [PF1]キーを押した後[KP7]キーを押すことで,カタカナ変換を実行することを指示しています。

2つのキーのどちらを押しても同じ機能を実行させるにはキー名をコンマ(,)でつなぎます。例の2行目は,KEYBINDファイルの中の1行を抜き出したもので,[Ctrl/L]キーを押しても,[Ctrl/H]キーを押してもひらがな変換を実行することを指示しています。

また例の3行目のようにかっこを使ってより複雑なキーの記述をすることもできます。この例は,[PF1]キーを押した後[Ctrl/F]キーを押しても,あるいは [Ctrl/G]キーを押した後[Ctrl/F]キーを押しても,半角変換を実行することを指示しています。

例 5-2 組み合わせたキーの記述

    PF1 + KP7 : KATAKANA; 
    CTRL_L, CTRL_H : HIRAGANA; 
    (PF1, CTRL_G) + CTRL_F : HANKAKU; 

5.4 ACTIONとその動作

かな漢字変換を行うための個々の機能のことをACTIONと呼びます。かな漢字変換のキー定義を行う時,キーに対応する機能をACTIONの組合せで記述します。

ACTIONによって実行される機能は,細かく規定されています。ユーザはACTIONによって,かな漢字変換におけるアプリケーションの動作をコントロールできます。

5.5 かな漢字変換の内部状態

かな漢字変換を実行しているときには,内部的にいくつかの状態が存在します。ACTION の実行は内部状態によって変わりますので,KEYBINDファイルをカスタマイズするユーザはこれらの内部状態を意識しておかなければなりません。 図 5-1 は,内部状態と状態間の遷移を説明しています。

図 5-1 かな漢字変換の内部状態と状態間の遷移


5.6 状態間の移動

図 5-1 に示される状態の間の遷移は,ACTIONやその他の条件によって起こります。ここでは,状態間の遷移を引き起こす条件について説明します。

表 5-1 はACTIONによる状態間の遷移を示す表です。この表は,ACTIONを実行する前の状態と実行後の状態をまとめたものです。表の中で使われている表記は以下の通りです。

表 5-1 状態間の遷移
ACTION 初期状態 入力状態 かな変換状態 漢字変換状態
START 入力状態 (1) error error error
START_SELECTED 入力状態 (1) error error error
ECHO error 入力状態 (2) error error
カーソル error 入力状態 (2) error error
かな変換 error かな変換状態 (3) かな変換状態 (6) かな変換状態 (13)
CONVERT error 漢字変換状態 (4) 漢字変換状態 (7) no action
DONE no action 初期状態 (5) 初期状態 (8) 初期状態 (11)
文節操作 error error error 漢字変換状態 (10)
RESTORE_STRING error no action 入力状態 (9) 入力状態 (12)
RESTORE_ECHO error かな変換状態 (3) かな変換状態 (6) かな変換状態 (13)


前へ 次へ 目次 索引