0

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

文本以正确的字体显示。不知道为什么,但这暂时可以解决问题。

4

1 回答 1

0

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

[Embed(source="../someFont.ttf", 
    fontName = "myFont", 
    mimeType = "application/x-font", 
    fontWeight="normal", 
    fontStyle="normal", 
    unicodeRange="englishRange", 
    advancedAntiAliasing="true", 
    embedAsCFF="false")]
于 2012-04-25T11:25:49.897 回答