2010-09-01 83 views
0

所以 - 我有這個奇怪的問題。字體嵌入不起作用或?

我有一個重要的項目,除了它被分割成許多SWF文件之外,沒有任何細節需要,所以 - 我想使用共享庫來嵌入字體。完成 - 加載了sl_fonts.swf,字體 - 已檢查並正常工作,其餘的SWF在AFTER後加載(由預加載器檢查)。

現在 - 再次,我追查請求字體的結果,它是所有喜歡請求ArialBlack

DEBUG: REQUEST ArialBlack RETURN [class EMArialBlack] (main.swf) 
DEBUG: GOT [class EMArialBlack] (loaded.swf) 

加載的SWF文件,它似乎有了答案 - EMArialBlack,這是嵌入字體的類。

奇怪的是,當我把這個返回到一個TextFormat的.font,它並沒有真正的工作。我甚至在將TextFormat.font設置爲返回後追蹤了它。它實際上追溯了[EMArialBlack類]。但是當我將此TextFormat設置爲TextField時,它不起作用?如果embedFonts關閉,它沒有結果(它保留了舊的_sans佔位符字體)。如果打開,則不顯示任何文字。

任何想法爲什麼會發生這種情況?

回答

0

.font =字符串值(字體名稱)

var format1:TextFormat = new TextFormat(); 
format1.font="Arial"; 
format1.size=12; 
var result:TextField = new TextField(); 
result.embedFonts=true; 
result.antiAliasType=AntiAliasType.ADVANCED; 
result.text="This text uses a gridFitType of " + tl; 
result.setTextFormat(fm); 

alt text

+0

哦,我還沒有注意到,它的一個字符串。謝謝......但接下來還有另一個問題。我需要獲取我的字體類的字符串ID。不幸的是,字符串ID不是我所期望的「EMArialBlack」...所以我使用Font.enumerateDeviceFonts(false)打開可用的字體,它基本上告訴我嵌入字體的ID,因爲它們不需要註冊。 我發現它在「Arial Black」下注冊 - 並且在Font Embedding菜單中更改任何內容都無法更改它。 我試圖使用「EMArialBlack」,「ArialBlack」,「Arial Black」 - 但沒有一個工作......想法? – 2010-09-01 11:31:16

+0

該名稱是您在閃存ide中的庫中寫入的名稱。右鍵單擊 - >屬性 – tomato 2010-09-01 11:47:54

+0

它設置爲EMArialBlack,名稱以及ActionScript類。但它不起作用 - 我嘗試了「EMArialBlack」,「ArialBlack」和「Arial Black」作爲.font參數,但仍然無效。我嘗試了WITH和WITHOUT.embedFonts設置爲true。 – 2010-09-01 12:03:13