日本語 Compaq OpenVMS
日本語ユーティリティ
利用者の手引き


前へ 次へ 目次 索引


6.4 使用例

この節では,漢字コード変換ユーティリティの使用例を示します。

  1. DEC漢字コード体系のファイル IN.DAT 内のすべてのデータを JIS漢字コード体系に変換し,OUT.DAT に出力します。

  2. DEC漢字コード体系のファイル IN.DAT 内の /FIELD で指定された領域内のデータを IBM漢字コード体系に変換し,OUT.DAT に出力します。指定領域外のデータは,変換せずにそのまま出力します。

  3. NEC の DISK 媒体内部コード体系のファイル IN.DAT を DEC漢字コード体系に変換して,に出力します。


第 7 章
DEC 漢字コード変換ユーティリティ (KCONVERT)

この章では,DEC 漢字コード変換ユーティリティ (KCONVERT) について説明します。

7.1 機能概要

DEC 漢字セットとASCII 文字セットで記述された日本語文書内の特定の漢字コードを,変換指定テーブルにしたがって変換します。日本語 Compaq OpenVMS オペレーティング・システムでは DEC 漢字 1978 年版とDEC 漢字 1983 年版間の変換指定テーブルが提供されます。変換指定テーブルはエディタなどを用いて利用者が作成/ 変更することもできます。

漢字コード変換ユーティリティ(KCODE)は他社の漢字コード系との変換を行いますが,このDEC漢字コード変換ユーティリティ(KCONVERT) は,入力ファイルも出力ファイルも DEC 漢字コード系であることを前提にしています。

DCL コマンドですぐに利用できるユーティリティと,プログラムから呼びだすルーチンの 2種類があります。

7.2 KCONVERT コマンド

この節では,KCONVERT コマンドの形式,パラメータ,修飾子について説明します。


KCONVERT

DEC 漢字コード変換ユーティリティを起動します。

形式

KCONVERT/TABLE = 変換テーブル・ファイル指定 [ /修飾子 ] 入力ファイル指定 [ 出力ファイル指定 ]


パラメータ

入力ファイル指定

変換するファイル名を指定します。RMS が日本語モードの場合には,最大 118 文字までの日本語ファイル名を指定できます。ワイルドカードも指定できます。

出力ファイル指定

変換したファイルの出力先を指定します。RMS が日本語モードの場合には,最大 118 文字までの日本語ファイル名を指定できます。

省略時には,入力ファイルと同じ名前で,バージョンを更新したファイルに出力します。


修飾子

/CHECK
/NOCHECK (省略時設定)

/TABLE で指定された変換テーブルに記述された漢字コードが入力ファイルにあるかどうかのみを検査し,その情報を /LOG_FILE で指定された出力先に出力します。漢字コード変換された出力ファイルは生成されません。 /NOCHECK が指定された場合は,実際の変換を行い,コード変換された出力ファイルが生成されます。

/FIELD = (...)

1レコード内の変換・検査の範囲を指定します。 /FIELD 修飾子は 16 個まで記述できますが,各々の /FIELD 修飾子で指定する範囲が重なってはいけません。

/FIELD 修飾子の指定がない場合は,1レコード全体が変換・検査の対象になります。以下の項目が指定できます。

START: i 変換・検査の開始位置をバイト・オフセットで指定します。レコードの先頭は1です。省略時設定値は1です。
END: j 変換・検査の終了位置をバイト・オフセットで指定します。 LENGTH と同時には指定できません。END も LENGTH も指定されていない場合は,レコードの最後まで変換・検査を行います。
LENGTH:k 変換・検査する範囲を START で指定した位置からのバイト数で指定します。END と同時には指定できません。END も LENGTH も指定されていな場合は,レコードの最後まで変換・検査を行います。
KANJI 半角カタカナ混じりの文章の場合,最初が漢字で始まっていることを指定します。
KATAKANA 半角カタカナ混じりの文章の場合,最初が半角カタカナで始まっていることを指定します。KANJI と KATAKANA のいずれの指定もない場合は, /MODE 修飾子で指定された文字で開始しているものとみなします。

/INQUIRE
/NOINQUIRE (省略時設定)

変換テーブルで指定された(変換指定の)漢字コードがあった際,変換するかどうかを問い合わせます。/CHECK と同時には指定できません。

省略時は問い合わせを行わず,指定のコードに変換します。

/LOG_FILE = 出力先名
/NOLOG_FILE

変換・検査の情報を指定の出力先に出力します。RMS が日本語モードの場合には,最大 118 文字までの日本語ファイル名を指定できます。省略時は SYS$OUTPUT に出力します。

/NOLOG_FILE を指定した場合には,変換・検査の情報は出力されません。

/MODE = 文字コード指定
/MODE = KANJI (省略時設定)

文書が DEC 漢字コードと半角カタカナ混じりの場合,最初が漢字で始まっているか半角カタカナで始まっているかを指定します。以下の2つを指定できます。

KANJI 漢字で始まる
KATAKANA 半角カタカナで始まる

KCONVERTユーティリティは,文書中にエスケープ・シーケンス (LS2R,LS3R) があると自動的に


LS2R (〈ESC〉} ).....この制御コード以後は半角カタカナとみなし, 
                      次に LS3R がみつかるまで変換・検査を行わない 
 
LS3R (〈ESC〉| ).....この制御コード以後は漢字とみなし,変換・検査を行う 


注意

〈ESC〉は 16 進数の 1B,‘  }  ’は 7D,| は 7C です。

として処理し,漢字の部分のみを変換・検査の対象にします。

  1. 文書が LS3R なしの漢字コードで始まり,途中に半角カタカナが混じっている場合

    この場合は漢字で始まっていますから /MODE 修飾子を省略できます。


     
               $ KCONVERT/TABLE=...  Input_file  Output_file 
     
    


  2. 文書が LS2R コードなしの半角カタカナで始まっている場合

    この場合は半角カタカナで始まっていることを /MODE=KATAKANA で指定します。


                $ KCONVERT/MODE=KATAKANA/TABLE=...  Input_file  Output_file 
    


  3. 文書に 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 文字までの日本語ファイル名を指定できます。変換・検査は,この変換テーブルにしたがって行われます。この修飾子と変換テーブルのファイル名は必ず指定しなければなりません。日本語 Compaq OpenVMS では DEC 漢字 1978 年版と 1983 年版の変換テーブル(JSY$SYSTEM:KCV78TO83.TABLE と JSY$SYSTEM:KCV83TO78.TABLE) を提供します。

  1. DEC 漢字 1978 年版漢字コードを DEC 漢字 1983 年版 に変換する場合


     
            $ KCONVERT/TABLE=JSY$SYSTEM:KCV78TO83.TABLE  Input_file  Output_file 
     
    


  2. DEC 漢字 1983 年版漢字コードを DEC 漢字 1978 年版 に変換する場合


     
            $ KCONVERT/TABLE=JSY$SYSTEM:KCV83TO78.TABLE  Input_file  Output_file 
     
    


  3. 利用者が作成した変換テーブル (CONVERT.TABLE) にしたがって変換・検査を行う場合


     
            $ KCONVERT/TABLE=CONVERT.TABLE  Input_file  Output_file 
     
    



    変換テーブルの形式については 第 7.3 節 を参照してください。

7.3 変換指定テーブル

変換・検査で使用する変換指定テーブルの形式を説明します。利用者定義による漢字コード変換を行う場合は,KCONVERT ユーティリティを使用する前に,変換テーブルを日本語エディタなどで作成します。


 
  ! KCONVERT 変換指定テーブルの例                                 
  !                                                               
  C XB1B1     XC1C1     ! 臼を疏に変換する                     
  C XB1B2     XC1C2     ! 渦を疎に変換する                     
  I XD1D1               ! 冪があれば通知する                     
    ...................                                           
    ...................                                           
  END                   ! 変換指定テーブル終り                   
                                                                  

  1. コメント行

    半角の感嘆符 '!' で始まる行はコメント行です。変換・検査には使用されません。




  2. 変換指定行

    先頭が半角の 'C' で始まる行は変換指定になります。



  3. 通知指定行 先頭が 'I' で始まる行で記述した漢字コードは変換されません。変換・検査を実行した際に,この漢字コードが入力ファイルに存在したことを通知する指定です。


  4. 終了行

    先頭が 'END' で始まる行までが変換テーブルとして扱われます。この行以降は何が記述されていても無視されます。


7.4 使用例

使用例として,DEC 漢字 1978 年版漢字コードと DEC 漢字 1983 年版の相互変換方法を説明します。

7.4.1 1978 年版から 1983 年版への変換

DEC 漢字 1978 年版のファイルをDEC 漢字 1983 年版に変換する場合は,以下の変換テーブルを使用します。


 
    JSY$SYSTEM:KCV78TO83.TABLE 
 

このテーブルでは,次の項目が指定されています。

変換を行うには,次のようにします。


$ KCONVERT/TABLE=JSY$SYSTEM:KCV78TO83.TABLE[/修飾子] 入力ファイル名 
                                                                [出力ファイル名]

7.4.2 1983 年版から 1978 年版への変換

DEC 漢字1983 年版の漢字コードを DEC 漢字 1978 年版に変換する場合は,以下の変換テーブルを使用します。


   JSY$SYSTEM:KCV83TO78.TABLE 

このテーブルでは,次の項目が指定されています。

変換を行うには,次のようにします。


$ KCONVERT/TABLE=JSY$SYSTEM:KCV83TO78.TABLE [/修飾子] 入力ファイル名
                                                                [出力ファイル名]

日本語 Compaq OpenVMS が標準として提供するのは上の2つのテーブルのみです。変換を罫線コードに限定するなど変換内容を変える場合は,新たに変換テーブルを作成してください。

7.5 コード変換ライブラリ

KCONVERT ユーティリティが使用しているルーチンがランタイム・ライブラリとして JSY$LIBRARY:JSYLIB.OLB に入っています。また,ステータス定義ファイルとしては JSY$SYSTEM:JSYDEF.* (* は FOR,H など各言語用) があります。

KCONVERT ユーティリティでは処理できない場合は,コード変換ルーチンを用いて専用の変換プログラムを作成してください。

各ルーチンについては『日本語ライブラリ 利用者の手引き』を参照してください。


前へ 次へ 目次 索引