前へ | 次へ | 目次 | 索引 |
この章では,かな漢字変換入力について説明します。
3.1 かな漢字変換入力ができる状態
FIP を起動しても,必ずしもすべてかな漢字変換入力ができるようにはなりません。特殊な読み込み処理をしているアプリケーションの場合には,FIP のトラップにはかからずにそのままの入力処理が実行されます。つまり, 図 1-1 において,FIDRIVER にトラップされずに,TTDRIVER がそのまま処理をしてしまう場合があります。
かな漢字変換入力ができる状態であるかどうかを見るためには,PROFILE の中で変換対象文字列のビデオ属性の指定を,反転 (reverse),下線 (underline) 等に設定しておけば,その設定のビデオ属性で表示された場合に,かな漢字変換入力が可能であることがわかります。
日本語 Compaq OpenVMS が提供する PROFILE では,かな漢字変換可能な場合は強調 (bold) または下線 (underline) になります。
3.2 入力操作
入力操作は,通常の日本語入力エディタ等と同様です。ただし,エディタと違う点は,PROFILE で設定したキー定義ファイルに従って,変換処理ができるということです。
日本語 Compaq OpenVMS は,あらかじめ作成されたキー定義を 4 種類提供します。ユーザは簡単な操作で,これらのキー定義のうちの 1 つを選択して使用することができます。ユーザが何も変更しなかったときには,JVMS キーが使用されます。
日本語 Compaq OpenVMS 標準のキー定義です。JVMS キーを使うと,かな漢字変換キーと VMS の行編集キーとが重ならないという特徴があります。詳しくは,『 日本語ライブラリ 利用者の手引き 』を参照してください。
EVEJ エディタのキー定義です。日本語 EVE の EVEJ キーパッド・モードで使用されています。詳しくは『 日本語 EVE ユーザーズ・ガイド 』を参照してください。
LEIA エディタのキー定義です。数字キーパッドを使ってかな漢字変換を行います。詳しくは,『 日本語ライブラリ 利用者の手引き 』を参照してください。
ワープロ・ソフトの一太郎に似たキー定義です。
(注:一太郎は株式会社ジャストシステムの登録商標です。)
キー定義を使用する場合には,論理名 IM$PROFILE を次のように定義します。ユーザが何も選択しない場合には,キー定義は JVMS キーが使用されます。
$DEFINE IM$PROFILE IM$PROFILE_JVMS |
$DEFINE IM$PROFILE IM$PROFILE_EVEJ |
$DEFINE IM$PROFILE IM$PROFILE_LEIA |
$DEFINE IM$PROFILE IM$PROFILE_TARO |
この定義をユーザの LOGIN.COM に入れておくと,選択したキー定義を以後のセッションで使用することができます。
新しいキー定義をアプリケーションで使用するには,アプリケーションを再起動してください。
なお,これらの設定は日本語環境設定ユーティリティー (JSY$CONTROL) を使うと簡単に設定することができます。詳しくは『日本語ユーティリティ 利用者の手引き』を参照してください。
PROFILE は,かな漢字変換環境設定の情報が書かれたテキスト・ファイルです。ユーザは,システムが提供する PROFILE またはユーザ独自の PROFILE のどちらでも使用することができます。
4.1 PROFILEの指定
FIP でのかな漢字変換の環境設定は,IMLIB の環境設定規約に従います。したがって IMLIB が規定している,PROFILE という環境設定用のテキスト・ファイルによって,かな漢字変換環境を定義します。この PROFILE を指定するために,論理名 IM$PROFILE を使用します。各ユーザの設定に関しては,『 ¥æ¡¼¥¶¡&brvgar;¥¡¼ÄêµÁ ÍøÍѼԤμê°ú¤ 』を参照してください。
4.2 独自のPROFILEの作成
FIP は,PROFILE の中のいくつかのキーワードを使用して,かな漢字変換の操作を行います。FIP のサポートする INDEX と値の一覧は, 付録 A を参照してください。以下に,キーワードの設定方法を記述します。
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.KEY.keybind |
FIP は,かな漢字変換用のキーとして IMLIB の提供する KEYBIND ファイルを使用します。したがって,IMLIB で規定されたキー定義ファイルの所在を, PROFILE の中に保持しておく必要があります ( 例 4-1 参照)。
例 4-1 PROFILE内でのKEYBINDファイル指定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | DEC-JAPANESE.KEY.keybind : IM$KEY_EVEJ_LEVEL2.IM$DAT | | DEC-JAPANESE.KEY.keybind_1 : IM$KEY_EVEJ.IM$DAT | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では,KEYBINDファイルに, EVEJ キー定義ファイル (IM$KEY_EVEJ_LEVEL2.IM$DAT) を指定しています。
INDEX の "DEC-JAPANESE.KEY.keybind" で指定した KEYBIND ファイルが正しくなかった場合,この例では次の行の INDEX "DEC-JAPANESE.KEY.keybind_1" で指定した別の KEYBIND ファイル (IM$KEY_EVEJ.IM$DAT) を用います。一般に KEYBIND ファイルのロードに失敗した場合は, INDEX の "DEC-JAPANESE.KEY.keybind_1" のように, "_(アンダーバー)数字" の付いた INDEX を 1 から 9 まで順にさがします。
PROFILE 内で指定した複数の KEYBIND ファイルがいずれも正しくなかった場合は, FIP を正常に起動することはできません。KEYBIND ファイルに関しては,「ユーザ・キー定義 利用者の手引き」を参照してください。
また,この設定で SYS$LOGIN 以外にある KEYBIND ファイルを指定する場合,ディレクトリ名にプロセス論理名,あるいはジョブ論理名を指定することはできません。FIP では,これらの論理名を解釈しません。
4.2.2 前編集領域(pre-edit area)の指定
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.DISP.preEditRow | |
DEC-JAPANESE.DISP.preEditColumn |
FIP は,通常の文字列の入力の流れを途中でとらえて,入力文字をかなや漢字に変換し,元の入力の流れに戻す機能を提供するものですが,かなや漢字に変換するときに,変換作業を画面上で行うための領域を必要とします。これを FIP では,"前編集領域 ( pre-edit area )" と呼び PROFILE で指定する必要があります。( 例 4-2 参照)。
通常は,端末画面のカラム位置,行位置を整数値で PROFILE 内で指定しますが,画面のステータス・ライン,すなわち 25 行目を前編集領域として設定したい場合, INDEX の "DEC-JAPANESE.DISP.preEditRow" に "status" を指定します。
例 4-2 PROFILE内での前編集領域の指定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | ・ | | DEC-JAPANESE.DISP.preEditRow : 24 | | DEC-JAPANESE.DISP.preEditColumn : 1 | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では,前編集領域は 24 行 1 列目が開始点として設定されています。ここで設定された行数や列数が,端末画面の上限値を越えている場合には, FIP は自動的に端末画面の最大値に設定し直します。さらに,特別な場合として "current" という文字列(小文字)が許されます。このキーワードの意味は,"現在カーソルの存在する位置を,前編集領域として使用してください" ということです。
あらかじめ決められた機能を表す文字列を,一般的にキーワードと呼んでいます。 PROFILE の中では,"DEC-JAPANESE.DISP.preEditRow" 等もキーワードですが, IMLIB では,それらを特別に INDEX と呼んでいます。 |
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.DISP.inputRendition | |
DEC-JAPANESE.DISP.currentClauseRendition | |
DEC-JAPANESE.DISP.leadingClauseRendition | |
DEC-JAPANESE.DISP.trailingClauseRendition | |
DEC-JAPANESE.DISP.kanaRendition |
変換領域とは," かな漢字変換の対象となる入力文字領域 " のことです。一般的に,入力文字列自体には何のマークもついていないために,どの文字列が現在の変換対象文字列であるかはわかりません。したがって,変換入力ができる多くのアプリケーションにおいては,変換対象文字列の表示ビデオ属性を,他の文字列と区別することによって,ユーザが変換対象文字列を認知できるようにしてあります。
たとえば,次のような表示だけでは,変換対象文字列がどれかはわかりません。
aiueo |
次のような表示であれば," ueo " が変換対象であることがわかります。 FIP では,この変換領域のビデオ属性を PROFILE によって指定する必要があります ( 例 4-3 参照)。
aiueo |
例 4-3 PROFILE内での変換領域のビデオ属性指定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | ・ | | DEC-JAPANESE.DISP.inputRendition : bold | | DEC-JAPANESE.DISP.currentClauseRendition : reverse | | DEC-JAPANESE.DISP.leadingClauseRendition : none | | DEC-JAPANESE.DISP.trailingClauseRendition : none | | DEC-JAPANESE.DISP.kanaRendition : bold | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では,変換対象文字列を高輝度 ("bold"),現在の変換対象文節を反転 ("reverse"),変換対象文字列で,現在の変換対象文節より前に存在する文字列を通常の表示 ("none"),現在の変換対象文節より後ろに存在する文字列を,通常の表示 ("none"),によって表示することを指定します。特に,端末から入力された文字をひらがな,あるいはカタカナ変換した場合の変換領域のビデオ属性を "kanaRendition" で指定することができます。 例 4_3
ではひらがな,あるいはカタカナ変換した場合のビデオ属性を高輝度 ("bold") にしています。
4.2.4 ASCII 文字エコー・モードの指定
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.ECHO.ascii |
通常の端末は,ASCII 文字(アルファベット及び特殊記号)の入力に対して,半角の ASCII 文字をエコー文字として端末に表示します。たとえば,キーボードの " k " というキーを押せば,端末の画面上に " k " という文字が表示されます。一部のワードプロセッサ等では,このエコー文字を全角の漢字コードに変換してから表示するものがあります。この機能を提供するために IMLIB は,ASCII 文字のエコー・モードを設定できるように,PROFILE の INDEX として,ascii を用意しています。ここで指定できるキーワードは,hankaku (半角=通常のエコー文字) または, zenkaku (全角=全角の漢字コードに対応) のどちらかです ( 例 4-4 参照)。
例 4-4 PROFILE内でのASCII文字の表示モードの設定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | ・ | | DEC-JAPANESE.ECHO.ascii : hankaku | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では「半角でASCII 文字を表示する」ことを指定しています。
4.2.5 かなキー入力時のエコー文字の指定
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.ECHO.kana |
かなキーを用いて文字入力する場合,エコーバックされる文字の指定をします。 "hiragana" あるいは "katakana" を指定すると,それぞれひらがな,カタカナがエコーされます。また,半角カタカナをエコーバックさせる場合は,"jiskana" を指定します ( 例 4-5 を参照)。
例 4-5 PROFILE内でかなキー入力時のエコー文字の指定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | ・ | | DEC-JAPANESE.ECHO.kana : hiragana | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では,かなキーからひらがながエコーバックされます。
4.2.6 自動ローマ字かな変換の指定
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.ECHO.autoRomanKana |
FIPは,文字入力時にローマ字からかな文字に自動的に変換し,そのかな文字を端末に表示する機能を持っています。たとえばユーザが,次のように 5 文字のキー入力を行った場合,そのローマ字に対応するかな文字が,逐次的に端末に表示されます。
aiueo |
この場合は,次のように端末に表示されることになります。
あいうえお |
この自動ローマ字かな変換を,PROFILE で指定する場合は, 例 4-6 のようになります。
例 4-6 PROFILE内での自動ローマ字かな変換の指定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | ・ | | DEC-JAPANESE.autoRomanKana : on | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では,端末から入力されるローマ字を,ひらがなに自動変換することを指定しています。
4.2.7 文節拡大,文節縮小に関する動作の指定
PROFILE 内の該当する INDEX 名 | |
---|---|
DEC-JAPANESE.OUTRANGE.clauseSize |
文節の長さを変更する際,以下の場合における動作の指定をします。
値に "none" を指定した場合は何も実行しません。 "rotate" が指定されると,1 の場合は文節の大きさが最大に, 2 の場合は文節の大きさが最小になります。 "done" のときは,現在の変換を終了して次の変換入力を待ちます ( 例 4-7 参照)。
例 4-7 PROFILE内での文節のサイズの変換動作の指定例 |
---|
im$profile.dat +---------------------------------------------------------------+ | ・ | | DEC-JAPANESE.OUTRANGE.clauseSize : none | | ・ | | ・ | | ・ | +---------------------------------------------------------------+ |
この例では,1,2 の場合に「何も実行しない」ことを指定しています。
前へ | 次へ | 目次 | 索引 |