17

我不会说阿拉伯语,但我需要在我们的网站上提供对阿拉伯语的特定支持。我需要部分阿拉伯语单词<span>与其他单词的风格不同。当我键入两个字符时شس它们被组合成单词شس,但是当我使用 HTML 标记时

<span>ش</span>س

这些字母在输出中没有正确连接。

在此处输入图像描述

在图片中,期望的输出在第二行,实际输出在第一行。

编辑:它适用于 Firefox,但不适用于 Chrome/Safari。

4

3 回答 3

20

在元素内容&zwj;的末尾插入一个零宽度的连接符(例如使用实体引用): 。span<span>ش&zwj;</span>س

更一般地说,在文本应该具有草书(连接)行为并可能破坏它的情况下,每个元素的开头和结尾以及每个span元素之前和之后(只是为了更确定)的零宽度连接符。spanspan

Andreas Prilop在双向文本页面上讨论并说明了该问题。

更新:不幸的是,它似乎&zwj;对当前版本的 WebKit 浏览器没有帮助。无论如何,他们似乎都将 HTML 标记视为破坏连接行为。

更新2:正如@NasserAl-Wohaibi 的评论中所述,新问题可以通过使用&zwj;两次来解决。但是,在当前适用于 Windows 的 Safari (5.1.7) 中,它没有帮助;事实上,它甚至显示ش&zwj;س错误,而没有连接器,它显示شس正确。

于 2012-06-22T12:55:54.583 回答
3

这实际上是WebKit 中报告的错误,因此可能会影响所有基于 WebKit 的浏览器。

于 2012-06-22T12:38:07.607 回答
2

正如Jukka K. Korpela所指出的,这主要是大多数基于 WebKit 的浏览器(chrome、safari 等)中的一个错误。

除了 TAMDEED 字符或获取阿拉伯字母的上下文形式之外,一个简单的技巧是将零宽度连接符&zwj;&#x200d;)放在要被视为单个阿拉伯连字的字母之前/之后- 两个字符组成另一个。例如

<p>عرب&#x200d;<span style="color: Red;">&#x200d;ي</span></p>  

演示:jsfiddle
另请参阅 webkit错误报告。

于 2012-12-01T09:54:08.100 回答