前へ | 次へ | 目次 | 索引 |
処理中にエラーが発生した場合, 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> シンボルで定義されます。
#1 |
---|
$ ICONV COMPILE /LISTING EUCTW_DECHANYU.ISRC EUCTW_DECHANYU.ICONV |
この例は,EUCTWコードセットをDECHANYUコードセットに変換するための,変換テーブル・ファイルの作成方法を示しています。リスト・ファイルEUCTW_DECHANYU.LISには,ソース・ファイルのリスト,およびコンパイラによって生じたエラー・メッセージが含まれます。
ファイル内の文字を,あるコードセットから別のコードセットへ変換します。変換された文字は,出力ファイルに書き込まれます。
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 によって定義されるシステム・ディレクトリを検索します。
#1 |
---|
$ ICONV CONVERT /FROMCODE=EUCTW /TOCODE=DECHANYU - _$ FROMFILE.DAT TOFILE.DAT |
この例は,EUCTW文字からDECHANYU文字への変換を示しています。ファイルFROMFILE.DAT内のEUCTW文字は,対応するDECHANYU文字へ変換されます。変換された文字は,ファイルTOFILE.DATに格納されます。
ロケール・ソース・ファイルを,バイナリのロケール・ファイルに変換します。バイナリのロケール・ファイルは,国際化の論理名の設定に依存する,ユーティリティおよびCルーチンによって使用されます。
LOCALE COMPILE sourcefile
sourcefile
必須。ロケールの各カテゴリを定義するロケール・ソース・ファイルの名前。ソース・ファイルのデフォルトのファイル・タイプは .LSRC です。ロケール・ソース・ファイルの形式の定義については, 第 2 章 を参照してください。
/CHARACTER_DEFINITIONS=filename
オプション。デフォルトの設定:/NOCHARACTER_DEFINITIONS
/NOCHARACTER_DEFINITIONSロケール用の文字セット記述ファイル(charmap)を指定します。このファイルは,文字を実際の文字エンコードにマップします。
charmapが指定されない場合には,ロケール・ソース・ファイルの中で,シンボル名(照合シンボル・キーワードで定義された照合シンボルを除く) を使用できません。
charmapファイル形式の定義については, 第 3 章 を参照してください。 charmapのデフォルトのファイル・タイプは.CMAP です。
/DISPLAY[=[NO]HOLE]
オプション。デフォルトの設定:/NOHOLE中国に関するロケールおよびターミナルとともに使用して, 4バイト文字がターミナル・ディスプレイ上で4つの印字位置(桁) を占めることを指定します。デフォルトの値(/DISPLAY=NOHOLE)は, 4バイト文字が2つの印字位置を占めることを指定します。
/IGNORE=WARNINGS
オプション。デフォルトの設定:/NOIGNORE
/NOIGNORELOCALE COMPILEが警告メッセージを出した場合でも,出力ファイルを作成することを指定します。警告メッセージは,結果として出力されたロケール・ファイルを使用する前に,修正が必要なユーザ・エラーを示していることがあるので, /IGNOREキーワードは十分に注意して使用してください。
/LISTING[=filename]
オプション。バッチの場合のデフォルトの設定:/LISTING。会話型の場合のデフォルトの設定:/NOLISTING。
/NOLISTINGリスト・ファイルの名前を指定します。 /SHOW修飾子は,リスト・ファイルに含まれる情報の内容を制御します。ファイル名が省略された場合,デフォルトのファイル名はsourcefile.LISになります。
/OUTPUT=[filename]
オプション。デフォルトの設定:/OUTPUT=sourcefile.LOCALE
/NOOUTPUT出力ファイルの名前を指定します。 /OUTPUT修飾子の指定が省略された場合,デフォルトの出力ファイル名はsourcefile .LOCALEになります。公用のロケールは,論理名SYS$I18N_LOCALEで定義されるディレクトリに保存されます。出力ファイルが別の場所にある場合,ロケールはプライベートです。
/NOOUTPUTが指定された場合,コンパイルが正常に終了しても,コンパイラは出力ファイルを作成しません。
/SHOW[=(keyword[,...])]
オプション。デフォルトの設定:/SHOW=(SOURCE,TERMINAL)/SHOWは/LISTINGとともに使用して,リスト・ファイルに含まれる情報の内容を制御します。次のキーワードを指定できます。
キーワード 説明 ALL すべての情報を含む。 BRIEF シンボル・テーブルの要約を含む。 [NO]CHARACTER_DEFINITIONS charmapファイルを含む,または含まない。 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
このエラーは,コンパイルを終了するのに十分なメモリがない場合に発生することがあります。プロセスで使用できるメモリ量を確認してください。
#1 |
---|
$ 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_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
#1 |
---|
$ LOCALE LOAD JA_JP_DECKANJI |
これは,JA_JP_DECKANJI ロケールをロードする例です。
指定されたロケール名を,システムのメモリからアンロードします。
LOCALE UNLOAD locale
locale
必須。アンロードするロケールを識別する文字列。このパラメータの指定形式については, LOCALE LOADコマンドの説明を参照してください。
なし
LOCALE UNLOAD コマンドは,指定されたロケール名を,システムのメモリからアンロードします。 UNLOADコマンドが入力されたときに,プロセスがそのロケールにアクセスしている場合には,このアクセスが終了した後で,グローバル・セクションが削除されます。この DCL コマンドは特権付きであり,通常はシステム管理者が実行します。この場合,次の特権が必要です。
- SYSGBL
- PRMGBL
注意
LOCALE LOADコマンドでロードされたロケール・ファイルのみ,アンロードできます。
#1 |
---|
$ LOCALE UNLOAD JA_JP_DECKANJI |
これは,JA_JP_DECKANJI ロケールをアンロードする例です。
文字セット記述ファイル(charmap)をリストします。
LOCALE SHOW CHARACTER_DEFINITIONS
なし
なし
LOCALE SHOW CHARACTER_DEFINITIONS コマンドは,論理名SYS$I18N_LOCALEで定義される公用ディレクトリ内の,文字セット記述ファイル(charmap)をすべてリストします。charmapは,シンボル名,およびコード化文字セット内の文字の値を定義します。また,ロケールをコンパイルするとき,LOCALE COMPILEコマンドによって使用されます。 charmapファイルのファイル・タイプは.CMAPです。
#1 |
---|
$ 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 ファイルを示しています。
前へ | 次へ | 目次 | 索引 |