如何使用FlashDevelop在as3中嵌入字体?

时间:2014-03-12 12:49:23

标签: actionscript-3 flash flashdevelop font-embedding

如何使用FlashDevelop在as3中嵌入字体?我已经阅读了很多关于这个问题的帖子,但没有一个帮助我解决它。 当我使用以下代码时,不显示任何内容(这是所有代码):

package  
{
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;

    public class Main extends Sprite 
    {
        [Embed(source="/../resources/fonts/andbasr.ttf", fontName = "andbasr", fontWeight = "Demibold", mimeType="application/x-font")]
        private var andbasr:Class;

        public function Main() 
        {
            var textField:TextField = new TextField();
            textField.embedFonts = true;
            var format:TextFormat = new TextFormat("andbasr", 16, 0x000000);
            textField.defaultTextFormat = format;
            textField.text = "Test";
            stage.addChild(textField);
        }

    }

}

“andbasr”只是我发现的随机ttf文件。我知道我做错了什么?

1 个答案:

答案 0 :(得分:8)

它工作正常,我刚刚下载了您正在测试的字体。我认为字体不具有DemiBold权重,在您的情况下也是如此,因为您不使用TLF TextField,禁用embedAsCFF="false"

禁用DF4格式的字体嵌入
[Embed(source="AndBasR.ttf",
        fontName = "myFont",
        mimeType = "application/x-font",
        advancedAntiAliasing="true",
        embedAsCFF="false")]
private var myEmbeddedFont:Class;

//Testing 
var textField: TextField = new TextField();
textField.defaultTextFormat = new TextFormat("myFont", 20);
textField.embedFonts = true;
textField.text = "Test Embedded Font";

addChild(textField);