この章は,PROFILEについて詳しく書かれています。
PROFILEは,かな漢字変換におけるキー定義以外の付加情報が書かれたファイルです。 ユーザは,システムが提供するPROFILE,ユーザ独自のPROFILEのどちらでも使うことができます。
PROFILEは通常のテキスト・ファイルで,INDEXとそれに対応するVALUEの 1対1対応の形で,情報が書き込まれています。IMLIBを使うアプリケーションは, PROFILEに書かれた情報を使って,かな漢字変換の動作を決定します。
通常,アプリケーションに固有の方法でPROFILEファイル名を指定しなかった場合, 次のファイルを順次探索し,最初に見つかって読み取りに成功したファイルを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にワイルドカードを使うことはできません。
複数のアプリケーションで共通に使用するためのINDEXとそれに対応する VALUEが定められています。ここではそれらの説明をします。 アプリケーションは,できる限り共通のINDEXで指定した動作をするように作られていますので, ここで示されるINDEXに対応するVALUEを変えることによって, IMLIBをサポートするすべてのアプリケーションの動作が変わります。
共通に使用されるINDEXを以下に示します。かな漢字変換に関する共通のINDEXは, すべて"DEC-JAPANESE."で始まります。
VALUE: | KEYBINDファイルを示す文字列 |
説明: | KEYBINDファイルを示す文字列には,必要なら拡張子, ".im$dat" が付加されて使用されます。 ただし,拡張子が明示的に指定されたときは指定されたものが使用されます。 IMLIB の SET KEYBIND が指定されたkeybind ファイルのロードに失敗した場合は, DEC_JAPANESE.key.keybind_1 のように "_数字"のついたINDEXを1から9まで順に探します。 |
VALUE: | current | top | bottom | 整数 (小文字) |
説明: | かな漢字変換を行うスクリーン上の行を示します。 topは1行目,bottomは最下行,currentは現在カーソルがある行を示します。 整数はスクリーン上の行番号を数字で指定するときに使います。 |
VALUE: | current | 整数 (小文字) |
説明: | かな漢字変換を行うスクリーン上のカラムを示します。 currentは現在カーソルがあるカラムを示します。 整数はスクリーン上のカラム位置を数字で指定するときに使います。 |
VALUE: | none | bold | blink | reverse | underline (小文字) |
説明: | 文字入力時に,変換範囲にある文字に付けられるビデオ属性を指定します。 |
VALUE: | none | bold | blink | reverse | underline (小文字) |
説明: | ひらがな,カタカナ,全角,半角変換時に,変換範囲に付けられるビデオ属性を指定します。 |
VALUE: | none | bold | blink | reverse | underline (小文字) |
説明: | 漢字変換時に,現在の文節に付けられるビデオ属性を指定します。 |
VALUE: | none | bold | blink | reverse | underline (小文字) |
説明: | 漢字変換時に,現在の文節より前の文節に付けられるビデオ属性を指定します。 |
VALUE: | none | bold | blink | reverse | underline (小文字) |
説明: | 漢字変換時に,現在の文節より後の文節に付けられるビデオ属性を指定します。 |
VALUE: | on | off (小文字) |
説明: | コードセットとして DEC 漢字を使用しているときに半角カナを使用するかどうかを指定します。 |
VALUE: | jiskana | hiragana | katakana (小文字) |
説明: | カナが入力されたときの表示方法を指定します。 jiskanaは半角のカナを,hiraganaとkatakanaは全角を意味します。 |
VALUE: | on | off (小文字) |
説明: | 入力時にローマ字から指定された字種への自動変換を行うかどうかを指定します。 エコーされる字種はDEC-JAPANESE.ECHO.kana の設定に依存します。 |
VALUE: | hankaku | zenkaku (小文字) |
説明: | アルファベット文字を入力したときに半角で表示されるか全角で表示されるかを指定します。 |
VALUE: | none | rotate | done (小文字) |
説明: | 文節の大きさが最小になっているときに「文節縮小」キーが押された場合, または文節の大きさが最大になっているときに「文節拡大」キーが押された場合の動作を指定します。 noneのときは何も実行しません。 rotateが指定されると,文節の大きさが最小のときには最大に,文節の大きさが最大のときは最小になります。 doneのときは,現在の変換を終了してアプリケーション指定の動作を実行します。 |
VALUE: | none | rotate | done (小文字) |
説明: | 現在の文節が最初の文節にあるときに「前文節」キーが押された場合, または現在の文節が最後の文節にあるときに「次文節」キーが押された場合の動作を指定します。 noneのときは何も実行しません。 rotateが指定されると,現在の文節が最初の文節にあるときには最後の文節に, 現在の文節が最後にあるときには最初の文節に移動します。 doneのときは,現在の変換を終了してアプリケーション指定の動作を実行します。 |
VALUE: | none | done (小文字) |
説明: | カーソルが最初の文字にあるときに「左移動」キーが押された場合, またはカーソルが最後の文字にあるときに「右移動」キーが押された場合の動作を指定します。 noneのときは何も実行しません。 doneのときは,現在の変換を終了してアプリケーション指定の動作を実行します。 |
VALUE: | ローマ字かな変換テーブルファイルを示す文字列 |
説明: | ローマ字かな変換時に使用するローマ字・かなの対応を記述したファイル名を指定します。 無指定時はライブラリ内部の対応表を使用します。 |
PROFILEの例を 例 4-1 に示します。
DEC-JAPANESE.KEY.keybind : im_key_jvms_level2 DEC-JAPANESE.KEY.keybind_1 : im_key_jvms DEC-JAPANESE.DISP.preEditRow : current DEC-JAPANESE.DISP.preEditColumn : current DEC-JAPANESE.DISP.inputRendition : bold DEC-JAPANESE.DISP.kanaRenditon : bold DEC-JAPANESE.DISP.currentClauseRendition : reverse DEC-JAPANESE.DISP.leadingClauseRendition : none DEC-JAPANESE.DISP.trailingClauseRendition : none DEC-JAPANESE.CHAR.jisKana : off DEC-JAPANESE.ECHO.ascii : hankaku DEC-JAPANESE.ECHO.kana : hiragana DEC-JAPANESE.ECHO.autoRomanKana : off DEC-JAPANESE.OUTRANGE.clauseSize : none DEC-JAPANESE.OUTRANGE.clauseNumber : rotate DEC-JAPANESE.OUTRANGE.cursorPosition : done