在iPhone上使用自定义阿拉伯字体的问题

我正在用MonoTouch开发一个使用自定义阿拉伯字体的iPhone应用程序(来自http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ArabicFonts的 Scheherazade)。 我没有问题在我的应用程序中加载字体。 我也看到,当我使用拉丁语文本,但是当我想显示阿拉伯语文本时,它使用默认的系统字体来显示文本。

有没有人有自定义阿拉伯语字体和MonoTouch / iPhone开发的经验,或有一个想法,为什么发生这种情况?

先谢谢你。

给予最亲切的问候,

塔纳Gedikoglu

这些课程将完成这项工作:

https://github.com/Accorpa/Arabic-Converter-From-and-To-Arabic-Presentation-Forms-B

下载他们,我敢肯定,回答你的问题,因为我以前有完全相同的问题!

代码示例:

ArabicConverter *converter = [[ArabicConverter alloc] init]; NSString* convertedString = [converter convertArabic:@"منذ دقيقة"]; infoText.font = [UIFont fontWithName:@"YOUARABICFONT" size:16]; infoText.text = convertedString; 

如果你的目标是iOS 6,那么你可以使用NSAttributedString来实现这一点:

 NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:info.text attributes:@{ NSFontAttributeName : [UIFont fontWithName:@"Scheherazade" size:32], NSLigatureAttributeName: @2}]; cell.textLabel.attributedText = attributedString; 

有关其他与阿拉伯语字体相关的其他问题的讨论,请参阅我的答案,例如行间距和连字。

您用来显示文本的API可能是您面临的问题。 看看这个问题(和答案): 在CGBitmapContext中没有德语错误