我在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类指定它?
感谢。
答案 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);