我们的应用程序下载并呈现包含自定义专有字体的外部自定义内容。对于Web,桌面和Android,我们只使用嵌入了字体的外部SWF文件。技术意义上说为什么这种方法不能用于iOS,但我找不到任何替代方法。这根本不可能吗?我希望情况并非如此,因为这意味着使用AIR移动技术的iOS无法实现我们的应用程序。
埃里克
编辑细节:
让我详细介绍一下这个过程。在服务器上上传PDF。然后,我们从PDF中解析和提取内容,包括每个页面的字体。这些字体通常是内容所有者完全自定义和专有的,因为它们存储数学符号和其他非标准字符。当我们提取这些字体时,我们将字体分配给唯一标识符,嵌入它并将其编译为SWF。当从客户端请求该内容时,我们有一个字体列表。我们下载包含这些字体的所有SWF文件,然后加载并注册字体。这是我们正在拉下的SWF的一个例子。这是整个已编译的SWF被拉下来。
package {
import flash.display.Sprite;
import flash.text.Font;
import flash.system.Security;
public class F9471cf2d10924f87820ae61a30dd4b8f extends Sprite
{
[Embed(source='TempF9471cf2d10924f87820ae61a30dd4b8f.swf',symbol='F9471cf2d10924f87820ae61a30dd4b8f')]
public static var F9471cf2d10924f87820ae61a30dd4b8f:Class;
public function F9471cf2d10924f87820ae61a30dd4b8f()
{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
Font.registerFont(F9471cf2d10924f87820ae61a30dd4b8f);
}
}
}
我们手头没有这些字体的集合存储在任何库中。这是所有动态生成的内容,因此我们需要能够按需下载和注册字体,而无需预先了解字体。