如何在 iPhone 应用程序中显示不同的自定义阿拉伯字体?

4
在我的应用程序中,我需要显示带有不同自定义字体的阿拉伯文本。我遵循了将ttf文件添加到info.plist的方案。
根据上述情况,我成功地为英语文本以不同的字体样式显示文本。我正在为阿拉伯语字体样式做同样的事情,但是这里我没有得到结果。为什么会这样?
请问有人能帮助我吗?
提前致谢。

你如何加载和设置字体?我在使用希伯来语字体时遇到了问题,但我已经解决了。 - Rahul Sharma
我只需将ttf文件添加到资源文件夹中,并在info.plist中的UIAppFonts中添加这些名称,这样就解决了你的问题。请帮我解决这个问题。 - KAREEM MAHAMMED
1
@KAREEMMAHAMMED:你找到阿拉伯字体的解决方案了吗? - Fahim Parkar
是的,通过将ttf文件添加到应用程序的info.plist中,我们可以使用它们。 - KAREEM MAHAMMED
2个回答

6

@Kareem,我从Stackoverflow本身得到了提示来加载字体,但第一次无法使其正常工作。也许以下步骤可以帮助您。

  1. Add the font files to your project.
  2. Make their entries in info.plist file

    such as enter image description here

  3. you can now implement some method that loads your font somewhere in application delegate like

    -(UIFont*) CustomFontWithSize:(float)size{

        UIFont* customFont = [UIFont fontWithName:@"FX_Masa" size:size];
    
        if(customFont == nil)
            customFont = [UIFont systemFontOfSize:size];
    
        return customFont;
    }
    
如果你注意到这里我使用的名字是“FX_MASA”,而不是“FX_MasaRegular”,这就是我犯错的地方。在获取字体时需要使用的名称是安装名称(双击字体以将其安装到系统中,出现在字体册中的名称即为安装名称)。
希望这也能帮助解决你的问题。如果你找到了更好的方法,请在此更新。

虽然我仍在设备上使用它,但如果您遇到任何更新,请与我们所有人分享。谢谢。 - Rahul Sharma
这只是我能找到的一种解决方法。现在,我有一种系统性的方法来添加自定义字体到我的应用程序中。 - Rahul Sharma

0

在GitHub上有一个很好的UILabel扩展程序,叫做“Font Label”:https://github.com/zynga/FontLabel 这允许加载任何TTF文件,然后使用此自定义字体绘制ZLabel对象(ZLabel是UILabel的扩展)。它基于CoreGraphics,并且我已经测试了许多自定义字体并证明可以正常工作。当然,我不知道阿拉伯语字体的效果如何,但值得一试,欢迎您向我们(以及GitHub项目管理员)提供反馈。


嗨,感谢您的回复。我尝试了上面的示例,但它也不能提供阿拉伯语的自定义字体。是否有特别针对阿拉伯语的方法,例如UNICODE等等...请帮忙解决这个问题。提前感谢您的帮助。 - KAREEM MAHAMMED

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