当embed font设置为true时,actionscript文本不会出现

时间:2010-07-19 06:56:00

标签: flash actionscript-3 actionscript

我在flash项目库中添加了自定义字体的自定义类。 现在,当我尝试嵌入字体并从actionscript中使用它时,文本无法显示。

没有抛出任何错误。 这是我的代码。

var tabfont:Font = new tabHeaderFont();

var format:TextFormat = new TextFormat();
format.font = tabfont.fontName;

tab.defaultTextFormat = format;
tab.embedFonts = true;

addChild(tab);

有人可以弄清楚这有什么问题。

3 个答案:

答案 0 :(得分:3)

您是否尝试过TextField的setTextFormat方法来应用文本格式而不是defaultTextFormat属性?此外,确保在TextFormat实例中设置任何属性后设置TextFormat,否则它们将不会应用。

        var tabfont:Font = new TabHeaderFont();
        var format:TextFormat = new TextFormat();

        format.font = tabfont.fontName;

        tab.embedFonts = true;

        tab.setTextFormat(format);
        addChild(tab);

您还需要确保在设置TextField的.text属性后设置TextFormat ,否则文本将不会出现。

答案 1 :(得分:1)

defaultTextFormat& amp; setTextFormat是您实际应用该方法的时间。

在定义TextField文本内容之前格式化TextField时使用defaultTextFormat,在设置Textfield文本内容时使用setTextFormat。

在您的代码示例中,您没有提及何时设置了text属性。

实际上,如果它适用于一种方法,它应该与另一种方法一起使用。这一切都取决于你如何实现它们

答案 2 :(得分:0)

您是否检查过该字体是否已正确嵌入?如果没有,则字段将不可见。使用

Font.enumerateFonts()
获取所有可用嵌入字体的列表。