我目前正在使用 iPhone SDK 创建一个利用印度语脚本的应用程序。然而,iPhone 在渲染许多印度文字中的某些字形时存在问题。例如:

प + ् + र = प्र

或者

ਕ + ੍ + ਰ = ਕ੍ਰ

当您在 Mac(或 Windows)上键入此内容时,计算机会自动将这三个字符呈现为一个字形(प्र - 但在 Unicode 中,它仍然表示为三个字符)。由于 iPhone 不支持 AAT(Apple 高级排版)或高级 OpenType 功能,因此它会将字符呈现为三个独立的字符,这在许多情况下变得不可读。我认为应该有一种方法在 Objective-C 中进行硬编码,以确保每次这三个字符出现在 UILabel 中时,它们都应该从 Arial Unicode MS(内置)字体中呈现某个字形。我不介意使用未记录的 API 来完成此任务。

有帮助吗?

解决方案

问题是不是iPhone只支持某些印度语或不支持AAT字体。 iPhone的支持AAT表肯定。 问题是,你使用正确的AAT字体不包括在内! U可以有几字形显示,因为那些部分是inlcude无论是在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

其他提示

首先探索 Apple 使用的内容,如下所示:

  • 尝试在 Notes 和 Mail 中输入单独的字形,看看它们是否组合。如果不是,那么不太可能有隐藏的代码来执行此操作。

  • 接下来,在 Mac 上创建一个合成角色并将其通过电子邮件发送到您的 iPhone。看看 Mail 是否能够显示各种复合字符。通过托管具有复合字符的网页并观察 MobileSafari 的操作来重复此操作。我已经通过在 MobileSafari 中查看此页面为您完成了此操作;它无法正确组合字符。因此,这告诉我们 iPhone 上的 WebKit 无法帮助您(并且使得 iPhone 根本不可能做到这一点)。

  • 最后,你为什么相信 प्र 可以在 iPhone 上使用?您是否曾经能够在 iPhone 上的任何应用程序中显示此字形?很可能没有这样的字形定义,在这种情况下,除非您准备好编写自己的布局管理器(这可能需要创建一个全新的文本视图),否则您可能会陷入困境。如果您已经能够在某个地方显示它,那么您可以从那里继续了解 Apple 如何显示它。

iPhone 上有印度语键盘吗?我一直没能找到一个,如果没有,那么他们极不可能在私有方法中隐藏了很多印度人的支持。

请务必打开 Radars (bugreport.apple.com),查看 iPhone 上绘制不正确的任何字形。这就是他们知道如何解决它的方法。

我对语言学习的应用程序。

有一点要在iPhone上印度语脚本不支持。你将不得不写自己的文字渲染的支持和使用它,或者等待苹果实现它的元素。

在iPhone OS不能渲染阿拉伯语脚本,直到3.0,和OS X只支持第三方渲染支持某些印度语文字。

我给支持脚本iPhone OS不能呈现解决方案是使用预渲染的图像。也许没有太大的帮助你,但是这就是我们要做的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top