2011-07-05 24 views
0

我们的应用程序下载并呈现包含自定义专有字体的外部自定义内容。对于网页,桌面和Android,我们只需使用嵌入字体的外部SWF文件。从技术层面上来说,为什么这种方法不适用于iOS,但我一直无法找到任何替代方案。这是不可能的吗?我希望情况并非如此,因为这意味着我们的应用程序不适用于使用AIR移动技术的iOS。AIR Mobile:在运行时在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

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

+0

整理。我在原文中增加了更多细节。这里的主要问题是事先不知道字体。需要能够从远程服务器下载和注册字体。 – Soabirw