2011-07-05 51 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