文書に LS2R または LS3R コードがある場合
または
この場合は /MODE=KANJI を指定しても /MODE=KATAKANA を指定しても,変換・検査の結果は同じですから,/MODE の指定は不要です。
$ KCONVERT/TABLE=... Input_file Output_file
|
/RANGE = (...)
入力ファイルの一部のレコードのみを変換・検査する場合に用います。 /RANGE 修飾子は 16 個まで記述できますが,各々の /RANGE 修飾子で指定するレコードの範囲が重なってはいけません。
/RANGE 修飾子の指定がないときは,すべてのレコードが変換・検査の対象になります。以下の項目が指定できます。
START:i
|
変換・検査する開始レコード番号を指定します。最初のレコード番号は1です。省略時設定値は1です。
|
END:j
|
変換・検査する終了レコード番号を指定します。LENGTH と同時には指定できません。END も LENGTH も指定されていないときは,最後のレコードまで変換・検査を行います。
|
LENGTH:k
|
変換・検査するレコード数を指定します。END と同時には指定できません。END も LENGTH も指定されていないときは,最後のレコードまで変換・検査を行います。
|
KANJI
|
半角カタカナ混じりの文章のとき,最初が漢字で始まっていることを指定します。
|
KATAKANA
|
半角カタカナ混じりの文章のとき,最初が半角カタカナで始まっていることを指定します。KANJI と KATAKANA のいずれの指定も無いときは,/MODE 修飾子で指定された文字で開始しているものとみなします。
|
/TABLE = 変換テーブル・ファイル指定
変換テーブルのファイル名を指定します。RMS が日本語モードの場合には,最大 118 文字までの日本語ファイル名を指定できます。変換・検査は,この変換テーブルにしたがって行われます。この修飾子と変換テーブルのファイル名は必ず指定しなければなりません。日本語 OpenVMS では DEC 漢字 1978 年版と 1983 年版の変換テーブル(JSY$SYSTEM:KCV78TO83.TABLE
と JSY$SYSTEM:KCV83TO78.TABLE)
を提供します。
- DEC 漢字 1978 年版漢字コードを DEC 漢字 1983 年版
に変換する場合
$ KCONVERT/TABLE=JSY$SYSTEM:KCV78TO83.TABLE Input_file Output_file
|
- DEC 漢字 1983 年版漢字コードを DEC 漢字 1978 年版
に変換する場合
$ KCONVERT/TABLE=JSY$SYSTEM:KCV83TO78.TABLE Input_file Output_file
|
- 利用者が作成した変換テーブル (CONVERT.TABLE) にしたがって変換・検査を行う場合
$ KCONVERT/TABLE=CONVERT.TABLE Input_file Output_file
|
変換テーブルの形式については 第 7.3 節 を参照してください。
変換・検査で使用する変換指定テーブルの形式を説明します。利用者定義による漢字コード変換を行う場合は,KCONVERT ユーティリティを使用する前に,変換テーブルを日本語エディタなどで作成します。
! KCONVERT 変換指定テーブルの例
!
C XB1B1 XC1C1 ! 臼を疏に変換する
C XB1B2 XC1C2 ! 渦を疎に変換する
I XD1D1 ! 冪があれば通知する
...................
...................
END ! 変換指定テーブル終り
|
- コメント行
半角の感嘆符 '!' で始まる行はコメント行です。変換・検査には使用されません。
- 変換指定行
先頭が半角の 'C' で始まる行は変換指定になります。
- 各フィールドは1つ以上の空白またはタブで区切ります。
- 1行の最大長は 255 バイトです。
- 感嘆符 '!' より右側はコメントとみなされます。
- 指定できる漢字コードは DEC 漢字セットに含まれる文字で,'X' で始まる4けたの 16 進コード,または 'J' で始まる4けたまたは5けた(次の注意を参照のこと) の区点番号で指定します。
例
XB0A1 ...... 亜 J1601 ...... 亜
XA2A1 ...... ◆ J0201 ...... ◆
|
| 注意
《区点番号による漢字コードの記述の制限事項》
DEC漢字1区1点の文字コードはJ0101と記述します。拡張領域の文字コードは'J1'で始まる4けたの区点番号で記述します。 DEC拡張漢字1区1点の文字は先頭に 1 をつけ J10101 と記述でき,これは XA121 と同じ文字コードを示します。
|
- 通知指定行
先頭が 'I' で始まる行で記述した漢字コードは変換されません。変換・検査を実行した際に,この漢字コードが入力ファイルに存在したことを通知する指定です。
- 各フィールドのは1つ以上の空白またはタブで区切ります。
- 1行の最大長は 255 バイトです。
- 感嘆符 '!' より右側はコメントとみなされます。
- 漢字コードの記述方法は変換指定行と同じです。
- 終了行
先頭が 'END' で始まる行までが変換テーブルとして扱われます。この行以降は何が記述されていても無視されます。
- 感嘆符 '!' より右側はコメントとみなされます。
- 1行の最大長は 255 バイトです。
使用例として,DEC 漢字 1978 年版漢字コードと DEC 漢字 1983 年版の相互変換方法を説明します。
7.4.1 1978 年版から 1983 年版への変換 |
|
DEC 漢字 1978 年版のファイルをDEC 漢字 1983 年版に変換する場合は,以下の変換テーブルを使用します。
JSY$SYSTEM:KCV78TO83.TABLE
|
このテーブルでは,次の項目が指定されています。
- 拡張領域の罫線コードを8区の細い罫線コードに変換する
- 第1水準と第2水準の位置が交換された漢字コードを置換する
- 1983 年版で 84 区に移動した漢字は 84 区のコードに変換する
- 字形が変わった漢字はそのまま(通知のみ)
変換を行うには,次のようにします。
$ KCONVERT/TABLE=JSY$SYSTEM:KCV78TO83.TABLE[/修飾子] 入力ファイル名
[出力ファイル名]
|
7.4.2 1983 年版から 1978 年版への変換 |
|
DEC 漢字1983 年版の漢字コードを DEC 漢字 1978 年版に変換する場合は,以下の変換テーブルを使用します。
JSY$SYSTEM:KCV83TO78.TABLE
|
このテーブルでは,次の項目が指定されています。
- 8区の罫線コードを 1978 年版の拡張領域の罫線コードに変換する
- 第1水準と第2水準の位置が交換された漢字コードを置換する
- 84 区の4つの漢字は 1978 年版のコードに変換する
- 字形が変わった漢字はそのまま(通知のみ)
- 1983 年版で追加された特殊文字はそのまま(通知のみ)
変換を行うには,次のようにします。
$ KCONVERT/TABLE=JSY$SYSTEM:KCV83TO78.TABLE [/修飾子] 入力ファイル名
[出力ファイル名]
|
日本語 OpenVMS が標準として提供するのは上の2つのテーブルのみです。変換を罫線コードに限定するなど変換内容を変える場合は,新たに変換テーブルを作成してください。
KCONVERT ユーティリティが使用しているルーチンがランタイム・ライブラリとして JSY$LIBRARY:JSYLIB.OLB
に入っています。また,ステータス定義ファイルとしては JSY$SYSTEM:JSYDEF.*
(* は FOR,H など各言語用) があります。
KCONVERT ユーティリティでは処理できない場合は,コード変換ルーチンを用いて専用の変換プログラムを作成してください。
各ルーチンについては『日本語ライブラリ 利用者の手引き』を参照してください。