强制从右到左文本

时间:2011-12-13 09:16:07

标签: html

我必须在html中以从右到左的顺序显示英语和亚拉姆语文本的集合。文本分为短语,看起来像下面的例子,而Aramaic的字体不是unicode字体(我不能使用unicode字体),因此浏览器将文本解释为所有西方文本,因此留给即使我已经指定段落DIR =“RTL”。

括号内的部分仍然需要在括号内按顺序从左到右,但整个文本的顺序需要定向,以便第一个括号内的组位于页面的右侧,下一组是在等等。

在这个例子中,左边第一个括号内的组需要在右边第一个。

"1   ( the beginning, In the Origin, at the origin ) tysrb ( a son, The Son, son ) arb ( God, of God, The God ) ahla  ty ( Heaven, the heavens, the Heavens ) ayms "

如何告诉浏览器,当它认为是西方的,从左到右时,不在括号中的文本将被视为从右到左的文本unicode。

有没有办法告诉浏览器将特定的True Type希伯来语字体作为从右到左的字体处理,然后在那里打破文本方向?

4 个答案:

答案 0 :(得分:1)

您可以使用CSS direction属性。

答案 1 :(得分:1)

如果我理解正确,您需要使用bdo(bidi覆盖)标记强制指示:

<p dir=rtl>
<bdo dir=rtl>
"1 <bdo dir=ltr>( the beginning, In the Origin, at the origin )</bdo> tysrb
<bdo dir=ltr>( a son, The Son, son )</bdo> arb
<bdo dir=ltr>(  God, of God, The God )</bdo> ahla  ty  
<bdo dir=ltr>( Heaven, the heavens, the Heavens )</bdo> ayms "
</bdo>
</p>

这样的dir属性(或CSS中的direction属性)基本上只对方向中性文本影响书写方向。拉丁字母具有固有的从左到右的方向性,因此您需要覆盖。

如果在“(”和“)”之后使用空格,则使空格不中断(如果需要,使用U + 00A0作为参考&nbsp;),以防止括号从附上的文本(这在RTL写作中尤为重要)。

答案 2 :(得分:0)

尝试以下。

FOR HTML4

<Q lang="he" dir="rtl">...a Hebrew quotation...</Q>

参考http://www.w3.org/TR/html4/struct/dirlang.html

FOR HTML5

<span dir=rtl>PURPLE PIZZA</span>

参考http://annevankesteren.nl/2010/11/html5-bidirectional-text

答案 3 :(得分:0)

您可以在CSS中使用direction属性,也可以在HTML代码中放置dir属性。

#LeftSide {
 direction: ltr;
 }
 #RightSide {
 direction: rtl;
  }
相关问题