library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


日本語 OpenVMS

日本語 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)  --  Alpha/VAX のみ

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

この機能は,日本語OpenVMS Alpha および日本語OpenVMS VAX でサポートされます。

7.1 機能概要

DEC 漢字セットとASCII 文字セットで記述された日本語文書内の特定の漢字コードを,変換指定テーブルにしたがって変換します。日本語 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) があると自動的に

注意

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

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

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


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

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

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

  • 文書に LS2R または LS3R コードがある場合

    または

    この場合は /MODE=KANJI を指定しても /MODE=KATAKANA を指定しても,変換・検査の結果は同じですから,/MODE の指定は不要です。

    /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) を提供します。

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

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

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

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

    7.3 変換指定テーブル

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

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

      • 1行の最大長は 255 バイトです。

    2. 変換指定行
      先頭が半角の '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 バイトです。

    7.4 使用例

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

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

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


     
        JSY$SYSTEM:KCV78TO83.TABLE 
     
    

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

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

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

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


       JSY$SYSTEM:KCV83TO78.TABLE 
    

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

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

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

    7.5 コード変換ライブラリ

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

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

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


    前へ 次へ 目次 索引