双方向テキストは、各種のテキスト・レイアウト (各種の双方向フォーマット) でクライアント・システムまたはサーバー・システム上に保管することができます。双方向レイアウトは、システム上での双方向テキストの保管方法を指定するためのものです。双方向レイアウトは、アラビア語の場合は 5 つの基本双方向属性、ヘブライ語の場合は 3 つの基本双方向属性を用いて定義することができます。
- グローバル方向またはテキスト方向
- グローバル方向は、テキストが保管される方向を指定します。グローバル方向は、右から左 (RTL) または左から右 (LTR) とすることができます。コンテキストのテキスト方向は、Rational® Developer for System z® ではサポートされません。
- 順序付け方式 (またはテキスト・タイプ)
- 順序付け方式は、メモリー内または外部メディア上に保管されているテキストの配列と正しい表示の配列との間の関係を定義します。Rational Developer
for System
z は、次の 3 つの順序付け方式を認識します。
- ビジュアル順序付け方式 では、テキストは、表示される順序とまったく同じ順序で保管されます。
- 論理順序付け方式 では、テキストは、読み取り目的の順序で保管されます。ラテン・アルファベットの文字には左から右への方向性が本来強く備わっており、アラビア語またはヘブライ語の文字には右から左への方向性が本来強く備わっていることを想定しているアルゴリズムを使用して、テキストを表示用に再配列しなければなりません。この暗黙 (または論理) アルゴリズムは、本来備わっている方向特性に基づいてセグメントを認識し、セグメント反転を自動的に行います。
- スマート論理順序付け方式 では、テキストは、zSeries® のシステムと Rational Developer
for System
z との間のデータ交換を改善するために Rational Developer
for System
z に導入された特殊なアルゴリズムを使用して処理されます。
このアルゴリズムについては、スマート論理順序付け方式で詳しく説明しています。
- テキスト・シェーピング
- テキスト・シェーピングは、1 つの語の中の文字の位置 (周囲の文字への結び付き方) によって文字がさまざまな形状をとるアラビア語のスクリプトに適用できます。
- 対称スワッピング
- 対称スワッピングは、表示されたテキストの論理的な意味を保持するために、( > [ { などの特定の文字を ) <
] } といつ交換する必要があるかを指定します。
- 数字シェーピング
- 数字シェーピングは、ヨーロッパ数字形状またはアラブ・インド数字形状を使用して数字を表示する必要があるかどうかを指定します。
双方向レイアウト属性の指定可能な値の単一の組み合わせはいずれも、優先されません。既存のアプリケーションは、これらの値のさまざまな可能な組み合わせによりデータを処理します。したがって、双方向データ・ストリームがアプリケーションに渡される場合は、アプリケーションが関連のテキスト属性を認識することが重要です。