我目前正在使用 iPhone SDK 创建一个利用印度语脚本的应用程序。然而,iPhone 在渲染许多印度文字中的某些字形时存在问题。例如:
प + ् + र = प्र
或
ਕ + ੍ + ਰ = ਕ੍ਰ
当您在 Mac(或 Windows)上键入此内容时,计算机会自动将这三个字符呈现为一个字形(प्र - 但在 Unicode 中,它仍然表示为三个字符)。由于 iPhone 不支持 AAT(Apple 高级排版)或高级 OpenType 功能,因此它会将字符呈现为三个独立的字符,这在许多情况下变得不可读。我认为应该有一种方法在 Objective-C 中进行硬编码,以确保每次这三个字符出现在 UILabel 中时,它们都应该从 Arial Unicode MS(内置)字体中呈现某个字形。我不介意使用未记录的 API 来完成此任务。
最佳答案
问题不在于iPhone仅支持某些印度语或不支持AAT字体。 iPhone肯定支持AAT表。 问题是不包括您使用的正确 AAT 字体! 您可以显示很少的字形,因为这些字形包含在 arialuni.ttf 或 helvetica.ttf 中。但这些字体没有任何 OpenType 或 AAT 表。
我可以用图片确认我所说的,我有一部越狱的 iPhone,你可以检查 flickr.com/photos/41161441@N03/以获得正确的高棉语渲染图片,这是最复杂的印度文字之一。
我在 modmyi.com 网站论坛上解释了这个问题。 http://www.modmyi.com/forums/general-iphone-chat/680094-indic-font-rendering-iphone-yes-working.html#post4897261
关于iphone - 在 iPhone 上渲染某些字符字形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227656/