2012-06-12 70 views
0

我們要顯示我們的應用程序的文字,有時會同時包含RTL和升的混合。我能夠確定文本的語言,並可以根據語言切換dir = ltr或dir = rtl。的雙向文本顯示

問題時相同的句子hadboth英語和阿拉伯文的文本,在這種情況下我的語言檢測檢測阿拉伯語(因爲主要語言),並且選擇DIR = RTL就產生了。如何顯示這些混合句

問候, 羅希特

回答

0

dir屬性設置方向上中立的文本的方向性。它不會影響拉丁或阿拉伯文字母的正常文本;他們遵循其固有的強大的方向性。那麼,至少他們應該。瀏覽器有錯誤,並設置dir可以幫助如果你知道哪些方向性應設置。此外,設置dir設置總體佈局方向;例如,如果你有它裏面的一些英文文本(示意圖,AR1其次恩其次AR2,在簡單的情況下),你應該設置dir=rtl得到阿拉伯文字正確的事情(在本例中,AR1首先,在右邊,然後En在它的左邊,然後Ar2在最後,即最左邊)。

但是,當定向模糊字符像括號涉及出現問題,例如當阿拉伯文字裏面的英文文字有「Hello world(42)」時。在與dir=rtl塊,這將呈現爲「(你好世界(42。」

要處理這個問題,你需要識別英文片段,並將其包裹在你設置嵌入方向性:

<style> 
.ltr { unicode-bidi: embed; direction: ltr; } 
</style> 
[...] 
<p dir=rtl> 
مرحبا العالم. <span class=ltr>Hello world (42).</span> وكان هذا الاختبار.</p>