我在AS3中设置字体时遇到问题。我使用论坛和问题的资源尝试了几种不同的东西,但我无法让它发挥作用。
这是我使用的代码:
private function addContentToMovieClips(Text:String, MC:MovieClip):void
{
var myFont = new Trebuchet();
var tFormat:TextFormat = new TextFormat();
tFormat.font = myFont.fontName;
tFormat.color = 0x000000;
trace(tFormat.font);
var tf:TextField = new TextField();
tf.defaultTextFormat = tFormat;
tf.embedFonts = true;
//tf.antiAliasType = AntiAliasType.ADVANCED;
tf.text = Text;
MC.addChild(tf);
tf.width = 300;
}
在库中,我有一个名为“font2”的字体,其AS链接为“Trebuchet”。我没有编译错误,似乎在屏幕上创建了文本,但没有显示任何内容。
以下行用于调试:
trace(tFormat.font);
按预期返回“Trebuchet MS”。
如果你能帮助我理解为什么这不起作用,我将非常感激!
干杯,
帕特里克
编辑:删除时
tf.embedFonts = true;
文本以正确的字体显示。不知道为什么,但现在就行了。
答案 0 :(得分:0)
您应该将代码粘贴到嵌入字体的位置。但由于我遇到了同样的问题,我猜你错过了embedAsCFF指令:
[Embed(source="../someFont.ttf",
fontName = "myFont",
mimeType = "application/x-font",
fontWeight="normal",
fontStyle="normal",
unicodeRange="englishRange",
advancedAntiAliasing="true",
embedAsCFF="false")]