我們的應用程序下載並呈現包含自定義專有字體的外部自定義內容。對於網頁,桌面和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);
}
}
}
我們沒有這些字體的集合,可以在任何庫中存儲。這是所有動態生成的內容,因此我們需要能夠按需下載和註冊字體,而無需事先了解字體。
整理。我在原文中增加了更多細節。這裏的主要問題是事先不知道字體。需要能夠從遠程服務器下載和註冊字體。 – Soabirw