; hp; ヒューレット・パッカード;hewlett-packard; ヒューレット;コンパック;compaq; OS; OpenVMS;高い信頼性とスケーラビリティを提供するOS"> - OpenVMSのマニュアルページです。">
日本-日本語

 >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


日本語 HP OpenVMS<!--#include virtual="/comm/include/company_name_title.inc" -->

日本語 HP OpenVMS
概説書


前へ 次へ 目次 索引




6.4 日本語ファイル名の設定

従来のアプリケーションとの互換性のために,デフォルトでは日本語ファイル名は無効に設定されます。ファイル名に Super DEC 漢字コードセットを使用するためには, RMS 設定を切り替える必要があります。

6.4.1 JSY$CONTROL ユーティリティ

ファイル名に Super DEC 漢字コードセットを使用するためには,以下のコマンドを入力して, RMS の拡張機能であるファイル名コンバータを有効にします。


    $ JSYCP:==$SYS$SYSTEM:JSY$CONTROL.EXE    
    $ JSYCP SET RMS/FILENAME=SDECKANJI 

ファイル名コンバータを有効にすると, RMS を経由するファイル名はすべて Super DEC 漢字コードセットで入出力されます。また DCL のファイル名解析スタイルも Extended に切り替わります。

注意

DCL のファイル名解析スタイルについての詳細は,『 OpenVMS Extended File Specificationsの手引き』を参照してください。

ファイル名コンバータを無効にするためには,以下のコマンドを入力します。


    $ JSYCP SET RMS/FILENAME=DEFAULT    

ファイル名コンバータを無効にすると,ファイル名に Super DEC 漢字コードセットを使用することはできません。また DCL のファイル名解析スタイルも Traditional に切り替わります。

現在のファイル名コンバータの状態を知るためには,以下のコマンドを入力します。


    $ JSYCP SHOW RMS    

ファイル名コンバータが有効の場合は,以下のように表示されます。


    %JSY-I-RMSFNM, Current filename mode is "sdeckanji". 

ファイル名コンバータが無効の場合は,以下のように表示されます。


    %JSY-I-RMSFNM, Current filename mode is "DISABLE". 



6.4.2 アプリケーションによる日本語ファイル名の設定

ファイル名に Super DEC 漢字コードセットを使用するかどうかを,アプリケーションから制御するために,以下の新しいAPIが用意されています。

  • JSY$RMS_SET_ENCODING
    RMSファイル名コンバータを有効または無効する。

  • JSY$RMS_GET_ENCODING
    現在のファイル名コンバータの状態を取得する。

  • JSY$RMS_LIST_ENCODING
    システムにインストールされているファイル名コンバータの名前を取得する。

詳しくは『日本語ライブラリ 利用者の手引き』を参照してください。

6.4.3 日本語ファイル名の設定の単位

ファイル名に Super DEC 漢字コードセットを使用するかしないかは,プロセス単位に設定されます。プロセス生成時には ISO Latin-1 コードセットを使用します。

ユーザは JSY$CONTROL ユーティリティまたは API を使用することで,必要に応じてプロセスの使用するファイルを Super DEC 漢字コードセットに設定することができます。

日本語 OpenVMS V7.3 以降のバージョンでは,それ以前のバージョンと異なり,サブプロセスは親プロセスのファイル名コンバータの状態を引き継ぎます。そのためファイル名コンバータが有効になっているプロセスから SPAWN コマンド等でサブプロセスを起動した場合には,JSY$CONTROL ユーティリティを用いなくても,ファイル名コンバータが有効になります。

6.4.4 ファイル名コンバータの非同期切り換えの禁止

ファイル名コンバータの有効/無効は,プロセス単位に設定されます。したがって,マルチスレッド環境で不用意にコンバータを切り換えると他のスレッドの動作に影響を与えます。特にRMSによるファイル・アクセスの実行中に切り換えを行うと,予期せぬ障害が発生する場合があります。

ファイル名コンバータの切り換えは,必ずスレッド間の同期をとってから行ってください。

6.4.5 16 進数表現による日本語ファイル名

ファイル名コンバータを無効にしている場合は,ファイル名の指定に Super DEC 漢字コードセットを使うことはできません。ファイル名コンバータを無効にしている場合で,日本語ファイル名を使用するには, 4 桁の 16 進数を用いて Unicode の文字コードを指定します。

注意

ファイル名コンバータを無効にしている状態で,ファイル名に Super DEC 漢字コードを入力すると, RMS はそれを ISO Latin-1コードとみなして,ファイルにアクセスしようとします。その結果,エラーが発生したり,または正常動作しているように見えても実際には日本語ではないファイル名が作成されたりする場合があります。

【例】

ファイル名 ファイル名コンバータ有効 ファイル名コンバータ無効
漢字.TXT 漢字.TXT ^U6F22^U5B57.TXT

ファイル名の16進数表現の詳細は,『OpenVMS Extended File Specifications の手引き』を参照してください。

6.5 日本語ファイル名に使用できる文字

ファイル名コンバータを有効にして,ファイル名に Super DEC 漢字コードセットを使用している場合, RMS では以下の文字をファイル名として使用できます。

  • JIS Roman 文字
    ただし,以下の文字を除く
    アスタリスク (*)
    疑問符 (?)

  • 全角文字

  • 半角カナ

  • C0 制御コード (0x00 以上,0x1F 以下)

  • C1 制御コード (0x80 以上,0x9F 以下)

  • 16 進数表現で示される上記以外の文字



6.6 ファイル名変換規則

ファイル名コンバータを有効にすると, RMS では入出力されるファイル名を Super DEC 漢字コードとみなし, ODS-5 ボリュームでサポートされる Unicode に変換します。変換規則は以下のとおりです。

  1. 半角文字 (JIS Roman 文字)
    上位 8 bit にゼロを追加し,Unicode の 0x0020 〜 0x007E に変換されます。ファイル名がこれらの文字だけから成る場合は,日本語ファイル名とはみなされないため, Unicode ではなく ISO 8859-1 に変換されます。

  2. JIS 第一水準および第二水準文字
    つぎの例外を除き,Unicode の対応する文字に変換されます。
    b-1. ISO Latin-1に変換される文字
    以下の文字は ISO Latin-1 文字とみなされるため,ファイル名がこれらの文字だけから成る場合は, Unicode ではなく ISO 8859-1 に変換されます。

    文字 SDK Unicode
    ´ A1AD 00B4
    ¨ A1AF 00A8
    ± A1DE 00B1
    × A1DF 00D7
    ÷ A1E0 00F7
    ° A1EB 00B0
    § A1F8 00A7
    A2F9 00B6


    b-2.半角文字と重複する全角文字
    全角アルファベットなど半角文字にも同じ文字があるものは, Unicode では 0xFF01 〜 0xFF9F に変換されます。一部の文字は例外的に 0xFFxx 以外に変換されます。

    文字 SDK Unicode
    A1C9 201D
    A1C7 2019

  3. 半角カナ
    半角カナは Unicode の 0xFF61 〜 0xFF9F に変換されます。

  4. ユーザ定義文字
    サポートしていません。ファイル名にユーザ定義文字を使用した場合の動作は不定です。

  5. JIS 補助漢字
    サポートしていません。ファイル名に JIS 補助漢字を使用した場合の動作は不定です。

  6. IBM 選定文字,NEC 選定文字
    サポートしていません。ファイル名にこれらの文字を使用した場合の動作は不定です。



6.7 日本語ファイル名の最大長

日本語 OpenVMS V7.3-1 以降のバージョンでは,標準版 OpenVMS V7.3-1 以降のバージョンと同様に,最大 118 文字の Unicode ファイル名をサポートしています。

RMS を使用した場合の日本語ファイル名の最大長は,使用している API や,ファイル指定に含まれる文字の種類によって変化します。ファイル指定にはデバイス名とディレクトリ指定,ピリオド,セミコロンとバージョン番号が含まれます。

6.7.1 新しい RMS API による日本語ファイル名の最大長

RMS API では,標準版 OpenVMS V7.3 の RMS でサポートされる新しいデータ構造である NAML を使用する場合,Super DEC漢字コードセットを用いて,最大 118 文字までの日本語ファイル名をサポートします。

ファイル名に Super DEC 漢字コードを使用する場合,ファイル指定に含めることのできる文字列の長さは以下のとおりです。


    (全角文字 + 半角カナ) ×6+半角文字≦ 4095              (単位:バイト) 

したがって,ディレクトリに非常に長い日本語を使用した場合や,ネストが非常に深い場合などは,ファイル名に使用できる日本語の文字数が制限されます。

ファイル指定が上記の計算式を満たす場合は,NAML データ構造を用いて,最大 118 文字までのファイル名を使用することができます。

注意

NAML データ構造および RMS の拡張に関する詳細は,『 OpenVMS Extended File Specifications の手引き』を参照してください。



6.7.2 従来の RMS API による日本語ファイル名の最大長

従来のデータ構造である NAM を使用して,ファイル名に Super DEC 漢字コードセットを使用する場合,ファイル指定に含めることのできる文字列の長さは以下のとおりです。


    (全角文字 + 半角カナ) ×6+半角文字≦ 255               (単位:バイト) 

したがって,ファイル指定に含めることのできる全角文字の長さは最大 42 文字までとなります。

注意

42 文字を越える長さのファイル指定を使用した場合, RMS はファイル指定全体を FID 形式に変換して処理を継続しますが,これは日本語 OpenVMS V7.3 のサポート範囲外です。



6.7.3 デフォルト・ディレクトリの最大長

デフォルト・ディレクトリを日本語のディレクトリに変更する場合,ファイル指定には最大 42 文字の全角文字を含めることができます。デフォルト・ディレクトリの指定に含めることのできる文字列の長さは以下のとおりです。


   (全角文字 + 半角カナ) ×6+半角文字≦ 255               (単位:バイト) 

ただしデバイス名を意味する文字列は,上記の計算式から除きます。デバイス名の長さはデフォルト・ディレクトリの最大長に影響しません。

注意

デフォルト・ディレクトリに含まれる全角文字および半角カナの文字数は,ファイル名に使用できる日本語の文字数に影響を与えます。長い日本語は,なるべくデフォルト・ディレクトリには使用しないでください。



6.8 RMS 以外の API での日本語ファイル名の使用

以下の API は Super DEC 漢字コードセットによる日本語ファイル名を使用できます。 RMS ファイル名コンバータが有効の場合,これらの API はファイル名を Super DEC 漢字コードで入出力します。

  • システム・サービス


        $SETDDIR 
    

なお,日本語 OpenVMS V7.3,V7.3-1 では BACKUP ユーティリティの日本語化方法が変更されたため, BACKUP API では日本語ファイル名を使用できなくなりました。 BACKUP ユーティリティでは引きつづき日本語ファイル名を使用できます。

以下の API はファイル名に Unicode を使用できます。

  • $QIO

RMS ファイル名コンバータは,$QIO の使用するファイル名に影響を与えません。 $QIO は常に従来形式, ISO 8859-1,Unicode のいずれかの形式でファイル名を入出力します。

注意

$QIO の拡張に関する詳細は,『 OpenVMS Extended File Specificationsの手引き』を参照してください。




第 7 章
こんな時どうする日本語 OpenVMS

この章では,「日本語 OpenVMS でこのようなことをしたい」という事項の代表的な以下の項目について説明します。

  • 日本語のヘルプ,メッセージが見たい

  • 自分で文字を作りたい

  • エラー・メッセージの意味がわからない

  • 日本語メールを送りたい

  • 漢字と半角かなの混じった文書を作成したい

  • 個人辞書を使い分けたい

  • JMAIL などで日本語を表示させて上下スクロールしたい

  • DECwindows/Motif の端末エミュレータ上の日本語 EVE でマウスによるカット/ペーストをしたい

  • OpenVMS VAX 上で動作しているアプリケーションを OpenVMS Alpha 上にポーティングしたい

  • デバッガで日本語機能を有効にするには

  • DECwindows/Motif の端末エミュレータ上でキャラクタセル・モードのデバッガを起動するには

  • 日本語 COBOL の日本語項目に日本語データを代入するには

  • アプリケーション・プログラムで宣言した EXIT HANDLER を実行させずにデバッグ・セッションを終了するには



7.1 日本語のヘルプ,メッセージが見たい

DCL コマンドで,次のようにすることで,日本語のメッセージやヘルプが表示されます。


 $ @JSY$SYSTEM:JSY$SWITCH JAPANESE 
 

Alpha では以下のようにして設定することもできます。


 $ JSYCP:==$JSY$CONTROL.EXE 
 $ JSYCP SET LOCALE "ja_JP.deckanji2000" 
 



7.2 自分で文字を作りたい

CMGR ユーティリティでは,ユーザ定義文字の作成/編集をすることができます。作った文字はプリロード・ファイルとして使用することもできますし,オンデマンド・ローディングで使用することもできます。

詳しくは,『フォント管理ユーティリティ 利用者の手引き』をご覧ください。

7.3 エラー・メッセージの意味がわからない

メッセージ / ヘルプが役にたちます。例えば %fac-c-xxxxxx, abcdefghijk.... というようなエラー・メッセージがでた場合,次のようにすることで,そのエラー・メッセージの説明やそれに対する処置を表示します。


 $ HELP/MESSAGE xxxxxx 
 



7.4 日本語メールを送りたい

日本語メール・ユーティリティを使用することで,日本語で電子メールを送ることができます。 DCL コマンドで次のようにすることで日本語メール・ユーティリティを使用できます。


 $ JMAIL 
 

詳しくは,『日本語ユーティリティ 利用者の手引き』をご覧ください。

注意

日本語OpenVMS I64 では,JMAIL はサポートしていません。



7.5 漢字と半角かなの混じった文書を作成したい

DEC XTPU を利用することで,漢字と半角かなの混じった文書を作成することができます。 DCL コマンドで次のようにして DEC XTPU を起動します。


 $ EDIT/XTPU 
 

漢字と半角かなを使ってテキストを作り,ファイルに保存する前に, [DO] キーでコマンド・プロンプトへ行き,次のように入力します。


 Command: SET CODESET OUTPUT DECKANJI2000 
 

これで,ファイルに漢字/半角かな混じりの文書を保存することができます。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項