iOS 4.2.1中使用UIWebView加载阿拉伯语TTF(TrueType字体)

3

您好,我想在UIWebView中使用自定义的阿拉伯字体。我了解到从iOS 4.2开始我们可以使用TTF Web字体。

我有阿拉伯字体资源,并使用以下代码:

<html>
    <head>
        <title>@font-face Demo</title>
        <style type="text/css">
            @font-face {
                font-family: 'me_quran Regular';
                src: local('me_quran Regular'), 
                            local('me_quran'), 
                            url('me_quran.ttf') format('truetype');

            }


            h1, p {
                font-family: 'me_quran Regular';
            }
            h1 {
                font-size: 45px;
            }
            p {
                font-size: 18px;
                line-height: 27px;
            }
            #container{
                width: 800px;
                margin: 0 auto 0 auto;
            }

            }

        </style>
    </head>
    <body>
        <div id="container">
            <h1>بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ</h1>

            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
        </div>
    </body>
</html>

问题是:我在UIWebView中得到了阿拉伯文本,但它不是我加载的那个,而是iOS使用的默认阿拉伯字体。
请帮忙解决! 注意:我已经测试了许多英文字体,它们在iOS 4.2.1上都可以正常工作。

非常感谢@font-face提供的优秀示例代码!! - Fattie
1个回答

2

嗨, 我终于搞清楚了。在iOS 3.2及以上版本中,你可以加载几乎所有的(.ttf)字体,无论是阿拉伯文、英文或其他语言,你只需要使用正确的文本(unicode),就可以显示它。


你说的“正确的文本”是什么意思?如果我们有Unicode编码的阿拉伯文本,那么阿拉伯字体应该可以在这个文本上工作。 - Mustafa
真好啊,你的应用程序非常漂亮。我在使用带Unicode阿拉伯文本的_custom arabic font_时遇到了问题。我已经尝试了UILabel、UITextView、UITextField和CoreText等多种不同的阿拉伯字体,但都没有成功。你能帮我看看吗?我不确定自己错过了什么。 https://devforums.apple.com/message/532738#532738 - Mustafa
谢谢,IOS不支持Opentype。它应该支持AAT,但在阿拉伯语方面存在一些错误,使其无法使用。您是否还想呈现带方言的阿拉伯文本?有一些解决方法可以在iOS上运行。话虽如此(第一步应该是),您需要将文本的Unicode与字体中的Unicode映射进行匹配,如果这样做没问题,但字体仍未加载,则(如我所述)(我猜)您正在撞墙(iOS的问题)。 - Asymptote
1
我已经尝试了TTF和OTF字体。我不熟悉AAT。我想展示阿拉伯文本,就像您的应用程序中一样(带有阿拉伯语变音符号)。您使用了哪个UI控件和字体?我如何检查我的Unicode文本与字体中的Unicode映射匹配。附言:我也尝试过me_quran(ttf)字体。 - Mustafa
@Asymptote 首先,我想赞扬你为你的应用所做的出色工作。我最近也发布了一款古兰经应用程序(https://itunes.apple.com/us/app/iqra!-by-yazid/id672993057?ls=1&mt=8),但仍存在一些未解决的字体问题,希望能得到解决。我想知道你是否愿意提供一些帮助,并讨论一些实现细节(FYI,我在我的应用中使用了iOS 6的NSAttributedString来显示自定义阿拉伯字体)。 - Yazid
显示剩余5条评论

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