在 webkit 上显示阿拉伯字体的问题

Problem with displaying arabic font on webkit

我正在尝试使用自定义字体在 webkit 上显示阿拉伯字符,但字符之间的连接存在一些问题。

我在我的 C++ 代码中使用嵌入式 Webkit 版本,并且有一个显示阿拉伯语句子的 HTML 页面。

当我在计算机上打开 HTML 页面时 (Windows10 - Chrome/Mozilla),无论是否应用自定义字体,阿拉伯语都能正确显示。

我也在我的 VM (Debian - Mozilla) 上试过,除了默认的阿拉伯字体看起来不同外,它的工作原理相同。

在我的目标 (Yocto - Webkit) 上,默认字体与我的 debian 上的默认字体相同,但是当我尝试应用自定义字体时,所有字符都被分开,但仍然以正确的方式打印(从右边开始阿拉伯语向左)。

"charset=utf-8" 出现在我的 HTML 头上

我用 utf-8 编码配置我的 webkit:

WebKitWebSettings*  WebSettings = NULL;
    g_object_set(WebSettings, "default-encoding", "utf-8", NULL);

这是我的目标上使用和不使用自定义字体的区别 https://imgur.com/aLKODvk

我对编码不是很熟悉,我不知道这是否是我问题的真正根源。 是否可以在我的 OS 或 Webkit 中配置其他内容以正确支持阿拉伯语内容?

看起来所有字体都不兼容我的 OS 但我成功地使用了一些字体:SEGOUI.tff 和 Simplified Arabic Fixed。

为此,我必须在 OS 上安装字体。 (copy/paste把字体改成/usr/share/fonts/truetype/Myfont.tff)

在此之前,我的字体被复制到我的 HTML 文件旁边,我的 HTML 文件使用 .ttf 添加字体。 现在我的 OS 上安装了字体,我只需要使用 font-family 中的字体名称就可以了。

希望对大家有所帮助:)