2010-04-03 116 views
3

我在as3中動態創建textfields,並使用TextFormat類格式化它們。我有一些問題,但選擇適用於文本字段的字體的確切「樣式」。到目前爲止我的代碼看起來像:as3格式化文本字段

formatT = new TextFormat(); 
    formatT.bold = false; 
    formatT.color = 0x000000; 
    formatT.font = "TradeGothic";  
    formatT.size = 16; 

    var textItem = new TextField(); 
    textItem.text = "foobar"; 
    textItem.setTextFormat(formatT); 
    addChild(textItem); 

此作品(「貿易哥特式」應用到包含的文本),但我無法弄清楚如何申請的「貿易哥特式」的特定風格,例如「輕傾斜」。有什麼方法可以使用TextFormat類來指定它?

謝謝。

回答

4

你需要找到你想要的字體名稱:

var fonts = Font.enumerateFonts(true); 
fonts.sortOn("fontName", Array.CASEINSENSITIVE); 
for each(var f:Font in fonts) 
    trace(f.fontName); 

應該可以看到「TradeGothic」多個列表。我猜你想要的是「TradeGothic光斜」,例如:

formatT.font = "TradeGothic Light Oblique"; 

因爲你的字體不是很常見,我建議將其嵌入 - 否則將無法正確渲染不計算機上安裝了該字體(請參閱here)。一旦你嵌入字體,你必須指定:

textItem.embedFonts = true; 

順便說一句,如果你想只列出嵌入字體的名稱,該參數指定false

var embeddedFontsOnly = Font.enumerateFonts(false);