拡張 BIDI サポート

文書において双方向言語サポートを有効にするために設定できる多くのプロパティーがあります。

テンプレートにおける BIDI プロパティー

一部のテンプレート・エレメントは direction プロパティーを持ちます。 このプロパティーの値は、ltr (左から右)、rtl (右から左)、contextual、 または empty (デフォルト設定) に設定できます。 このプロパティーの値が empty の場合、対応するエレメントの方向は継承されるか、または現行文書値のデフォルトが使用されます。

direction プロパティーを持つテンプレート・エレメントは以下のとおりです。
  • コンテナー段落テーブル・セル (Table Cell)リスト項目: このプロパティーは、方向が明示的に定義されていない各テキスト論理段落に影響します。
  • テーブル: このプロパティーは、列の表示方法 (左から右、または右から左) を定義します。また、このプロパティーは、方向が明示的に定義されていない各セルに影響します。
  • リスト: このプロパティーは、方向が明示的に定義されていない各リスト項目に影響します。
  • テキスト: このプロパティーは、現行エレメントのコンテンツにのみ影響します。 このプロパティーを他のエレメントから継承したり他のエレメントに継承したりすることはできません。

direction プロパティーは、Document Studio において「プロパティー」ビューで設定できます。

「プロパティー」ビューで設定される direction プロパティー

文書仕様における BIDI プロパティー

以下の BIDI 固有のランタイム・メタデータ・プロパティーは、生成された文書、およびそのテキスト・コンテンツの基本方向について レイアウトを制御するために使用されます。

タイプ 説明
BIDI truefalse (デフォルト) これは、BIDI 固有の機能をオン/オフにするためにトリガーとして使用されます。
文書方向 ltrrtl これは、文書のレイアウトを定義します。 文書方向プロパティーおよび出力ロケール・メタデータ・プロパティーが両方とも空の場合、 文書方向は ltr に設定されます。 文書方向が空の場合、実際のランタイム値は、output locale プロパティーの値によって決まります。 BIDI ロケールの場合、これは rtl です。 他のロケールの場合、これは ltr です。
テキスト方向 ltrrtlcontextualempty (デフォルト) これは、基本テキスト方向を定義します。 empty は、デフォルト・テキスト方向が文書方向と同じであることを意味します。

Launcher では、「プロパティー」ビューまたは「メタデータ・プロパティーの構成」ウィンドウを使用してプロパティーを設定できます。

文書仕様について「プロパティー」ビューで BIDI プロパティーを設定

BIDI プロパティーは、内部変数 _sessionInfo を 使用して Rational® Publishing Engine テンプレートから参照できます。

スクリプト式でのセッション情報

組み込み RRDG エンジンを使用する製品から BIDI プロパティーをプログラムで設定できます。 例えば、Rational DOORS® Next Generation の場合は、次のようになります。
LocalDocumentGenerator docGen = new LocalDocumentGenerator(new RRDGEngineImpl());
    String config = docGen.getConfigurationPath(configFolder.toURI());
    DocumentSpecificationBuilder builder = new DocumentSpecificationBuilder();
    RPEDocumentSpecification docSpec = builder.create(config);
    RPEMetadata metadata = docSpec.getRuntime().getMetadata();
    metadata.addProperty(new Property(RPEConfigConstants.PROPERTY_DOCUMENT_DIRECTION, new Value("","rtl"));
注: 以前の バージョンの Rational Publishing Engine では、BIDI 固有の機能を オン/オフにするために Microsoft Word 出力の bidi プロパティーが使用されていました。 現在、このプロパティーはサポートされていません。 ただし、Word 出力の「プロパティー」ビューには依然としてこのプロパティーが表示されます。

エレメントと、そのコンテンツの基本テキスト方向を実行時に決定

エレメントの方向により、エレメントのコンテンツの位置合わせ、レイアウト、および基本テキスト方向が指定されます。

「コンテナー」「段落」「テーブル」「テーブル・セル (Table Cell)」「リスト」、および「リスト項目」には、 独自の direction プロパティーがあります。 このプロパティーの値が empty の場合、対応するエレメントの実際の方向は最も近い上位項目から継承され、empty 以外の direction プロパティーが設定されます。 継承されるものが何もないことが判明すると、エレメントの方向は文書の document direction プロパティーによって定義されます。

「コンテナー」「段落」「テーブル」「テーブル・セル (Table Cell)」「リスト」、または「リスト項目」に、 独自の/継承された contextual direction プロパティーがある場合、実際のエレメント方向はエレメントのテキスト・コンテンツによって決定されます。 ただし、それでも決まらない (テキストが現行エレメント内に直接組み込まれないか、またはあいまいな文字しか含まれていない) 場合、 実際の方向は empty でも contextual でもない direction プロパティーが設定されている、最も近い上位項目から継承されます。 継承されるものが何もないことが判明すると、エレメントの方向は文書の text direction プロパティーによって定義されます。

「コンテナー」「段落」「テーブル」「テーブル・セル (Table Cell)」「リスト」、または「リスト項目」に、 最初の直系の子として empty 以外の direction プロパティーを持つ「テキスト」エレメントがある場合、 そのようなエレメントの実際の方向は、この「テキスト」エレメントの解決済みの方向から決定されます。

「テーブル」または「リスト」に、独自の/継承された contextual direction プロパティーがある場合、これらのエレメントの実際の方向は empty でも contextual でもない direction プロパティーが設定されている、最も近い上位項目から継承されます。 継承されるものが何もないことが判明すると、エレメントの方向は文書の document direction プロパティーによって定義されます。

「テキスト」エレメントの 方向が空以外の場合、このエレメントのコンテンツ (論理段落の一部になることのみが可能) は当該プロパティーに従ってフォーマットされて、 テキストの分離セグメントとして、生成された文書に表示されます。 「テキスト」エレメントに独自の contextual direction プロパティーがある場合は、 対応するテキスト・セグメントの基本方向はそのコンテンツから決定されます。 テキスト・セグメントに含まれるものが、あいまいな文字のみの場合、基本テキスト方向は文書の text direction プロパティーによって定義されます。

「目次」「表の目次」、および「図形の表」の方向は、 文書の document direction プロパティーによって定義されます。 これは、レイアウト (例えば、セクション番号、セクション名、ページ番号の相対位置) のみを指定します。 セクションの名前に含まれるテキストは、上記エレメントのすべての方向に関して、文書の本文に表示されるとおりに表示されます。

「表の表題」および「図表表題」の方向は 文書の document direction プロパティーによって定義されます。 これは、レイアウト (例えば、ラベルとコンテンツとの相対位置) を指定します。 表題の各部分の基本テキスト方向は、文書の text direction プロパティーによって定義されます。

「脚注」の方向は 文書の document direction プロパティーによって定義されます。 これは、コンテンツのレイアウト (例えば、脚注番号、コンテンツ、および位置合わせの相対位置) を指定します。 脚注のコンテンツの基本テキスト方向は、文書の text direction プロパティーによって定義されます。

「コメント」の方向は定義されていません。 そのコンテンツの基本テキスト方向は、文書の text direction プロパティーによって定義されます。

「ヘッダー」および「フッター」の方向は 文書の document direction プロパティーによって定義されます。

リッチ・テキスト (XHTML) の取り扱い

「テキスト」エレメントのコンテンツは XHTML フラグメントによって表示されます。 このフラグメントは解析されて、テンプレート・エレメントのコレクションとして取り扱われます。
  • P、H1-H6 - 各種スタイルを持つ段落として扱われる
  • DIV - コンテナーとして扱われる
  • TABLE - テーブルとして扱われる
  • TD - テーブル・セルとして扱われる
  • OL、UL - リストとして扱われる
  • LI - リスト項目として扱われる

ブロック・レベルの html エレメント (P、DIV、H1-H6、LI など)、TABLE、OL、および UL で見つかった スタイル direction および属性 dir の値は 認識されて、Rational Publishing Engine フォーマット・プロパティー direction に 変換されます。 スタイルと属性がどちらも現行 html エレメントに対して定義されている場合は、dir の値が使用されます。 現行エレメントのコンテンツを設定

ブロック・レベル html エレメントのコンテンツは、別々のスタイルを持つテキスト・エレメントのシーケンスとして扱われます。 html SPAN エレメントはスタイル direction とともに使用できます。 このような SPAN エレメントは、スタイル direction プロパティーを持つテキスト・エレメントとして扱われます。 (ただし、このようなエレメント内に、追加のマークアップを含めないでください。 追加のマークアップを持つ SPAN エレメントはサポートされていません。 そのようなエレメントは、予期しない結果を引き起こす可能性があります。)


フィードバック