Css Bidi文本显示

Css Bidi文本显示,css,jsp,struts2,bidi,Css,Jsp,Struts2,Bidi,我们希望在应用程序中显示文本,有时包含rtl和ltr的混合。我能够确定文本的语言,并且可以根据语言切换dir=ltr或dir=rtl 当同一个句子同时包含英语和阿拉伯语文本时,就会出现问题,在这种情况下,我的语言检测检测检测到阿拉伯语(因为主要语言)并选择dir=rtl。如何显示这些混合句 问候,, Rohit属性设置方向中性文本的方向性。它不影响拉丁或阿拉伯字母的正常文本;它们遵循其固有的强方向性。至少他们应该这样。浏览器有bug,如果您知道应该设置哪个方向,那么设置dir可能会有所帮助。此外

我们希望在应用程序中显示文本,有时包含rtl和ltr的混合。我能够确定文本的语言,并且可以根据语言切换dir=ltr或dir=rtl

当同一个句子同时包含英语和阿拉伯语文本时,就会出现问题,在这种情况下,我的语言检测检测检测到阿拉伯语(因为主要语言)并选择dir=rtl。如何显示这些混合句

问候,,
Rohit

属性设置方向中性文本的方向性。它不影响拉丁或阿拉伯字母的正常文本;它们遵循其固有的强方向性。至少他们应该这样。浏览器有bug,如果您知道应该设置哪个方向,那么设置
dir
可能会有所帮助。此外,设置
dir
设置总体布局方向;e、 例如,如果您的阿拉伯文文本中包含一些英文文本(在最简单的情况下,示意图上,Ar1后跟En,再后跟Ar2),您应该设置
dir=rtl
,以正确处理问题(在本例中,Ar1首先位于右侧,然后En位于左侧,最后是Ar2,即最左侧)

但当涉及到方向性歧义字符(如括号)时,就会出现问题,例如,阿拉伯语文本中的英语文本有“Hello world(42)”。在一个具有
dir=rtl
的块中,它被渲染为“(Hello world(42)”

要处理此问题,您还需要识别英语片段,并将其包装在为其设置嵌入方向性的元素中:

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

.ltr{unicode bidi:embed;方向:ltr;}
[...]

《你好,世界》(42)一书