プラットフォームの相違

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


全般的な情報

Windows、UNIX、および OpenVMS プラットフォームでは、Natural は内部的に Unicode 対応です。つまり、文字列を含む数多くの構造は、現在 Unicode フォーマットです。例えば、現在 Natural ソースエリアは Unicode フォーマットです。このため、Natural コードを書き込むとき、およびカタログするときに、Natural I/O および Natural 開発環境でランタイム時に Unicode データを処理できます。

Natural は内部的に Unicode 対応ですが、既存のすべてのデータには、現在はコードページフォーマットがあります。結果として、Natural バージョン 6.2 以降で使用された場合、このようなデータはすべてコードページフォーマットから Unicode フォーマットに変換されます。例えば、ソースがプログラムエディタで開かれた場合、コードページファイルフォーマットから Unicode ソースエリアフォーマットへの変換が実行されます。U フォーマットを使用しない場合でも、このことには利点があります。インストールされているシステムコードページに関係なく、すべての言語固有の文字が表示されます。ただし、正しいコードページ情報を定義するのはユーザーの責任です。詳細については、「既存アプリケーションの移行」を参照してください。

Natural オブジェクトをカタログするとき、U 接頭辞を使用して定義されていないすべての定数は、対応するソースのコードページに変換されます。ソースが UTF-8 フォーマットの場合、これらの定数はデフォルトコードページに変換されます。

注意:

  1. ほとんどの場合、Unicode データには、コードページデータよりも多くのメモリスペースが必要です。そのため、Natural バージョン 6.2 以降では、Natural パラメータ USIZE を増やす必要がある場合があります。
  2. Natural ダイアログ(エディタとランタイム)は、Natural バージョン 6.3 の時点で Unicode に対応しています。

Windows

Unicode は、ローカルな Natural for Windows 環境で完全にサポートされます。

エディタは Unicode 対応であり、使用できるすべての文字を入力できます。ソースを保存するとき、Natural では最初にソースを元のコードページに変換しようとします。このコードページにない文字がソースに含まれているために失敗した場合、その後の処理はパラメータ SUTF8 の設定によって異なります。SUTF8ON の場合、ソースは UTF-8 フォーマットで保存されます。SUTF8OFF の場合、ユーザーは、ソースを元のコードページで保存するか、現在の保存をキャンセルするかを確認されます。ソースを元のコードページで保存することをユーザーが決定した場合、見つからない文字は置換文字で置き換えられます。また、[Save As]ダイアログボックスで、コードページを明示的に選択できます。

プログラムエディタは、Unicode 双方向アルゴリズムをサポートするために拡張されています。

出力ウィンドウも、Unicode 対応です。文字がキーボードで入力される場合、A フォーマットフィールドは、デフォルトコードページで使用可能な文字のみを受け入れます。

UNIX と OpenVMS

完全な Unicode サポートは、SPoD および Natural Web I/O インターフェイスでのみ利用できます。SPoD は、Natural ソースへの Unicode 入力に必要です。ローカルな Natural for Windows 環境について前述した内容と同じことが適用されます。Natural Web I/O インターフェイスは、Natural アプリケーションからの Unicode I/O に必要です。

Natural が端末エミュレーションを経由して使用される場合、すべての出力は Unicode からデフォルトコードページに変換されてから表示されます。デフォルトコードページで使用できない文字は、デフォルトコードページの置換文字で置き換えられます。同様の場合の入力は、デフォルトコードページに基づいてのみ可能です。

注意:
UTF-8 フォーマットの Natural ソースは、Natural for UNIX または Natural for OpenVMS ネイティブエディタを使用して開くことができません。