HTML格式化阿拉伯文本字母

7

我想在阿拉伯文本中给一些字母上色,例如这段文字:

إذا ماطمحت إلى غاية

它给出了这个普通的文本:

enter image description here

所以我把一些字母用标签括起来以着色:

HTML:

إذا <b>م</b>اط<b>م</b>حت إلى <b>غ</b>اية

CSS:

b {
    color: #e74c3c;
}

这给了我以下内容:

enter image description here

但我希望它能够显示像这样的普通阿拉伯文本:

enter image description here

我尝试过更改字体,但所有字体似乎都存在同样的问题,因此问题不在于字体。

2个回答

11
尝试在开头的标签之前添加一个零宽连接符Unicode字符。需要检查所有浏览器,因为有些浏览器无法处理此问题。

1
谢谢,那个方法可行,但是我把它添加到了标签内部而不是在开头标签之前。 - Burawi

4

我这里有一份测试,但是我发现在红色字母和后面的字母之间有小的切口:

إذا <b>م&zwj;</b>ا ط<b>م&zwj;</b>حت إلى <b>غ&zwj;</b>اية

https://jsfiddle.net


1
你应该在每个想要连接的字母前后添加符号,所以在这段代码中,你需要将 ا (alif) 与其前面的 م (mim) 连接起来,将 ط (ta) 与其后面的 م (mim) 连接起来,将 ح (ha) 与其前面的相同的 م (mim) 连接起来,将 ا (alif) 与其前面的 غ (ghayn) 连接起来...这是代码: إذا <b>م&zwj;</b>&zwj;ا ط&zwj;<b>م&zwj;</b>&zwj;حت إلى <b>غ&zwj;</b>&zwj;اية - Burawi
我在两个字符之间得到了空格,为什么? - Noor Hossain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接