控制阿拉伯语文本在 Web 上的可视化呈现形式/呈现?

Controlling the visual presentation form/rendering of Arabic text on the web?

提问人:imdk4242 提问时间:7/20/2023 最后编辑:herrstrietzelimdk4242 更新时间:7/23/2023 访问量:73

问:

Picture 1

Picture 2

是具有完全相同字体的完全相同的阿拉伯语文本的样本,分别在 Chrome 和 Firefox 中呈现不同。

后者在Firefox中是阿拉伯语文本最准确的渲染,它正确地使用了阿拉伯语脚本的连字。ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ

我假设正确的Firefox渲染排除了结论,即这是一个“字体问题”。

那么问题来了:CSS是否有可能以某种方式在不同的浏览器上控制/强制连字/呈现阿拉伯文字,在这种情况下,尤其是Chrome?

示例 HTML:

<div lang="ar" class="some_arabic_wrapper">ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ</div>

CSS 示例:

.some_arabic_wrapper {
    direction: rtl;
    font-family: 'MyWebFont';
    font-variant-ligatures: contextual;
    text-rendering: optimizeLegibility;
    /* font-language-override: "ARB"; */
    /* unicode-bidi:initial; */
}
css fonts arabic webfonts arabic-support

评论

0赞 herrstrietzel 7/21/2023
您能告诉我们所用字体的名称或发布一个运行片段吗?许多网络字体显然对阿拉伯语连字的 suoort 有限 - 或者根本没有。因此,很难重现这些问题。
0赞 imdk4242 7/21/2023
当然,它是一种特定的阿拉伯古兰经字体,用于显示古兰经文字,链接。上面的例子来自“Hafs”字体。

答:

0赞 behdad 7/23/2023 #1

HarfBuzz 开发人员在这里。使用最新的 HarfBuzz 可以很好地呈现文本。您使用的是哪个版本的 Chrome?

评论

0赞 behdad 7/23/2023
我还尝试了最近在 Linux 上的 Chrome 中,它呈现得很好。
0赞 imdk4242 7/23/2023
Chrome 和 Firefox 。这导致了一个问题:但不知何故,这项工作,即连字 /ha+mim+dagger alif/ 在 Chrome 中错误地显示,如上图所示/描述Version 114.0.5735.198 (Official Build) (arm64)Version 115.0.2 (64-bit)<span>بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ</span><span>بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ</span>
0赞 behdad 7/24/2023
这两个字符串有什么区别?我在 Linux 上的 Chrome 114.0.5735.106(官方版本)(64 位)中尝试了这两种方法,它们工作正常。你能用网络字体设置一个显示问题的网页吗?