バージョン 4.2.5
 —  Unicode およびコードページのサポート  —

Unicode/コードページ環境の設定と管理

このドキュメントでは、次のトピックについて説明します。


ICU ライブラリ

Windows、UNIX、および OpenVMS プラットフォーム

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 文字列の文字列比較に使用されます。

サイズを小さくするために、最も一般的なコードページおよびロケールのみが含まれています。 コードページはすでに NATCONFG で宣言されています。

NATICUCV NATICU と同じですが、照合サービスはありません。 したがって、サイズは大幅に小さくなっています。
NATICUXL NATICU と同じですが、現在サポートされている ICU バージョンによって提供される使用可能なすべてのコンバータおよびロケールを含みます。 約 230 の異なるコードページ(主に EBCDIC コードページ)および 238 のロケールをサポートします。 したがって、モジュールサイズは非常に大きくなっています。

NATICUXL が Natural ニュークリアスにリンクされる場合、目的のコードページがコンフィグレーションファイル NATCONFG で宣言されている必要があります。

NATICUXL は、現在サポートされている ICU バージョン(http://demo.icu-project.org/icu-bin/convexp を参照)によってサポートされるすべてのコードページおよびロケール ID をサポートします。

注意:
技術的な制約により、z/VSE では NATICUXL は提供されていません。

さまざまな目的のための NATICU モジュール」も参照してください。

その他のテーブル:

テーブル 説明
NATSCTU Unicode 文字に必要なスキャナテーブル。 Natural ニュークリアスによる使用のために、現在サポートされている Unicode バージョンの Unicode 文字のプロパティをマップします。 このテーブルは変更できません。
NATCPTAB オプションのシングルバイトコードページ変換アクセラレータテーブル。 このテーブルが存在する場合は、ICU 機能を呼び出さずにこのテーブルによって実行されるため、コードページ間の変換が速くなります。 詳細については、Natural for Mainframes の『オペレーション』ドキュメントの「変換テーブル」を参照してください。

Top of page

メインフレームプラットフォーム用の ICU データライブラリのカスタマイズ

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 ファイルを参照してください。

Top of page

プロファイルパラメータ

このセクションでは、Unicode およびコードページのサポートとともに使用されるプロファイルパラメータについて説明します。 すべてのプラットフォームですべてのプロファイルパラメータが使用できるわけではありません。

すべてのプラットフォーム

次のプロファイルパラメータは、すべてのプラットフォームで使用できます。

パラメータ 説明
CP

Natural のデフォルトコードページを定義します。 このコードページは、単一のオブジェクト(Natural ソースなど)に対して定義されたコードページがない場合に、ランタイム環境および開発環境に対して使用されます。

プラットフォームに適したコードページのみを使用できます。 つまり、例えば、EBCDIC コードページは、Windows、UNIX、または OpenVMS プラットフォームには定義できません。また、ASCII コードページは、メインフレームプラットフォームには定義できません。 メインフレームでは、間違ったコードページが使用された場合に、初期化エラーメッセージが表示されます。

注意:
Natural for Windows/UNIX バージョン 6.2、Natural for OpenVMS バージョン 6.3、および Natural for Mainframes バージョン 4.2 以降、Natural RPC で使用される既存の CP パラメータは CPRPC に名前が変更されています。

CPCVERR

Unicode からコードページへ、コードページから Unicode へ、または 1 つのコードページから別のコードページへ変換するときに発生する変換エラーが、Natural エラーになるかどうかを指定します。

このパラメータは、Natural ソースをソースエリアにロードするとき、または Natural ソースをカタログするときの Natural ソースの変換には関連しません。

メインフレームプラットフォームでは、端末エミュレーションの I/O の前に Unicode フィールドがコードページに変換されたとは見なされません。 この場合、ICU によって定義された置換文字は、NATCONFG で定義されたプレースホルダ文字によって置き換えられます。

CPOBJIN データのバッチ入力ファイルのエンコードに使用するコードページを指定します。 このファイルは、Natural プロファイルパラメータ CMOBJIN(Windows、UNIX、および OpenVMS)またはデータセット CMOBJIN(メインフレーム)で定義されています。
CPPRINT バッチ出力ファイルのエンコードに使用するコードページを指定します。 このファイルは、Natural プロファイルパラメータ CMPRINT(Windows、UNIX、および OpenVMS)またはデータセット CMPRINT(メインフレーム)で定義されています。
CPSYNIN コマンドのバッチ入力ファイルのエンコードに使用するコードページを指定します。 このファイルは、Natural プロファイルパラメータ CMSYNIN(Windows、UNIX、および OpenVMS)またはデータセット CMSYNIN(メインフレーム)で定義されています。
SRETAIN すべての既存のソースを元のエンコードフォーマットで保存する必要があることを指定します。 「環境のカスタマイズ」も参照してください。

以下の項目も参照してください。

Windows、UNIX、および OpenVMS プラットフォーム

次のプロファイルパラメータは、Windows、UNIX、および OpenVMS プラットフォームでのみ使用できます。

パラメータ 説明
SUTF8 Natural ソースが保存されるときに使用されるデフォルトのフォーマットを指定します。

注意:
UNIX および OpenVMS では、このパラメータは SPoD 環境でのみ使用できます。

SUBCHAR Unicode からデフォルトコードページへの変換用の置換文字を指定します。 SUBCHAR が "OFF" の場合は、ICU によって定義されたデフォルトの置換文字が使用されます。

注意:
SUBCHAR は、コードページから Unicode への変換、または Unicode からデフォルトコードページとは異なるコードページへの変換には影響しません。

WEBIO 入出力に(Unicode をサポートする)Natural Web I/O インターフェイスクライアントか(Unicode に対応していない)端末エミュレーションウィンドウのどちらを使用するかを指定します。

ローカルな Windows 環境では、出力ウィンドウ(Unicode 対応)が使用されます。

リモート Windows 環境では、このパラメータの設定に関係なく、Natural Web I/O インターフェイスクライアントが常に使用されます。

注意:
メインフレームプラットフォームの場合は、代わりに NDV コンフィグレーションパラメータ TERMINAL_EMULATION が使用されます。 下記を参照してください。

メインフレームプラットフォーム

次のプロファイルパラメータ/マクロは、メインフレームプラットフォームでのみ使用できます。

パラメータ マクロ 説明
CFICU NTCFICU さまざまな Unicode 設定に対して Unicode サポートを有効にします。
使用できません。 NTCPAGE NATCONFG モジュールで、このマクロはコードページ、および置換文字、ロケール ID、照合テーブルなどのすべての関連情報を定義します。
PRINT NTPRINT マクロの CP キーワードサブパラメータ レポートのコードページを定義します。
CMPO NTCMPO マクロの CPAGE キーワードサブパラメータ コードページを区別する Natural プログラムを生成します。
OPRB NTOPRB 使用される Adabas データベースが UES(ユニバーサルエンコーディングサポート)に対応している場合に、ユーザーエンコードを定義する ACODE/WCODE オプションを設定します。

メインフレーム用の Natural 開発サーバー

次の NDV コンフィグレーションパラメータは、メインフレームプラットフォーム用の Natural 開発サーバーでのみ使用できます。

設定 説明
TERMINAL_EMULATION=WEBIO Natural Web I/O インターフェイスクライアント(Unicode をサポート)が入出力に使用されることを指定します。

Top of page

エンコード情報

コードページデータのエンコードは、次に示す異なるレベルで指定できます。

レベル 1 - デフォルトコードページ

デフォルトコードページは、CP パラメータを使用して定義できます。 Windows、UNIX、および OpenVMS プラットフォームでは、システムコードページを上書きして、すべてのコードページデータに対して有効になります。

レベル 2 - 単一のオブジェクトのコードページ

Natural ソース、バッチ入力(CPOBJINCPSYNIN)、および出力ファイル(CPPRINT)に対してコードページを定義できます。

また、Windows、UNIX、および OpenVMS プラットフォームでは、タイプ ASCII、圧縮 ASCII、Unformatted、および CSV のワークファイルに対してコードページを定義できます。『コンフィグレーションユーティリティ』ドキュメントの「ワークファイル割り当て」を参照してください。

コードページがオブジェクトレベルで定義された場合、このコードページによってデフォルトコードページは上書きされます。

注意:
Windows、UNIX、および OpenVMS プラットフォームでは、すべてのオブジェクトに対して正しいコードページが定義されることが重要です。 詳細については、「既存アプリケーションの移行」を参照してください。

Top of page

エンコード情報を持つ Natural オブジェクトの展開

Windows、UNIX、および OpenVMS プラットフォーム

エンコード情報がすでに定義された Natural オブジェクトを展開する場合、エンコード情報はファイル FILEDIR.SAG に保存されており、Natural の外部からオブジェクトファイルのみを展開した場合はエンコード情報が失われることに注意する必要があります。

Natural オブジェクトを展開する場合、次のようにエンコード情報を保持できます。

メインフレームプラットフォーム

メインフレームプラットフォーム上のオブジェクトの場合、コードページ情報はオブジェクトディレクトリの一部であるため、オブジェクトのコードページ情報を保持するために特別な考慮事項はありません。

Top of page