このドキュメントでは、次のトピックについて説明します。
ICU ライブラリは、ICU 変換および照合データのフルセットとともに常にインストールされます。 コンフィグレーションファイル NATCONV.INI の設定値が A フォーマットに適用されます。 U フォーマットに対して、対応するチェック(文字が大文字に変換されるときなど)が ICU ライブラリによって行われます。
注意:
ICU バージョンおよびサポートされるコードページに関する情報を取得するには、Natural for Windows で使用可能な SYSCP
ユーティリティを使用します。
関連モジュールを、共有ニュークリアスに静的にリンクするか、または RCA 手法によって動的にロードできます。
注意:
現在使用中の ICU バージョンと Unicode 仕様に関する情報は、SYSCP
ユーティリティのメインメニューで入手できます。 Natural for Mainframes の『ユーティリティ』ドキュメントの「SYSCP の起動と終了」を参照してください。
次の 3 つのロードモジュールが提供されています。
ロードモジュール | 説明 |
---|---|
NATICU |
コードページおよび Unicode 変換機能および照合サービスを含みます。 前者は、1 つのコードページから別のコードページまたは Unicode への変換、およびその逆の変換に必要です。 後者は、ロケール ID を考慮した Unicode 文字列の文字列比較に使用されます。
サイズを小さくするために、最も一般的なコードページおよびロケールのみが含まれています。 コードページはすでに |
NATICUCV |
NATICU と同じですが、照合サービスはありません。 したがって、サイズは大幅に小さくなっています。
|
NATICUXL |
NATICU と同じですが、現在サポートされている ICU バージョンによって提供される使用可能なすべてのコンバータおよびロケールを含みます。 約 230 の異なるコードページ(主に EBCDIC コードページ)および 238 のロケールをサポートします。
したがって、モジュールサイズは非常に大きくなっています。
注意: |
「さまざまな目的のための NATICU モジュール」も参照してください。
その他のテーブル:
テーブル | 説明 |
---|---|
NATSCTU |
Unicode 文字に必要なスキャナテーブル。 Natural ニュークリアスによる使用のために、現在サポートされている Unicode バージョンの Unicode 文字のプロパティをマップします。 このテーブルは変更できません。 |
NATCPTAB |
オプションのシングルバイトコードページ変換アクセラレータテーブル。 このテーブルが存在する場合は、ICU 機能を呼び出さずにこのテーブルによって実行されるため、コードページ間の変換が速くなります。 詳細については、Natural for Mainframes の『オペレーション』ドキュメントの「変換テーブル」を参照してください。 |
ICU は、広範な種類のデータテーブルを使用して、そのサービスの多くを提供しています。 例として、コンバータマッピングテーブル、照合ルール、音写ルール、改行イタレータルールおよびディクショナリ、その他のロケールデータなどを挙げることができます。 Natural 用の ICU データライブラリは、必要なデータ項目を含むパッケージとして提供されています。 単一のデータ項目ファイルの代わりにパッケージを使用すると、ファイルへのアクセスは初期化中にパッケージをロードするときの 1 回のみとなるため、パフォーマンスが向上します。 ただし、データ項目を追加すると、パッケージを再構築することが必要となるため、柔軟性は低くなります。
Natural バージョン 4.2.5 以降、および ICU バージョン 3.8 以降ではそれぞれ、ICU データライブラリをカスタマイズできます。 カスタマイズの主要な目的は、既存または新規のコンバータマッピングテーブルを追加することですが、他のデータ項目(照合ルール、改行イタレータルール、その他のロケールデータなど)を追加することも可能です。
ICU データライブラリのカスタマイズツールは、ServLine24(http://servline24.softwareag.com/public/)の Component Downloads エリアから入手可能です。 ICU データライブラリのカスタマイズ方法の詳細については、ダウンロードした zip ファイルに含まれる readme.txt ファイルを参照してください。
このセクションでは、Unicode およびコードページのサポートとともに使用されるプロファイルパラメータについて説明します。 すべてのプラットフォームですべてのプロファイルパラメータが使用できるわけではありません。
次のプロファイルパラメータは、すべてのプラットフォームで使用できます。
パラメータ | 説明 |
---|---|
CP |
Natural のデフォルトコードページを定義します。 このコードページは、単一のオブジェクト(Natural ソースなど)に対して定義されたコードページがない場合に、ランタイム環境および開発環境に対して使用されます。 プラットフォームに適したコードページのみを使用できます。 つまり、例えば、EBCDIC コードページは、Windows、UNIX、または OpenVMS プラットフォームには定義できません。また、ASCII コードページは、メインフレームプラットフォームには定義できません。 メインフレームでは、間違ったコードページが使用された場合に、初期化エラーメッセージが表示されます。 注意: |
CPCVERR |
Unicode からコードページへ、コードページから Unicode へ、または 1 つのコードページから別のコードページへ変換するときに発生する変換エラーが、Natural エラーになるかどうかを指定します。 このパラメータは、Natural ソースをソースエリアにロードするとき、または Natural ソースをカタログするときの Natural ソースの変換には関連しません。 メインフレームプラットフォームでは、端末エミュレーションの I/O の前に Unicode フィールドがコードページに変換されたとは見なされません。 この場合、ICU によって定義された置換文字は、 |
CPOBJIN |
データのバッチ入力ファイルのエンコードに使用するコードページを指定します。 このファイルは、Natural プロファイルパラメータ CMOBJIN (Windows、UNIX、および OpenVMS)またはデータセット CMOBJIN (メインフレーム)で定義されています。
|
CPPRINT |
バッチ出力ファイルのエンコードに使用するコードページを指定します。 このファイルは、Natural プロファイルパラメータ CMPRINT (Windows、UNIX、および OpenVMS)またはデータセット CMPRINT (メインフレーム)で定義されています。
|
CPSYNIN |
コマンドのバッチ入力ファイルのエンコードに使用するコードページを指定します。 このファイルは、Natural プロファイルパラメータ CMSYNIN (Windows、UNIX、および OpenVMS)またはデータセット CMSYNIN (メインフレーム)で定義されています。
|
SRETAIN |
すべての既存のソースを元のエンコードフォーマットで保存する必要があることを指定します。 「環境のカスタマイズ」も参照してください。 |
以下の項目も参照してください。
Natural for Windows、Natural for UNIX、および Natural for OpenVMS については、『オペレーション』ドキュメントの「バッチモードでの Natural」セクションにある「入力および出力ファイル用のコードページ」
Natural for Mainframes については、『オペレーション』ドキュメントの「バッチモードでの Natural」
有効なコードページについては、http://www.iana.org/assignments/character-sets
次のプロファイルパラメータは、Windows、UNIX、および OpenVMS プラットフォームでのみ使用できます。
パラメータ | 説明 |
---|---|
SUTF8 |
Natural ソースが保存されるときに使用されるデフォルトのフォーマットを指定します。
注意: |
SUBCHAR |
Unicode からデフォルトコードページへの変換用の置換文字を指定します。 SUBCHAR が "OFF" の場合は、ICU によって定義されたデフォルトの置換文字が使用されます。
注意: |
WEBIO |
入出力に(Unicode をサポートする)Natural Web I/O インターフェイスクライアントか(Unicode に対応していない)端末エミュレーションウィンドウのどちらを使用するかを指定します。
ローカルな Windows 環境では、出力ウィンドウ(Unicode 対応)が使用されます。 リモート Windows 環境では、このパラメータの設定に関係なく、Natural Web I/O インターフェイスクライアントが常に使用されます。 注意: |
次のプロファイルパラメータ/マクロは、メインフレームプラットフォームでのみ使用できます。
パラメータ | マクロ | 説明 |
---|---|---|
CFICU |
NTCFICU |
さまざまな Unicode 設定に対して Unicode サポートを有効にします。 |
使用できません。 | NTCPAGE |
NATCONFG モジュールで、このマクロはコードページ、および置換文字、ロケール ID、照合テーブルなどのすべての関連情報を定義します。
|
PRINT |
NTPRINT マクロの CP キーワードサブパラメータ
|
レポートのコードページを定義します。 |
CMPO |
NTCMPO マクロの CPAGE キーワードサブパラメータ
|
コードページを区別する Natural プログラムを生成します。 |
OPRB |
NTOPRB |
使用される Adabas データベースが UES(ユニバーサルエンコーディングサポート)に対応している場合に、ユーザーエンコードを定義する ACODE /WCODE オプションを設定します。
|
次の NDV コンフィグレーションパラメータは、メインフレームプラットフォーム用の Natural 開発サーバーでのみ使用できます。
設定 | 説明 |
---|---|
TERMINAL_EMULATION=WEBIO
|
Natural Web I/O インターフェイスクライアント(Unicode をサポート)が入出力に使用されることを指定します。 |
コードページデータのエンコードは、次に示す異なるレベルで指定できます。
デフォルトコードページは、CP
パラメータを使用して定義できます。 Windows、UNIX、および OpenVMS プラットフォームでは、システムコードページを上書きして、すべてのコードページデータに対して有効になります。
Natural ソース、バッチ入力(CPOBJIN
、CPSYNIN
)、および出力ファイル(CPPRINT
)に対してコードページを定義できます。
また、Windows、UNIX、および OpenVMS プラットフォームでは、タイプ ASCII、圧縮 ASCII、Unformatted、および CSV のワークファイルに対してコードページを定義できます。『コンフィグレーションユーティリティ』ドキュメントの「ワークファイル割り当て」を参照してください。
コードページがオブジェクトレベルで定義された場合、このコードページによってデフォルトコードページは上書きされます。
注意:
Windows、UNIX、および OpenVMS プラットフォームでは、すべてのオブジェクトに対して正しいコードページが定義されることが重要です。 詳細については、「既存アプリケーションの移行」を参照してください。
エンコード情報がすでに定義された Natural オブジェクトを展開する場合、エンコード情報はファイル FILEDIR.SAG に保存されており、Natural の外部からオブジェクトファイルのみを展開した場合はエンコード情報が失われることに注意する必要があります。
Natural オブジェクトを展開する場合、次のようにエンコード情報を保持できます。
ライブラリ全体をコピーできます。 その後、ライブラリのコピーをすべての Windows、UNIX、および OpenVMS プラットフォームに分散できます。 この場合は、元のコードページが維持されます。 ライブラリを Windows から UNIX または OpenVMS にコピーする場合は、Natural for UNIX または Natural for OpenVMS のネイティブエディタでオブジェクトを開くことができない場合があることに注意する必要があります。これらのエディタでは、デフォルトコードページを持つオブジェクトのみを開くことができるためです。
エンコード情報を保持するオブジェクトハンドラを使用できます。 この場合は、元のコードページが維持されます。 Windows ライブラリが UNIX または OpenVMS でアンロードされる場合は、Natural for UNIX または Natural for OpenVMS のネイティブエディタでオブジェクトを開くことができない場合があることに注意する必要があります。これらのエディタでは、デフォルトコードページを持つオブジェクトのみを開くことができるためです。
Natural スタジオを使用して、オブジェクトをコピーして貼り付けることができます。 SPoD 環境で、ターゲット環境がソース環境とは異なるプラットフォーム上にある場合、Natural はターゲット環境のデフォルトコードページを使用してオブジェクトを保存しようとします。 これが不可能な場合、オブジェクトは UTF-8 フォーマットで保存されます。 UNIX および OpenVMS ターゲットの場合、このことによって、ソースのすべての文字が UNIX または OpenVMS サーバーのデフォルトコードページで使用可能な場合は、Natural for UNIX または Natural for OpenVMS のネイティブエディタでオブジェクトを開けます。
メインフレームプラットフォーム上のオブジェクトの場合、コードページ情報はオブジェクトディレクトリの一部であるため、オブジェクトのコードページ情報を保持するために特別な考慮事項はありません。