DEC Cランタイム・ライブラリ・ユーティリティで提供される, 次のコマンドとその構文について説明します。
メッセージ・テキスト・ソース・ファイルをメッセージ・ カタログ・ファイルにマージします。
GENCAT msgfile[,...] catfile
メッセージ・テキスト・ソース・ファイルの名前。 省略時のファイル・タイプは.MSGXです。
メッセージ・カタログ出力ファイルの名前。catfileがすでに存在する場合には, 既存のカタログのメッセージも含んだ新しいバージョンが作成されます。 ファイル・タイプは.CATでなければなりません。
メッセージ・テキスト・ソース・ファイルは, ユーザが作成するテキスト・ファイルであり, ユーザのプログラムから出力されるメッセージをここに入れます。 テキスト・ソース・ファイルには,任意のテキスト・エディタで, メッセージを入力できます。メッセージは,通常, プログラムの機能サブセットに相当するセットにグループ化できます。 各メッセージは,そのセット内で一意の数字の識別子を持ちます。 メッセージ・テキスト・ソース・ファイルには, セットおよび個別メッセージを処理するための, GENCATで認識されるコマンドを指定することもできます。
メッセージ・テキスト・ソース・ファイルは,いくつ指定しても構いません。 GENCATコマンドは,複数のソース・ファイルを,指定された順に1つずつ処理します。 連続する各ソース・ファイルが,カタログを変更します。
catfileという名前のメッセージ・カタログが存在する場合,GENCATは, 旧バージョンの内容を含むファイルを,新バージョンのファイルとして作成し, これを更新します。メッセージ・カタログが存在しない場合,GENCATは, catfileという名前のカタログを作成します。
catfileには,次のコマンドを指定できます。
textをメッセージとして,識別子message_number (メッセージ番号)とともに挿入します。この場合,次のガイドラインに従います。
set_numberで示されるメッセージのセットを削除します。
引用文字をcharacterに設定します。詳細は,例を示した節を参照してください。
このコマンド以降に入力されるすべてのメッセージを, set_numberで示されるセットに設定することを指定します。別の $setコマンドを入力することによって,セットを変更できます。ただし, セット番号は昇順で入力しなければなりません。GENCATセッションの中で, 番号の低いセットに戻ることはできません。 コマンドが使用されない場合,省略時のセット番号は1です。
各初期キーワードまたは番号のあとに,空白がなければなりません。 GENCATユーティリティは,行の先頭にスペース,タブ,またはドル記号($)文字 (スペース,タブ,または改行文字が続く場合)がある場合,その行を無視します。 このため,この並びを使用して,catfile内でコメントを指定できます。 空白行も無視されます。GENCATは,$delset,$quote,または $setコマンドに続く文字を無視するため, これらのコマンドの後にコメントを指定することもできます。
数字ではじまる行は,カタログに取り込まれるメッセージを表します。メッセージ ID番号とメッセージ・テキストの間に,任意の数の空白を指定できます。ただし, メッセージ・テキストが引用符で区切られていない場合は,スペースまたはタブ文字を 1つだけ指定することをおすすめします。 メッセージ・テキストが引用符で区切られていない場合,GENCATは, 空白もメッセージの一部として処理します。なお, メッセージ・テキストが引用符で区切られている場合には,GENCATは, メッセージIDと先頭の引用符とのあいだのスペースまたはタブを,すべて無視します。
C言語で認識されるようなエスケープ・シーケンスを,テキストの中で使用できます。 エスケープ文字のバックスラッシュ(\)を使用すると, メッセージ・テキストに特殊文字を挿入できます。 表 4-1を参照してください。
エスケープ・ シーケンス | 文字 |
---|---|
\n | 改行 |
\t | 水平タブ |
\v | 垂直タブ |
\b | バックスペース |
\r | キャリッジ・リターン |
\f | 改ページ |
\\ | バックスラッシュ文字(\)。 メッセージ・テキストを次の行に継続するのに使用する。 |
\ddd | 8進数ddd に対応するシングル・バイト文字。1〜3桁の8進数を指定できる。ただし, 8進数に続く文字がやはり有効な8進数の場合は,先頭にゼロを指定する必要がある。 たとえば,$ (ドル記号)の8進数は44である。メッセージに$5.00を挿入するには, \445.00ではなく,\0445.00を使用する。そうでない場合には,5が, 8進数の一部として解析される。 |
$set 10 Communication Error Messagesこの例は,ソース・ファイルの中で$setコマンドを使用し, メッセージ・グループに対してセット番号を割り当てます。
メッセージ・セット番号は10です。この$setコマンドと次の $setコマンドの間のすべてのメッセージに,メッセージ・セット番号 10が割り当てられます(セット番号は昇順に割り当てられなければなりませんが, 番号が連続している必要はありません)。
なお,$setコマンドにはコメントを指定できます。
$delset 10 Communication Error Messagesこの例は,$delsetコマンドを使用して,指定されたメッセージ・セット (この場合は10)に属するすべてのメッセージを,カタログから削除します。
$delsetコマンドは,同じソース・ファイル内の$setコマンドに関して, 正しいセット番号の順序で指定する必要があります。なお, $delsetコマンドにはコメントを指定できます。
12 "file removed"この例は,メッセージ・テキストの入力,およびそれに対するメッセージ ID番号の割り当て方法を示します。この場合,メッセージID 12が, これに続くテキストに割り当てられます。
メッセージID番号とメッセージ・テキストのあいだには,少なくとも 1つのスペースまたはタブ文字が必要ですが, 複数のスペースまたはタブを指定しても構いません。 複数のスペースまたはタブを指定した場合,これらは, メッセージ・テキストが引用符で囲まれていると無視され, メッセージ・テキストが引用符で囲まれていなければテキストの一部と見なされます。
メッセージ番号は,1つのメッセージ・セットの中で昇順でなければなりませんが, 番号が連続している必要はありません。
メッセージ番号の後から行の終端までのすべてのテキストが, メッセージ・テキストとして取り込まれます。 行の最終文字としてエスケープ文字のバックスラッシュ(\)を指定すると, メッセージ・テキストは次の行に継続します。次の例を参照してください。
This is the text associated with \ message number 5.
この例に示す2行は,次の1行のメッセージを定義します。
This is the text associated with message number 5.
$quote " Use a double quote to delimit message text $set 10 Message Facility - Quote command messages 1 "Use the $quote command to define a character \ \n for delimiting message text" \n 2 "You can include the \"quote\" character in a message \n \ by placing a \\ (backslash) in front of it" \n 3 You can include the "quote" character in a message \n \ by having another character as the first nonspace \ \n character after the message ID number \n $quote 4 You can disable the quote mechanism by \n \ using the $quote command without \n a character \ after it \nこの例は,引用文字(引用符)の効果を示します。
$quoteコマンドは,二重引用符(")を引用文字として定義します。引用文字は, メッセージ番号の後に指定されるスペース以外の最初の文字でなければなりません。 2番目の引用文字以降のテキストは,すべて無視されます。
この例は,メッセージ・テキストに引用文字を指定する 2通りの方法についても示しています。
この例は,次のことも示しています。
変換ソース・ファイルから変換テーブル・ファイルを作成します。 変換テーブル・ファイルは,ICONV CONVERTコマンドが,ファイル内の文字を, あるコードセットから別のコードセットに変換するのに使用されます。
ICONV COMPILE sourcefile tablefile
変換ソース・ファイルの名前。省略時のファイル・タイプは.ISRCです。 弊社は変換ソース・ファイルのファイル命名規則として,次の規則を使用します。
fromcodeset_tocodeset.isrc
作成する変換テーブル・ファイルの名前。省略時のファイル・タイプは.ICONVです。 変換テーブル・ファイルのファイル命名規則は次のとおりです。
fromcodeset_tocodeset.iconv
公用変換テーブル・ファイルは,論理名 SYS$I18N_ICONVで定義されるディレクトリにあります。 新しく作成した変換テーブル・ファイルを, システム単位で使用できるようにするには,これを同じディレクトリに格納します。
注意 - このインプリメンテーションにおける tocodesetエンコードには,インプリメンテーションの制約があります。 tocodeset内の文字は,4番目のバイトに0XFFを使用してはなりません。
変換ソース・ファイルには,特定の変換についての文字変換規則が含まれます。
コードセット変換ソース・ファイルの形式は,次のように定義されます。
<fromcodeset_mb_cur_max> value <fromcodeset_mb_cur_min> value <tocodeset_mb_cur_max> value <tocodeset_mb_cur_min> value <fallback_code> value <escape_char> value <comment_char> value <fromcodeset_range> value...value;value...value;...;value...value ICONV_TABLE fromvalue tovalue fromvalue tovalue . . . . . . fromvalue tovalue END ICONV_TABLEここで,シンボル<...>およびこれに対応する値は,コードセット定義であり, fromvalue/tovalueのペアは,文字変換規則です。
コードセット宣言は,文字変換規則の前に指定しなければなりません。各宣言は, 1桁目からはじまる山括弧で囲まれたシンボル,1つ以上の空白(タブまたはスペース), シンボルに割り当てられる値の順に構成されます。 表 4-2を参照してください。
表 4-2 コードセット宣言 :(クリックで表示)
fromcodesetに対してコードセット・エンコード範囲を指定する場合, すべての文字ゾーンを指定しなければなりません。 <fromcodeset_range>の指定で文字ゾーンが抜けている場合, コードセット変換が正しく行われないことがあります。他の DEC Cランタイム・ライブラリ(RTL)でサポートされるfromcodesetに対して, コードセット・エンコード範囲を正しく指定することは,きわめて重要です。 この指定が正しく行われなければ,iconvと,他の DEC C RTLでのコードセット・サポートが一致しません。たとえば,EUCJPに対するfromcodeset範囲は次のように指定されます。
<fromcodeset_range> \x0...\x7f;\x8e\xa1...\x8e\xfe; \xa1\xa1...\xfe\xfe;\x8f\xa1\xa1...\x8f\xfe\xfe<fromcodeset_range>値の設定は,文字変換規則値の設定と同じです。 8進,10進,または16進数を使用できます。
文字変換規則は,1桁目から文字列ICONV_TABLEが指定されている行と, 1桁目から文字列END ICONV_TABLEが指定されている行のあいだの,すべての行です。
文字変換規則は,1桁目からはじめる必要があります。
空白行,および1桁目にコメント文字が指定されている行は,無視されます。 なお,コメントは省略可能です。
文字変換規則は,次の2種類の形式のいずれかで指定します。
fromvalue tovalue fromvalue...fromvalue tovaluefromvalueとtovalueの間には,1つ以上の空白 (タブまたはスペース)を指定します。
単一文字変換規則を定義するには,最初の形式を使用します。この例を次に示します。
\d32 \d101 \d37 \d106文字変換規則の範囲を定義するには,2番目の形式を使用します。この形式の場合, 最後に指定するfromvalueは,先頭のfromvalue以上でなければなりません。 範囲で定義される連続するfromvalueは,昇順でtovalueに変換されます。
たとえば,次の行について考えてみます。
\d223\d32...\d223\d35 \d129\d254この行は,次のように解釈されます。
\d223\d32 \d129\d254 \d223\d33 \d129\d255 \d223\d34 \d130\d0 \d223\d35 \d130\d1fromvalueおよびtovalueは,次のように設定されます。
- 10進定数は,エスケープ文字と小文字のdを頭に付けて, 1〜3桁の10進数で定義する。例: \d42。
- 8進定数は,エスケープ文字を頭に付けて,1〜3桁の8進数で定義する。 例: \141。
- 16進定数は,エスケープ文字と小文字のxを頭に付けて, 1〜2桁の16進数で定義する。例: \x6a。
各定数は,シングル・バイト値を表します。2つ以上の10進,8進,または 16進定数を連結することによって,マルチバイト値を表すことができます。
注意 - 定数を連結してマルチバイト値を構成する場合,その基数(10進,8進,または 16進)は同じでなければなりません。変換ソース・ファイルには, Portable Character Set内の文字のみ使用できます。
ICONV CONVERTコマンドの説明も参照してください。
エラー
処理中にエラーが発生した場合,ICONV COMPILEはtablefile出力を作成しません。 警告メッセージが出された場合は,有効なテーブル・ファイルが作成されます。 ただし,警告はユーザ・エラーを示すものなので, 返された警告メッセージをチェックすることが必要です。いくつかのICONV COMPILEエラー・メッセージ,およびその説明を次に示します。
%ICONV-E-INVFCSRNG, syntax error in <fromcodeset_range> definitionこのエラーは,<fromcodeset_range>シンボルの定義が, 決められた構文に従っていない場合に発生します。 <fromcodeset_range>シンボルはエンコード範囲を定義するもので, マルチバイト・コードセットでは必要です。
%ICONV-E-INVSYNTAX, invalid file syntaxこのエラーは,ソース内の行が,決められた構文に従っていない場合に発生します。
%ICONV-E-BADTABLE, bad table caused by invalid value for <fromcodeset_range> definitionこのエラーは,コードセット・エンコード範囲に, 無効な値が指定された場合に発生します。エンコード範囲は, <fromcodeset_range>シンボルで定義されます。
例
$ ICONV COMPILE /LISTING EUCTW_DECHANYU.ISRC EUCTW_DECHANYU.ICONVこの例は,EUCTWコードセットをDECHANYUコードセットに変換するための, 変換テーブル・ファイルの作成方法を示しています。リスト・ファイル EUCTW_DECHANYU.LISには,ソース・ファイルのリスト, およびコンパイラによって生じたエラー・メッセージが含まれます。
ICONV CONVERT
ファイル内の文字を,あるコードセットから別のコードセットへ変換します。 変換された文字は,出力ファイルに書き込まれます。
フォーマット
ICONV CONVERT infile outfileパラメータ
- infile
- 必須。
変換する文字を格納したファイルの名前。 /FROMCODE修飾子はこのファイルの文字コードセットを指定します。
- outfile
- 必須。
ICONV CONVERTによって作成されるファイルの名前。 /TOCODE修飾子はこのファイルの文字のコードセットを指定します。
修飾子
- /FROMCODE=fromcodeset
- 必須。
infileの文字のコードセットを指定します。
- /TOCODE=tocodeset
- 必須。
outfileの文字コードセットを指定します。
説明
ICONV CONVERTコマンドは,infile内の文字を, /FROMCODE修飾子で指定されるコードセットから, /TOCODE修飾子で指定されるコードセットへ変換します。 変換されたファイルは,outfileに書き込まれます。変換は,次の2種類の方法のいずれかで行われます。
- 変換テーブル・ファイルを使用して,変換文字を検索する。 これが省略時の方法であり,次の変換テーブル・ファイルの命名規則が適用される。 変換テーブルは,DCLコマンドのICONV COMPILEにより作成される。
- 必要な変換を行う共用イメージ・ファイルを使用する。この方法は, テーブルを使用した変換が便利でない場合(たとえば, アルゴリズムの大きさに対して仮想アドレス空間が大きい場合)にも使用できる。 また,テーブルを使用した変換ができない場合(たとえば, ISO2022のような状態依存のコーディングの場合)にも使用できる。
コンバータのファイルの命名規則は次のとおりです。
fromcodeset_tocodeset.iconv
注意 - 変換ファイルをシステムに追加する場合には, 同じファイル命名規則を使用しなければなりません。
ICONV CONVERTは,現在のディレクトリでコンバータ・ファイルを検索します。 現在のディレクトリ内でこのファイルが見つからなかった場合は,論理名 SYS$I18N_ICONVによって定義されるシステム・ディレクトリを検索します。
例
$ ICONV CONVERT /FROMCODE=EUCTW /TOCODE=DECHANYU - _$ FROMFILE.DAT TOFILE.DATこの例は,EUCTW文字からDECHANYU文字への変換を示しています。ファイル FROMFILE.DAT内のEUCTW文字は,対応するDECHANYU文字へ変換されます。 変換された文字は,ファイルTOFILE.DATに格納されます。
LOCALE COMPILE
ロケール・ソース・ファイルを,バイナリのロケール・ファイルに変換します。 バイナリのロケール・ファイルは,国際化の論理名の設定に依存する, ユーティリティおよびCルーチンによって使用されます。
フォーマット
LOCALE COMPILE sourcefileパラメータ
- sourcefile
- 必須。
ロケールの各カテゴリを定義するロケール・ソース・ファイルの名前。 ソース・ファイルの省略時のファイル・タイプは.LSRCです。 ロケール・ソース・ファイルの形式の定義については,第2章を参照してください。
修飾子
- /CHARACTER_DEFINITIONS=filename
- オプション。省略時の設定:/NOCHARACTER_DEFINITIONS
ロケール用の文字セット記述ファイル(charmap)を指定します。このファイルは, 文字を実際の文字エンコードにマップします。
charmapが指定されない場合には,ロケール・ソース・ファイルの中で, シンボル名(照合シンボル・キーワードで定義された照合シンボルを除く) を使用できません。
charmapファイル形式の定義については,第3章を参照してください。 charmapの省略時のファイル・タイプは.CMAPです。
- /DISPLAY[=[NO]HOLE]
- オプション。省略時の設定:/NOHOLE
中国に関するロケールおよびターミナルとともに使用して, 4バイト文字がターミナル・ディスプレイ上で4つの印字位置(桁) を占めることを指定します。省略時の値(/DISPLAY=NOHOLE)は,4バイト文字が 2つの印字位置を占めることを指定します。
- /IGNORE=WARNINGS
- オプション。省略時の設定:/NOIGNORE
LOCALE COMPILEが警告メッセージを出した場合でも, 出力ファイルを作成することを指定します。警告メッセージは, 結果として出力されたロケール・ファイルを使用する前に, 修正が必要なユーザ・エラーを示していることがあるので, /IGNOREキーワードは十分に注意して使用してください。
- /LISTING[=filename]
- オプション。バッチの場合の省略時の設定:/LISTING。 会話型の場合の省略時の設定:/NOLISTING。
リスト・ファイルの名前を指定します。/SHOW修飾子は, リスト・ファイルに含まれる情報の内容を制御します。ファイル名が省略された場合, 省略時のファイル名はsourcefile.LISになります。
- /OUTPUT=[filename]
- オプション。省略時の設定:/OUTPUT=sourcefile.LOCALE
出力ファイルの名前を指定します。/OUTPUT修飾子の指定が省略された場合, 省略時の出力ファイル名はsourcefile.LOCALEになります。公用のロケールは, 論理名SYS$I18N_LOCALEで定義されるディレクトリに保存されます。 出力ファイルが別の場所にある場合,ロケールはプライベートです。
/NOOUTPUTが指定された場合,コンパイルが正常に終了しても, コンパイラは出力ファイルを作成しません。
- /SHOW[=(keyword[,...])]
- オプション。省略時の設定:/SHOW=(SOURCE,TERMINAL)
/SHOWは/LISTINGとともに使用して, リスト・ファイルに含まれる情報の内容を制御します。 次のキーワードを指定できます。
キーワード 説明 ALL すべての情報を含む。 BRIEF シンボル・テーブルの要約を含む。 [NO]CHARACTER_
DEFINITIONScharmapファイルを含む,または含まない。 NONE 情報をいっさい出力しない。 NONEが指定された場合,リスト・ファイルは,発生したエラー・メッセージだけを含む。 [NO]SOURCE ソース・ファイルのリストを含む,または含まない。 [NO]STATISTICS コンパイラ性能情報を含む,または含まない。 [NO]SYMBOLS charmapシンボル・テーブルのリストを含む,または含まない。 [NO]TERMINAL ターミナルにコンパイラ・メッセージを表示する。 説明
弊社が提供するロケールに加えて,新たなロケールをシステムに追加するには, LOCALE COMPILEコマンドを使用します。ロケールをコンパイルするのに, LOCALE COMPILEは次の2つのファイルを必要とします。
- ロケール用の文字セットを定義するcharmapファイル。 charmapファイルを指定しなければ, ロケール・ソース・ファイルでシンボル名を指定できない。この場合, 処理されるカテゴリに応じて,LOCALE COMPILEはエラーまたは警告メッセージを出し, 出力ファイルは作成されない(/IGNORE修飾子も参照)。
- ロケール・ソース・ファイル。これは,LC_CTYPE,LC_COLLATE,LC_MESSAGES, LC_MONETARY,LC_NUMERIC,LC_TIMEというロケール・カテゴリを,1つ以上記述する。
エラー
次に示すエラー・メッセージは,LOCALE COMPILEコマンドに関係があります。
%LOCALE-E-CASEALRDY, case conversion already exists for 'character'
ここで,characterは,コードセットからの文字です。このエラーは, ロケール・コンパイラがLC_CTYPEカテゴリを処理するときに発生します。これは, characterに対して,複数の大文字/小文字変換が指定されたことを示しています。
%LOCALE-E-PREOFCMAP, premature end of file in charmap file
このエラーは,charmapファイルにEND CHARMAP文が指定されていない場合に発生します。
%LOCALE-E-PREEOFSRC, premature end of file in source file
このエラーは,ロケール・ソース・ファイルで,END文にエラーがある場合に発生します。
%LOCALE-F-NOADDSYM, failed to add symbol to symbol table
このエラーは, コンパイルを終了するのに十分なメモリがない場合に発生することがあります。 プロセスで使用できるメモリ量を確認してください。
%LOCALE-F-NOINITSYM, failed to initialize symbol table
このエラーは, コンパイルを終了するのに十分なメモリがない場合に発生することがあります。 プロセスで使用できるメモリ量を確認してください。
例
$ LOCALE COMPILE EN_GB_ISO8859-1 /CHARACTER_DEFINITIONS=ISO8859-1 - _$ /LIST /SHOW=(CHARACTER_DEFINITIONS,SYMBOLS,STATISTICS)この例は,charmapファイルISO8859-1.CMAPを使用して,ソース・ファイル EN_GB_ISO8859-1.LSRCから,ロケール・ファイル EN_GB_ISO8859-1.LOCALEを作成する方法を示しています。 このロケール・ファイルを使用するには,これを SYS$I18N_LOCALEディレクトリにコピーし,LANG論理名を "EN_GB.ISO8859-1"に設定します。リスト・ファイルには,charmapファイルのリスト, シンボル・テーブル,性能情報, およびコンパイラで生じたエラー・メッセージが含まれます。
LOCALE LOAD
指定されたロケール名を,共用の読み込み専用グローバル・データとして, システムのメモリにロードします。
フォーマット
LOCALE LOAD locale_identifierパラメータ
- locale_identifier
- 必須。
ロードするロケールを識別する文字列。次のいずれかを指定します。
- 公用のロケール名
これは,次の形式で指定します。
language_country.codeset[@modifier]LOCALE LOADは,論理名SYS$I18N_LOCALEで定義される位置で, 公用のロケール・バイナリ・ファイルを検索します。省略時のファイル・タイプは .LOCALEです。指定された名前で使用されているピリオド(.)およびアットマーク(@)は, アンダスコア(_)文字に置き換えられます。
たとえば,指定された名前が"zh_CN.dechanzi@radical"の場合,LOCALE LOADは, 次のバイナリロケール・ファイルを検索します。
SYS$I18N_LOCALE:ZH_CN_DECHANZI_RADICAL.LOCALE
- ファイルの名前
バイナリのロケール・ファイルを指定します。ファイル指定として有効であれば, どのようなファイル指定でもかまいません。 デバイスまたはディレクトリが指定されていない場合,LOCALE LOADは, 現在の呼び出し側のデバイスおよびディレクトリを, 省略時の設定として最初に適用します。これでファイルが見つからない場合, SYS$I18N_LOCALE論理名で定義されるデバイスおよびディレクトリが, 省略時の設定として使用されます。なお,省略時のファイル・タイプは.LOCALEです。
ワイルドカードは使用できません。また,バイナリのロケール・ファイルは, 遠隔ノードに置くことはできません。
修飾子
- なし。
説明
LOCALE LOADコマンドは,指定されたロケール名を, いくつかの共用読み込み専用グローバル・セクションとして, システムのメモリにロードします。 ロードされたロケールにアクセスするプロセスはすべて,ロケールの 1つのコピーを使用するため,システム・メモリ全体に対する需要が抑制されます。このDCLコマンドは特権付きであり,通常はシステム管理者が実行します。 この場合,次の特権が必要です。
- SYSGBL
- PRMGBL
例
$ LOCALE LOAD JA_JP_DECKANJIこれは,JA_JP_DECKANJIロケールをロードする例です。
LOCALE UNLOAD
指定されたロケール名を,システムのメモリからアンロードします。
フォーマット
LOCALE UNLOAD localeパラメータ
- locale
- 必須。
アンロードするロケールを識別する文字列。このパラメータの指定形式については, LOCALE LOADコマンドの説明を参照してください。
修飾子
- なし。
説明
LOCALE UNLOADコマンドは,指定されたロケール名を, システムのメモリからアンロードします。UNLOADコマンドが入力されたときに, プロセスがそのロケールにアクセスしている場合には,このアクセスが終了した後で, グローバル・セクションが削除されます。このDCLコマンドは特権付きであり,通常はシステム管理者が実行します。 この場合,次の特権が必要です。
- SYSGBL
- PRMGBL
注意 - LOCALE LOADコマンドでロードされたロケール・ファイルのみ,アンロードできます。
例
$ LOCALE UNLOAD JA_JP_DECKANJIこれは,JA_JP_DECKANJIロケールをアンロードする例です。
LOCALE SHOW CHARACTER_DEFINITIONS
文字セット記述ファイル(charmap)をリストします。
フォーマット
LOCALE SHOW CHARACTER_DEFINITIONSパラメータ
- なし。
修飾子
- なし。
説明
LOCALE SHOW CHARACTER_DEFINITIONSコマンドは,論理名 SYS$I18N_LOCALEで定義される公用ディレクトリ内の,文字セット記述ファイル (charmap)をすべてリストします。charmapは,シンボル名,およびコード化文字セット内の文字の値を定義します。 また,ロケールをコンパイルするとき,LOCALE COMPILEコマンドによって使用されます。 charmapファイルのファイル・タイプは.CMAPです。
例
$ LOCALE SHOW CHARACTER_DEFINITIONS [SYS$I18N.LOCALES.SYSTEM]DECHANYU [SYS$I18N.LOCALES.SYSTEM]DECHANZI [SYS$I18N.LOCALES.SYSTEM]DECKANJI [SYS$I18N.LOCALES.SYSTEM]DECKOREAN [SYS$I18N.LOCALES.SYSTEM]EUCJP [SYS$I18N.LOCALES.SYSTEM]EUCTW [SYS$I18N.LOCALES.SYSTEM]ISO8859-1 [SYS$I18N.LOCALES.SYSTEM]ISO8859-2 [SYS$I18N.LOCALES.SYSTEM]ISO8859-3 [SYS$I18N.LOCALES.SYSTEM]ISO8859-4 [SYS$I18N.LOCALES.SYSTEM]ISO8859-5 [SYS$I18N.LOCALES.SYSTEM]ISO8859-7 [SYS$I18N.LOCALES.SYSTEM]ISO8859-8 [SYS$I18N.LOCALES.SYSTEM]ISO8859-9 [SYS$I18N.LOCALES.SYSTEM]MITACTELEX [SYS$I18N.LOCALES.SYSTEM]SDECKANJI [SYS$I18N.LOCALES.SYSTEM]SJISこの例は,SYS$I18N_LOCALEディレクトリにあるすべての charmapファイルを示しています。
LOCALE SHOW CURRENT
各種の国際化論理名で定義された,現在の国際化環境の要約を表示します。
フォーマット
LOCALE SHOW [CURRENT]パラメータ
- なし。
修飾子
- なし。
説明
LOCALE SHOW CURRENTコマンドは,ロケール・カテゴリごとの設定,および環境変数 LC_ALLとLANGの値をリストします。CURRENTキーワードは省略時の値のため,省略しても構いません。 カテゴリを定義する論理名は,カテゴリと同じ名前です。たとえば, LC_MESSAGESという論理名は,LC_MESSAGESカテゴリの設定を定義します。 表 4-3は, ロケール・カテゴリについて説明しています。
表 4-3 ロケール・カテゴリ
カテゴリ 説明 LC_COLLATE 照合シーケンスについての情報 LC_CTYPE 文字分類についての情報 LC_MESSAGES プログラム・メッセージの言語,および yes/noプロンプトの形式についての情報 LC_MONETARY 通貨編集形式についての情報 LC_NUMERIC 数値編集形式についての情報 LC_TIME 日付/時刻についての情報 ロケール・カテゴリは,次に示す順序で論理名を検索することによって, それぞれ定義されます。検索は,論理名が見つかるまで行われます。 見つかった論理名が,有効なロケール・ファイルを表していない場合, LOCALE SHOWは,すべてのカテゴリに対して,文字列"C"を表示します。
- LC_ALL
- テーブルの中で指定されているカテゴリに対応する論理名(たとえば, 有効なロケール・カテゴリとしてLC_NUMERICが指定されている場合, LOCALE SHOW CURRENTコマンドは,カテゴリ名, およびこれが定義するロケール名を表示する)。
- LANG
- SYS$LC_ALL
- SYS$*論理名で指定される,ロケール・カテゴリのシステムの省略時の値。 たとえば,カテゴリLC_NUMERICの省略時の値は,SYS$LC_NUMERIC論理名で定義される。
- SYS$LANG
システム管理者は,サイト別システム・スタートアップ・ファイルで SYS$*論理を定義して,省略時のロケールを設定することもできます。 定義が指定されない場合,プログラムは,組み込みのロケール "C"を使用して処理を行います。この場合,LOCALE SHOW CURRENTコマンドは, 現在のロケール・カテゴリに対して,文字列"C"を表示します。
エラー
環境を定義する論理名が誤って定義されていても, 警告メッセージが表示されることはありません。ただし, DEC Cランタイム・ライブラリ・ルーチン setlocaleを使用するアプリケーションが受け取るであろう実際の国際化環境が 正確にリストされます(たとえば,下の例でSPECIAL.LOCALEファイルが存在しない場合, LC_MESSAGESカテゴリの表示はLC_MESSAGES="C"となります)。例
$ DEFINE LC_COLLATE EN_US.ISO8859-1 ! NOTE: the collate category in unquoted $ DEFINE LANG EN_GB_ISO8859-1 $ DEFINE LC_MESSAGES PRIVATE$DISK:[APPL.LOCALES]SPECIAL.LOCALE $ LOCALE SHOW CURRENT LANG="EN_GB_ISO8859-1" LC_CTYPE="EN_GB_ISO8859-1" LC_COLLATE=EN_US_ISO8859-1 LC_TIME="EN_GB_ISO8859-1" LC_NUMERIC="EN_GB_ISO8859-1" LC_MONETARY="EN_GB_ISO8859-1" LC_MESSAGES=PRIVATE$DISK:[APPL.LOCALES]SPECIAL.LOCALE;1 LC_ALL=この例は,LC_COLLATEとLC_MESSAGESを除くすべてのロケール・カテゴリの省略時の値を, EN_GB.ISO8859-1という同じロケールに設定するプロセスを示しています。 二重引用符で囲まれた設定は,その内容が,LANG,LC_ALL,SYS$LC_ALL, SYS$LANGのいずれかの論理名の設定に含まれていることを表します。これに対して, 二重引用符で囲まれていない設定は,そのカテゴリに対する論理名が, 国際化環境を定義していることを表します。この例は, ロケール・カテゴリが完全なファイル名で指定された場合, 完全なファイル名が表示されることも示しています。
LOCALE SHOW PUBLIC
システム上の公用のロケールをすべてリストします。
フォーマット
LOCALE SHOW PUBLICパラメータ
- なし。
修飾子
- なし。
説明
LOCALE SHOW PUBLICコマンドは,システム上の公用のロケールをすべてリストします。 公用のロケールのセットには,DEC Cランタイム・ライブラリで提供される, システム組み込みのロケールに加えて,論理名 SYS$I18N_LOCALEで定義されるディレクトリにあるロケールがすべて含まれます。例
$ LOCALE SHOW PUBLIC C (Built-in) POSIX (Built-in) [SYS$I18N.LOCALES.SYSTEM]EN_GB_ISO8859_1 [SYS$I18N.LOCALES.SYSTEM]EN_US_ISO8859_1 [SYS$I18N.LOCALES.SYSTEM]FR_CA_ISO8859_1 [SYS$I18N.LOCALES.SYSTEM]GRBAGE_LOCALE (bad file header checksum) [SYS$I18N.LOCALES.SYSTEM]JA_JP_DECKANJI (Permanently Loaded)この例は,SYS$I18N_LOCALEディレクトリに 3つのロケール・ファイルを持つシステムを示しています。Cおよび POSIXロケールはシステムに組み込まれているため, SYS$I18N_LOCALEディレクトリにはありません。この例は, 公用ディレクトリに不良ファイルまたはロケールでないファイルがある場合の動作, およびLOCALE LOADコマンドでシステムのメモリにロードされたロケール・ ファイルがある場合の動作も示しています。
LOCALE SHOW VALUE
現在の国際化環境をもとに,1つ以上のキーワードの値を表示します。
フォーマット
LOCALE SHOW VALUE nameパラメータ
- name
- 必須。複数の名前を指定できます。
次のいずれかの名前を指定します。
- キーワード
- キーワードを指定すると, 現在のロケールでのそのキーワードの値が表示されます。
- 値が割り当てられていない整数キーワードの場合は, CHAR_MAX (127)という値が表示されます。
- キーワード値にセミコロン,二重引用符,バックスラッシュ, 制御文字のいずれかが含まれる場合には,その前にエスケープ文字 (通常はバックスラッシュ)が挿入されます。
- カテゴリ
カテゴリを指定すると,そのカテゴリのすべてのキーワードの値が表示されます。
表 4-4は, 指定できるカテゴリとキーワードを示しています。
表 4-4 ロケール・カテゴリとキーワード :(クリックで表示)
注意 - 現在のロケールの設定に影響を及ぼす環境変数が, 無効なロケールを指定している場合,ロケール"C"が設定されます。
カテゴリの一部として,省略時の設定で表示されない他の有効なキーワードには, 次のキーワードが含まれます。
- CHARMAP -ロケールが作成されたときに使用された charmapのファイル指定を表示する。
- CODE_SET_NAME - charmapファイルの定義の対象となるコード化文字セット名を定義する。
- MB_CUR_MAX -マルチバイト文字内の最大バイト数を定義する。
- MB_CUR_MIN -コード化文字セット内の文字の最小バイト数を定義する。
修飾子
- /CATEGORY
- オプション。省略時の設定:カテゴリ名を表示しない。
各キーワードの前にカテゴリ名を表示します。
- /KEYWORD
- オプション。省略時の設定:キーワード名を表示しない。
キーワードの値の前にキーワード名を表示します。
説明
LOCALE SHOW VALUEコマンドは,現在の国際化環境をもとに, 1つ以上のキーワードの値を表示します。エラー
%LOCALE-E-NOKEYFND, no keyword keyword-name found
keyword-nameは,有効なキーワードではありません。 表 4-4 にリストされているキーワードだけを指定してください。
例
$ LOCALE SHOW VALUE NOEXPR "^[nN][[:alpha:]]*"修飾子を指定せずにLOCALE SHOW VALUEを実行すると,NOEXPR文字列の値 が表示されます。 $ LOCALE SHOW VALUE /CATEGORY NOEXPR LC_MESSAGES "^[nN][[:alpha:]]*"/CATEGORYを指定すると,NOEXPR文字列の値の前に,カテゴリ名 (LC_MESSAGES)が表示されます。 $ LOCALE SHOW VALUE /KEYWORD NOEXPR noexpr= "^[nN][[:alpha:]]*"/KEYWORDを指定すると,キーワード値の前に,キーワード名が表示されます。 $ LOCALE SHOW VALUE /KEYWORD /CATEGORY NOEXPR LC_MESSAGES noexpr= "^[nN][[:alpha:]]*"/KEYWORDおよび/CATEGORYを指定すると,キーワード値の前に, カテゴリおよびキーワード名が表示されます。
zic
指定されたタイム・ゾーンのソース・ファイルのデータを使用して, タイム・ゾーン変換情報を格納したバイナリ・ファイルを作成します。
フォーマット
zic [-v] ["-L" leapseconds] [-d directory] [-y yearistype] infileパラメータ
- infile
- 必須。
zicが読み込むソース・ファイル。
修飾子
- -v
- 省略可能。
データ・ファイルに指定されている年が, 時刻値によって表現可能な年の範囲をこえている場合は通知します。
- "-L"
- 省略可能。
指定された名前のファイルから,うるう秒情報を読み込みます。 このオプションを使用しない場合は,うるう秒情報が出力ファイルに格納されません。
- -d
- 省略可能。
標準ディレクトリではなく, 指定されたディレクトリに時間変換情報ファイルを作成します。
- -y
- 省略可能。
年のタイプを確認するときに,yearistypeではなく, 指定されたコマンド・ファイルを使用します。
説明
zicコマンドを使用すると, ZICコンパイラはコマンド行に指定されたファイルからテキストを読み込み, この入力に指定された時間変換情報ファイルを作成できます。ファイル名が - の場合には,標準入力が読み込まれます。
入力行は複数のフィールドで構成されます。 フィールドの間は任意の数のスペース文字で区切ることができます。 入力行の先頭と末尾の空白は無視されます。入力行で, 引用符で囲まれていないシャープ記号(#)はコメントの先頭を示し, この記号から行の末尾までがコメントであると解釈されます。 スペース文字とシャープ文字をフィールドの一部として使用するときは,二重引用符 (" ")で囲みます。コメントの後の空白行は無視されます。
空白行以外の行は,次の3種類のいずれかであると解釈されます。
例
$ zic -v "-L" leapseco -d [-] myafricaZICコンパイラはmyafricaというタイム・ゾーンのソース・ファイルをコンパイルします。 指定されたパラメータをもとに,ZICは次の処理を行います。
- 表現可能な範囲をこえる年を通知します。
- うるう秒を適用して出力ファイルを作成します。
- 現在のディレクトリに結果を格納します。
日付/時刻関数についての詳細は, 『DEC C Run-Time Library Reference Manual for OpenVMS Systems』 を参照してください。
[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]