AS3 TextField字体

时间:2012-04-25 10:24:43

标签: actionscript-3 flash fonts formatting textfield

我在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;

文本以正确的字体显示。不知道为什么,但现在就行了。

1 个答案:

答案 0 :(得分:0)

您应该将代码粘贴到嵌入字体的位置。但由于我遇到了同样的问题,我猜你错过了embedAsCFF指令:

[Embed(source="../someFont.ttf", 
    fontName = "myFont", 
    mimeType = "application/x-font", 
    fontWeight="normal", 
    fontStyle="normal", 
    unicodeRange="englishRange", 
    advancedAntiAliasing="true", 
    embedAsCFF="false")]