2011-01-18 4 views
1

Я работаю над вложением шрифтов во Flash (flas скомпилированы с использованием CS5, сделанного ранее в CS3).Flash Textfield embedFonts false positive

Проект разбит на несколько отдельных флагов, и у меня проблемы с одним конкретным.

Я динамически вставляю шрифты, используя класс, который я написал, чтобы сидеть над сценой, слушая Event.ADDED, затем ищет текстовые поля с динамическим текстом и встраиванием шрифта, необходимого динамически (здесь нет требований к эффективности :).

У меня есть чек, чтобы не обрабатывать текстовые поля, которые уже встроены. Никакие текстовые поля ни в одной из флагов (насколько мне известно) не имеют встроенных шрифтов. Но некоторые текстовые поля говорят, что они есть, как в textfield.embedFonts == true.

Во встроенном шрифте fla, что шрифты не встроены. Если я нажимаю на кнопку ввода фактических текстовых полей, я вижу, что шрифт текстового поля находится в списке шрифтов, но не введены диапазоны символов.

Это оставляет меня в замешательстве, так как я не хочу абсолютно никаких шрифтов, встроенных в любую флэшку. Но шрифт для отдельного текстового поля всегда находится в списке встроенных шрифтов, независимо от того, сколько раз я его удаляю. Если я нажимаю кнопку вставки для текстового поля, чтобы проверить, нет ли встраивания, шрифт добавляется в список без каких-либо диапазонов символов.

Может кто-нибудь объяснить мне, что здесь происходит?

+0

Что говорится в отчете о размере? Вы видите шрифт, который похож на встроенный? – mpdonadio

+0

Размер сгенерированного swf составляет 3 КБ, поэтому фактический шрифт не встроен. Теперь я просматриваю пакет xlf. Видя, что может сказать мне XML. –

+0

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

ответ

0

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

+0

Ну, я хочу, чтобы вложение шрифтов, а не через Flash-компилятор. Но я попробую это как эксперимент. –

+0

Ну, если вы установите его на системный шрифт (каждый текстовое поле отдельно), компилятор не будет вставлять какие-либо шрифты, но вы все равно можете вставлять его через AS так же, как вы намереваетесь. – Mathias

+0

Да, это возможно, но я чувствую, что я избегаю проблемы здесь. Я хотел бы знать, почему текстовые поля считают, что они имеют встроенный шрифт. Переключение на системный шрифт, а затем обратно на нужный шрифт, похоже, напоминает, что он не имеет встроенного шрифта. –

Смежные вопросы