Можно ли встраивать шрифты во время выполнения, чтобы использовать их для существующих экземпляров динамического текстового поля в SWF? - PullRequest
0 голосов
/ 25 мая 2011

Я пытаюсь встроить шрифты во время выполнения в Actionscript, и это несколько работает.Я могу встраивать шрифты, используя тег embed или загружая ресурс библиотеки шрифтов с именем связывания и используя его с новым TextField.Однако текстовое поле, которое существует в мувиклипе, уже не имеет встроенного шрифта и содержит символы.

Быстрый пример кода (textInstance существует в мувиклипе):

var embeddedFonts = Font.enumerateFonts(); //Shows embedded font

var textFormat:TextFormat = textInstance.getTextFormat();

textInstance.text = "Don't be lazy"; //missing characters 

var textField:TextField = new TextField();

textField.embedFonts = true;
textField.defaultTextFormat = textFormat;
textField.selectable = false;
textField.autoSize = TextFieldAutoSize.LEFT;
textField.multiline = true;

textField.text = "Don't be lazy"; //shows all characters
addChild(textField);

Можно ли сделать это?Я хочу встроить шрифт во время выполнения, загружаю несколько SWF-файлов и не хочу встраивать шрифт в каждый SWF.

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Я предполагаю, что вы добавили textInstance к своему SWF-файлу, и у него есть TextFormat со шрифтом, который вы загружаете позже.

После загрузки шрифта в SWF-файл вы должны либо снова установить текст с помощью textInstance.text = textInstance.text (если textInstance имеет defaultTextFormat), либо установить textFormat на textInstance.setTextFormat(textFormat), поскольку текстовое поле не обновляется автоматически загрузка шрифта.

0 голосов
/ 26 мая 2011

Мне пришлось создать новый TextFormat со шрифтом и установить его как defaultTextFormat, чтобы заставить его работать.

...