ベース・テキスト方向

ベース・テキスト方向とは、文中において方向付き文字列が並べられる順序を指します。
「左から右」の文、例えば、英語の文の場合、適切なベース・テキスト方向は、たとえ文にアラビア語、ヘブライ語、ウルドゥー語、あるいはペルシア語の単語が含まれていても「左から右 (LTR)」です。 「右から左」の文、例えば、アラビア語やヘブライ語の文の場合、適切なベース・テキスト方向は、たとえ文に英語の単語や数字が含まれていても「右から左 (RTL)」です。
文の判断、例えば、文が英語か、あるいは、アラビア語かを見極めることは必ずしも容易ではありません。 「方向付き文字列」にある例文をよく見てください。この文は、アラビア語とヘブライ語の文ですから、「右から左」のベース・テキスト方向になります。 方向付き文字列は、右から左に一列に順々に配置される必要があります。 以下の例では、方向付き文字列をそれぞれ大括弧に入れて示しています。
[.] [united states][ EHT OT TNEW I ,] [23][ SAW I NEHW]
連続した英語の単語は、たとえ、アラビア語、ヘブライ語、またはウルドゥー語の文の中に組み込まれていても「左から右」の方向付き文字列を形成します。 連続したアラビア語またはヘブライ語の単語は、たとえ、英語の文に組み込まれていても、「右から左」の方向付き文字列を形成します。 連続した方向付き文字列の順序付けは、ベース・テキスト方向の値によって決まります。
言語の自然なテキスト方向 (アラビア語、ヘブライ語、あるいはウルドゥー語の場合は右から左、英語の場合は左から右) は、テキストを書くために使用される字母体系に固有のもので、GUI ミラーリング・モードで扱われるコンポーネント方向にも、ユーザー・ロケールにも依存しません。 たとえ、製品の GUI がミラーリングされていない場合でも、アプリケーションのユーザーが入力する双方向テキスト、すなわち、ユーザーが直接または間接に取り込み、製品の GUI を介して表示する双方向テキストは、その本来のベース・テキスト方向に従って表示される必要があります。 ユーザーは、コンポーネント方向 (GUI ミラーリング・モード) に関係なく文書とパラグラフのベース・テキスト方向を調整する必要があります。
双方向テキストのベース・テキスト方向は、その表示に影響を与えます。 論理的な順序、すなわち、テキストが音読される順序で並べられた「hello world !」というストリングが、そのベース・テキスト方向が変更された場合にどのように表示されるかを考えてみましょう。
「左から右」のベース・テキスト方向の場合、このストリングは次のように表示されます。
hello world !
「右から左」のベース・テキスト方向の場合、同じストリングが次のように表示されます。
! hello world
「右から左」のベース・テキスト方向の例では、感嘆符 (!) がストリングの左側に表示されています。
ベース・テキスト方向が「右から左」の場合に、このストリングは「! world hello」とは表示されません。 たとえ、ベース・テキスト方向が右から左であっても、連続した英語の単語は常に「左から右」の方向付き文字列を構成するため、それぞれの単語は、左から右に表示されて、その文字列内の単語の進行もまた、左から右になります。