as3格式化文本字段

时间:2010-04-03 21:03:23

标签: flash actionscript-3 formatting fonts textfield

我在as3中动态创建文本字段,并使用TextFormat类格式化它们。我在选择要应用于文本字段的字体的确切“样式”时遇到了一些问题。到目前为止我的代码看起来像:

   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);

这个作品(“商业哥特式”适用于所附的文字),但我无法弄清楚如何应用特定风格的“贸易哥特式”,例如“Light Oblique”。有没有办法可以使用TextFormat类指定它?

感谢。

1 个答案:

答案 0 :(得分:4)

您需要找到所需字体的名称:

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

您应该会看到“TradeGothic”的多个商家信息。我猜你想要的是“TradeGothic Light Oblique”,例如:

formatT.font = "TradeGothic Light Oblique";

由于你的字体不常见,我建议嵌入它 - 否则它将无法在没有安装该字体的计算机上正确呈现(参见here)。嵌入字体后,必须指定:

textItem.embedFonts = true;

顺便说一句,如果您只想列出嵌入字体的名称,请为参数指定false

var embeddedFontsOnly = Font.enumerateFonts(false);