PDA

Просмотр полной версии : Программно не получается сделать embedFonts


kichSman
26.09.2009, 20:27
Пытаюсь сделать программно(AS2) embedFonts, что бы потом развернуть, использовал для примера скрипт из мануала

var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "my font";

this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
my_txt.wordWrap = true;
my_txt.embedFonts = true;
my_txt.text = "Hello world";
my_txt.setTextFormat(my_fmt);
my_txt._rotation = 45;

результата никакого, хотя шрифт на компе есть.
Может нужно дополнительной функцией "подгружать" шрифты или есть способ без embed развернуть текст? Подскажите пожалуйста

mooncar
26.09.2009, 20:38
embedFonts всего лишь указывает флешу о необходимости использования в данном поле внедренного шрифта, а не внедряет его.
Нужно, собственно, еще внедрить сам шрифт.
Создайте где-нибудь в кадре, идущем до кадра с этим кодом, или в нем же
динамическое текстовое поле, установите желательный шрифт и гарнитуру, напишите туда что-нибудь и внедрите через кнопку Embed нужные символы. Тогда в вашем проекте этот шрифт будет присутствовать и embedFonts заработает.
То есть на этапе экспорта символов при компиляции компилятор заберет нужные символы нужного шрифта в компиоируемый ролик.

Очень удобный метод, кстати, когда у нас поле динамически создается при исполнении кода. Внедряем один раз в начале шрифт с нужным набором, а потом просто пишем embedFonts = true;

Добавлено через 4 минуты
Если же у вас шрифт "my font" уже экспортируется куда нужно, то все должно работать, при условии, что экспорт настроен верно.