Flash as3格式化文本字段
我在as3中动态创建textfields,并使用TextFormat类对其进行格式化。不过,在选择要应用于文本字段的确切字体“样式”时,我遇到了一些问题。到目前为止,我的代码如下所示:Flash as3格式化文本字段,flash,actionscript-3,formatting,fonts,textfield,Flash,Actionscript 3,Formatting,Fonts,Textfield,我在as3中动态创建textfields,并使用TextFormat类对其进行格式化。不过,在选择要应用于文本字段的确切字体“样式”时,我遇到了一些问题。到目前为止,我的代码如下所示: formatT = new TextFormat( ); formatT.bold = false; formatT.color = 0x000000; formatT.font = "TradeGothic"; formatT.size = 16; var t
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类指定这一点
谢谢。您需要找到所需字体的名称:
var fonts = Font.enumerateFonts(true);
fonts.sortOn("fontName", Array.CASEINSENSITIVE);
for each(var f:Font in fonts)
trace(f.fontName);
您应该看到“TradeGothic”的多个列表。我猜您想要的是“TradeGottic Light Sloperal”,例如:
由于您的字体不是很常见,我建议将其嵌入,否则在未安装该字体的计算机上无法正确呈现(请参阅)。嵌入字体后,必须指定:
textItem.embedFonts = true;
顺便说一句,如果您只想列出嵌入字体的名称,请为参数指定false
:
var embeddedFontsOnly = Font.enumerateFonts(false);
var embeddedFontsOnly = Font.enumerateFonts(false);