2013-02-08 34 views
1

我有一個問題,當我加載到我的應用程序時,我加載到我的應用程序的外部SWF失去了它的字體呈現(與外部字體),當我加載到我的應用程序。在它自己的字體似乎很好地呈現,當我測試加載這個外部的SWF到一個簡單的測試項目。嵌入字體在外部的SWF衝突

所以在我看來,與嵌入到我的應用中的字體可能存在衝突。但是,我刪除了與此相關的所有功能,但它並未解決我的問題。任何想法爲什麼有衝突?

編輯** 有趣的是,只有當ApplicationDomain設置爲null時纔會出現此問題。當子SWF共享父SWF域時,字體將正確呈現。

感謝

克里斯

+0

您是否嘗試使用獨特的自定義名稱鏈接庫中的字體?在庫中右鍵單擊它,轉到屬性並啓用到ActionScript的鏈接 – mika 2013-02-08 14:59:14

回答

0

問題是,as3不喜歡在不同的域上註冊字體。所以我將父「ApplicationDomain」的實例傳遞給子swf,並將子swf註冊的字體傳遞給此實例。

1

你在你的關於字體衝突的建議是正確的。有幾種嵌入字體的規則可以幫助你解決這個問題:

  1. 儘量不要使用靜態文本字段。所有來自靜態文本字段的符號都將被Flash IDE嵌入到您的swf中,因此如果您將加載另一個swf,則其字體(具有相同名稱系列名稱)將被您的字體替換爲只有幾個符號。
  2. 如果您仍然使用靜態文本字段,請嘗試將外部swf加載到自己的應用程序域(new ApplicationDomain(null)),這將防止字體替換,但主SWF中的類在加載的SWF中不可用。