Имею вот такой фрагмент кода:

Код AS3:
public class TextToolTip extends TextField
{
[Embed (source = "ARIAL.TTF", fontFamily = "Arial Narrow") ]
public var arial:Class;
private var _str;
public function TextToolTip(str:String)
{
super();
_str = str;
init();
}
private function init():void
{
this.autoSize = "left";
this.text = _str;
///TODO Закоммент добавление бэкграунда
/// и бордера к текстовому полю. Времен-
///но до принятия окончательного решения
this.background = false;
this.backgroundColor = 0x000000;
this.border = false;
this.borderColor = 0xFFFFFF;
this.cacheAsBitmap = true;
this.textColor = 0xFFFFFF;
this.mouseEnabled = false;
this.selectable = false;
this.setTextFormat( defTextFormat() );
this.embedFonts = true;
this.antiAliasType = AntiAliasType.ADVANCED;
if ( this.width > 200 )
{
this.wordWrap = true;
this.width = 200;
}
}
private function defTextFormat():TextFormat
{
var fonts:Array = Font.enumerateFonts();
var format:TextFormat = new TextFormat();
var ident:int = 10;
format.leftMargin = format.rightMargin = ident;
format.size = 16;
format.bold = true;
format.font = "Arial Narrow";
//{//////////// T R A C E //////////////////
///TODO Проверка наличия шрифта и глифа
trace("TextToolTip.defTextFormat, , fonts[0].name : " + fonts[0].fontName
+ ", fonts.length : " + fonts.length + ", fonts[0].hasGlyphs() : " +
fonts[0].hasGlyphs(_str));
//}//////////// E N D T R A C E ///////////
return format;
}
В трейс (в коде "TRACE") выводится строка:
Цитата:
|
TextToolTip.defTextFormat, , fonts[0].name : Arial Narrow, fonts.length : 1, fonts[0].hasGlyphs() : true
|
То есть шрифт заембедился, глиф для отображения есть. Однако в текстовом поле ничего не выводится.
Если же добавляю шрифт через Flash IDE CS5 всё работает нормально. В чём может быть дело?
Нашёл на форуме коммент iNils-а об изменении в реестре, сделал, но эффекта тоже никакого.