我正在用MonoTouch开发一个iPhone应用程序,它使用一种定制的阿拉伯字体(来自http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ArabicFonts的Scheherazade)。将字体加载到我的应用程序中没有问题。我还看到当我使用拉丁文本时使用它,但当我想要显示阿拉伯文本时,它使用默认的系统字体来显示文本。
有没有人有定制阿拉伯字体和MonoTouch/iPhone开发的经验,或者知道为什么会发生这种情况?
提前谢谢你。
带着最亲切的问候,
Taner Gedikoglu
发布于 2012-09-12 17:30:34
这些类将完成这项工作:
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;发布于 2013-06-26 08:55:29
如果你的目标是iOS 6,你可以使用NSAttributedString更简单地实现这一点:
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:info.text attributes:@{ NSFontAttributeName : [UIFont fontWithName:@"Scheherazade" size:32], NSLigatureAttributeName: @2}];
cell.textLabel.attributedText = attributedString;请参考my answer here,了解与阿拉伯字体相关的其他问题,如行距和连字。
发布于 2011-08-30 21:48:27
你用来显示文本的API可能就是你面临的问题。看看这个问题(和答案):no german umlaute in CGBitmapContext
https://stackoverflow.com/questions/6823084
复制相似问题