iOS应用程序上的阿拉伯字体中断

时间:2016-01-12 05:39:21

标签: ios iphone arabic arabic-support

我们正在iOS应用中工作,我们正在使用“Adobe Arabic”和“Tahoma”字体。

某些区域的两种字体都破了。例如

Tahoma在一个单词之间添加空格,如enter image description here

下面的图片所示

不确定为什么会出现这种情况。对于一些阿拉伯语文本,我们有类似的Adobe阿拉伯语问题

使用来自古兰经“بسماللهالرحمنالرحيم”的诗句时大多数字体中断,否则它很好......那时我们通过添加空格来添加tajweed字体中断。

这可能是什么原因

3 个答案:

答案 0 :(得分:4)

正如我所见,它未能提出变音符号。变音符应该合并到以前的阿拉伯语字母。在你的例子中,它打破了Shada变音符号ّ

enter image description here

它主要发生在古兰经经文中,因为与普通文本相比,它们完全发声。

解决方案是规范化您的文本并删除变音符号。 diacritcs列表是:

// Diacritics
'0x64b' // FatHatan
'0x64c' // Dammatan
'0x64d' // Kasratan
'0x64e' // FatHa
'0x64f' // Damma
'0x650' // Kasra
'0x652' // Sukun
'0x651' // Shadda

建议将标准化用于普通文本而不是古兰经经文,因为它被认为是一个神圣的文本,建议写成完全发声的Uthmani脚本。您可以使用预渲染图像。

深层解决方案是使用像harfbuzz这样的渲染引擎。它完美呈现阿拉伯语。

答案 1 :(得分:0)

在css中尝试这一行:

for(var i=0; i<=coords.length; i += 2) {
    if ((i + 1) <= coords.length) {
        waypts.push({
            location: new google.maps.LatLng(coords[i], coords[i + 1]),
            stopover: true
        });
    }
}

它适用于我。

答案 2 :(得分:0)

在CSS中尝试这些

font-family: "Traditional Arabic", "Montserrat","sans-serif","Times New Roman";