Windows、UNIX、および OpenVMS プラットフォームでは、Natural は内部的に Unicode 対応です。 つまり、文字列を含む数多くの構造は、現在 Unicode フォーマットです。 例えば、現在 Natural ソースエリアは Unicode フォーマットです。 このため、Natural コードを書き込むとき、およびカタログするときに、Natural I/O および Natural 開発環境でランタイム時に Unicode データを処理できます。
最初のバージョンには、いくつかの例外があります。Natural ダイアログ(エディタおよびランタイム)は Unicode 対応ではありません。 これらのモジュールは、後のバージョンでは Unicode 対応される予定です。
Natural は内部的に Unicode 対応ですが、既存のすべてのデータには、現在はコードページフォーマットがあります。 結果として、Natural バージョン 6.2 以降で使用された場合、このようなデータはすべてコードページフォーマットから Unicode フォーマットに変換されます。 例えば、ソースがプログラムエディタで開かれた場合、コードページファイルフォーマットから Unicode ソースエリアフォーマットへの変換が実行されます。 U フォーマットを使用しない場合でも、このことには利点があります。インストールされているシステムコードページに関係なく、すべての言語固有の文字が表示されます。 ただし、正しいコードページ情報を定義するのはユーザーの責任です。 詳細については、「既存アプリケーションの移行」を参照してください。
Natural オブジェクトをカタログするとき、U 接頭辞を使用して定義されていないすべての定数は、対応するソースのコードページに変換されます。 ソースが UTF-8 フォーマットの場合、これらの定数はデフォルトコードページに変換されます。
注意:
ほとんどの場合、Unicode データには、コードページデータよりも多くのメモリスペースが必要です。 そのため、Natural バージョン 6.2 以降では、Natural パラメータ USIZE
を増やす必要がある場合があります。
Unicode は、ローカルな Natural for Windows 環境で完全にサポートされます。
エディタは Unicode 対応であり、使用できるすべての文字を入力できます。 ソースを保存するとき、Natural では最初にソースを元のコードページに変換しようとします。 このコードページにない文字がソースに含まれているために失敗した場合、その後の処理はパラメータ
SUTF8
の設定によって異なります。 SUTF8
が "ON" の場合、ソースは UTF-8 フォーマットで保存されます。 SUTF8
が "OFF" の場合、ユーザーは、ソースを元のコードページで保存するか、現在の保存をキャンセルするかを確認されます。 ソースを元のコードページで保存することをユーザーが決定した場合、見つからない文字は置換文字で置き換えられます。 また、[名前をつけて保存]ダイアログボックスで、コードページを明示的に選択できます。
プログラムエディタは、Unicode 双方向アルゴリズムをサポートするために拡張されています。
出力ウィンドウも、Unicode 対応です。 文字がキーボードで入力される場合、A フォーマットフィールドは、デフォルトコードページで使用可能な文字のみを受け入れます。
完全な Unicode サポートは、SPoD および Web I/O インターフェイスでのみ利用できます。 SPoD は、Natural ソースへの Unicode 入力に必要です。ローカルな Natural for Windows 環境について前述した内容と同じことが適用されます。 Web I/O インターフェイスは、Natural アプリケーションからの Unicode I/O に必要です。
Natural が端末エミュレーションを経由して使用される場合、すべての出力は Unicode からデフォルトコードページに変換されてから表示されます。 デフォルトコードページで使用できない文字は、デフォルトコードページの置換文字で置き換えられます。 同様の場合の入力は、デフォルトコードページに基づいてのみ可能です。
注意:
UTF-8 フォーマットの Natural ソースは、Natural for UNIX または Natural for OpenVMS ネイティブエディタを使用して開くことができません。