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

时间:2011-07-25 22:21:19

标签: iphone ios fonts xamarin.ios

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

有没有人有使用自定义阿拉伯字体和MonoTouch / iPhone开发的经验,或者知道为什么会这样?

提前谢谢。

最诚挚的问候,

Taner Gedikoglu

3 个答案:

答案 0 :(得分:7)

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

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;

答案 1 :(得分:3)

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

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

cell.textLabel.attributedText = attributedString;

请参阅我的回答here,了解与阿拉伯字体相关的其他事项,如行间距和连字。

答案 2 :(得分:-1)

您用来显示文字的API可能是您面临的问题。看看这个问题(和答案):no german umlaute in CGBitmapContext