AIR Mobile:在运行时在iOS中加载自定义字体

时间:2011-07-05 20:32:27

标签: ios fonts air

我们的应用程序下载并呈现包含自定义专有字体的外部自定义内容。对于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);
      }
    }
}

我们手头没有这些字体的集合存储在任何库中。这是所有动态生成的内容,因此我们需要能够按需下载和注册字体,而无需预先了解字体。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望在运行时处理自定义字体。看看这个:https://github.com/zynga/FontLabel