Всем привет.
Делаю графический редактор. Есть несколько swf-файлов с встроенным шрифтами (по шрифту на файл). Алгоритм такой:
1. Юзер помещает в рабочую область объект "текст", редактирует (textField.embedFonts=false, иначе не работает) и выбирает шрифт.
2. Внутрь объекта "текст" подгружается swf с выбранным шрифтом, внутри этого swf создается новый textField.embedFonts=true, dynamic, selectable=false.
Так вот, у этого нового textField текст вылезает вверх за пределы бокса:

Код:
_root.createEmptyMovieClip("swf", 1);
var loader = new MovieClipLoader();
loader.addListener({
onLoadComplete: function(mc:MovieClip) {
_root.onSWFLoaded();
},
});
loader.loadClip("Arial.swf", swf);
function onSWFLoaded() {
swf.createTextField("txt", this.getNextHighestDepth(), 50, 50, 200, 100);
swf.txt.border = true;
swf.txt.embedFonts = true;
swf.txt.borderColor = 0x000099;
var tf = new TextFormat();
tf.font = "Arial";
tf.size = 40;
tf.color = 0xFF0000;
swf.txt.text = "Line 1.\nLine 2.";
swf.txt.setTextFormat(tf);
}
Вылечить сумел, только добавив tf.leading=40 и "\n" в начало строки swf.txt.text:

Код:
tf.leading = 40;
swf.txt.text = "\nLine 1.\nLine 2.";
Однако ни в одном из примеров, на которые я равнялся, нет ни намека на такие хаки. В чем может быть дело?