Почему я не могу отображать встроенные шрифты в AS3?

Я просмотрел все темы о встраивании шрифтов в AS3, которые смог найти, и перепробовал все решения. . Я, вероятно, упускаю что-то очевидное, но я не совсем понимаю, что делаю, поэтому, пожалуйста, направьте меня в правильном направлении. Многие ответы связаны с Flash Builder или другим инструментом, но я использую FlashDevelop. Не знаю, имеет ли это значение.

У меня есть эта строка в моем Main.as:

[Embed(source = "assets/SKA_75_marul_CE_extended.ttf", 
fontName = "SKA_75_marul_CE_extended", 
fontWeight = "bold", 
advancedAntiAliasing = "true", 
mimeType = "application/x-font")] 
public static var SKA_75_marul_CE_extended:String;

И это существует в конструкторе расширенного спрайта с именем Pointer.as:

var format:TextFormat = new TextFormat();
format.font = "SKA_75_marul_CE_extended";
format.color = 0xFFCCCC;
format.size = 20;           

var label:TextField = new TextField();
label.defaultTextFormat = format;
label.text = "test";
label.embedFonts = true;
label.antiAliasType = AntiAliasType.ADVANCED;

//label.setTextFormat(format);    --> I tried this too, didn't work...
label.defaultTextFormat = format;
label.x += img.width + 50;
this.addChild(label);

Единственный способ, который я нашел, чтобы заставить его отображать что-либо, это отключить встроенные шрифты. Я безуспешно пытался внедрить C:/windows/fonts/arial.ttf.

Кажется, что встраивание шрифтов — это темное искусство, как никакое другое, и я должен уступить после 1 часа борьбы. Пожалуйста, пришлите помощь.

ОБНОВЛЕНИЕ:

Вот рабочий код, оказывается, это было связано с правильным порядком операций...:

[Embed(source="assets/SKA_75_marul_CE_extended.ttf", 
                fontName = "myFont", 
                mimeType = "application/x-font", 
                fontWeight="normal", 
                fontStyle="normal", 
                unicodeRange="U+0020-U+007E", 
                advancedAntiAliasing="true", 
                embedAsCFF="false")]
        private var myEmbeddedFont:Class;

            var tf:TextFormat = new TextFormat( "myFont", 20,0xffffff );

            var t:TextField     = new TextField;
            t.embedFonts        = true; // very important to set
            t.defaultTextFormat = tf;
            t.text              = text;
            t.x += img.width + 50;
            t.width = 700;
            this.addChild( t );
8
задан BoltClock 17 April 2012 в 23:37
поделиться