我正在使用MonoTouch开发一个使用自定义阿拉伯字体的iPhone应用程序(来自http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ArabicFonts的Scheherazade)。我在应用程序中加载字体时没有问题。我也看到它在我使用拉丁文本时使用,但是当我想显示阿拉伯文本时,它使用默认的系统字体来显示文本。
有没有人有使用自定义阿拉伯字体和MonoTouch / iPhone开发的经验,或者知道为什么会这样?
提前谢谢。
最诚挚的问候,
Taner Gedikoglu
答案 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