2012-03-28 75 views
3

我在ActionScript 3.0創建動態的TextField。和許多人一樣,我的文字時,我設置.embedFonts = true;ActionScript 3.0中嵌入字體 - 文本中不顯示

ArialSlim嵌入和ActionScript導出消失。我已經成功地與trace(Font.enumerateFonts());

有趣的是,當我註釋掉嵌入線(如下圖所示)進行測試,字體正常工作。

另外,.setTextFormat();也工作正常,而不.embedFonts線。

所以我的問題是,爲什麼呢?在這種情況下,我會遇到任何問題嗎?

var divArray = new Array(); 
var x_Lbl_Array:Array = new Array(); 

var entries:int = 10; 

var labelFormat:TextFormat = new TextFormat(); 
var arial:Font = new ArialSlim();  

labelFormat.font = arial.fontName; 
labelFormat.size = 10; 

var xVar:int = 0; 

for(var loop:int = 0; loop < entries; loop++){ 
    x_Lbl_Array[loop] = new TextField(); 

    //x_Lbl_Array[loop].embedFonts = true; 
    x_Lbl_Array[loop].antiAliasType = AntiAliasType.NORMAL; 
    x_Lbl_Array[loop].defaultTextFormat = labelFormat; 

    x_Lbl_Array[loop].x = xVar; 
    x_Lbl_Array[loop].y = 165; 
    x_Lbl_Array[loop].text = "test"; 

    mc.addChild(x_Lbl_Array[loop]); 
    xVar++; 
} 

編輯: 我只是跑從第1幀此代碼.embedFonts = true;和它的工作...

也許我應該提到,我在裏面的一個方法運行此代碼的麻煩實例化的動作類。該類位於外部.as文件中。這有助於回答我的問題嗎?

回答

1

事實證明,我在某些時候點擊了我的嵌入字體輪廓格式選項「TLF(DF4)」。當我糾正這一點,並選擇「經典(DF3)」時,它解決了我的問題。

我猜我覺得這是非常奇怪的是,字體被正確地顯示了不.embedFonts被設置爲true

謝謝,丹尼爾。我很感激幫助。

+0

恭喜修理!如果可以,請確保將您的答案(或丹尼爾的下方)標記爲「已接受」,以便其他人會注意到您的問題已得到解決,並能夠從您的解決方案中學習。乾杯〜 – 2012-03-30 14:22:31

+0

是的,我打算標記我的答案,但它不會讓我馬上做。 – 2012-03-31 20:45:05

+0

你能解釋一下嗎?什麼是「大綱格式選項」? – zakdances 2013-03-16 22:58:19

1

我想你的代碼,併爲我工作(與嵌入字體)

檢查是否已包括了所有的字符。 您可以設置字符範圍,也可以創建包含所有字符的文本字段。

+0

感謝您的回覆。包含的字符不應該是一個問題......我包括大寫,小寫和特殊符號。我不需要那麼多。 – 2012-03-28 17:39:11

+0

你能分享FLA嗎? – Daniel 2012-03-28 18:17:26

+0

[這是一個鏈接到我的來源](http://www.peculiar-motion.com/FlashExamples/textExample.zip)...請參考編輯我上面的帖子 - 這個錯誤只發生在你實例化調用此代碼的類。 – 2012-03-29 19:40:14

相關問題