FontLoader v. 2.2

Очередная новая версия FontLoader. Добавилось событие IOErrorEvent.VERIFY_ERROR, которое посылается в случае, если загруженный файл имеет неверный формат (например, вместо swf загружен html).

16 Responses to FontLoader v. 2.2

  1. Наиполезнейший класс.
    Вот бы еще в качестве параметра передавать ему массив ;-) Сомневаюсь, что многие загружают единственную swf-ку с кучей внедренных шрифтов. Более приятной, имхо, была бы вот такая штука:
    fl.load(['Arial.swf','Tahoma.swf','Verdana.swf']);

  2. Ну, вообще говоря, ничего не мешает сделать менеджер загрузкок. FontLoader — конкретный лоадер конкретного файла, делать из него монстра закачек в мои планы как-то не входило :)

    з. Ы. Сорри, почему-то абсолютное большинство комментариев распознается как спам, приходится аппрувить постоянно.

  3. Don IndulgencI0

    Вот не пойму только, зачем такие навороты с байтаррэями. Заголовки пришивать зачем? Класс SWFByteArray и все такое… Неужели просто нельзя залить SWF и прошерстить его на предмет присутствующих полей с фонтами? Чего я тут недопонимаю?

  4. Можно, только шрифты мы как использовать будем?

  5. Don IndulgencI0

    Ну как, стандартно же.. Файлик залили, зарегистренный ембедед фонтс считали и вперед. Или, скажем так, ЧТО такого может Ваш Лодырь, чего нельзя достичь мирным путем? Возможность считать более одного фонта из одного SWF-a? Так для шарного ембеда все фонты разделяют и так. По начертаниям. Шоб не запутатсо. Один файлик – одно начертание…

    А какие именно спецификации по формату SWF вы использовали в этой работе? Что-то типа такого http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf ?

  6. Послушайте, если вы просто загрузите swf с шрифтом в каком-либо виде, использовать этот шрифт вы не сможете в общем случае. Только если он не регистрируется автоматически, что сделать несложно, но по ряду причин бывает невозможно (например, у вас вообще нет исходного шрифта, есть только swf). Эту проблему FontLoader и решает.

    Что касается спецификации, то да, в частности и эта спецификация была использована.

  7. Don IndulgencI0

    Э-э.. Как же я не смогу его использовать? Вроде же это и есть основное отличие AVM2 от AVM1, что теперь фонты стали доступны глобально по плееру. Вот, скажем, стандартный туториал, как это типически имплементить: http://www.communitymx.com/content/article.cfm?cid=67A61

  8. Да, доступны. Но есть несколько проблем:
    1. Необходимость вызова registerFont (в туториале это описано);
    2. Из-за п. 1 необходимо указывать класс для embedded-шрифта, а в Flash IDE это можно сделать только создавая шрифт в библиотеке;
    3. Из п. 2 вытекает новая проблема — невозможность указания конкретных диапазонов символов (за исключением CS5, где наконец-то добавили эту опцию) в диалоге создания шрифта (зато это можно сделать в свойствах текстового поля на сцене). Как следствие, кириллица в диапазон по умолчанию не попадает;
    4. Если воспользоваться метатегом [Embed], то необходимо наизусть знать все параметры этого тега, плюс коды диапазонов символов. Не WYSIWYG way, но для хардкорщиков подойдет. Правда, последние могут болезненно воспринять тот факт, что помимо класса шрифта, в конечном swf ещё окажется некоторое количество мусора, вроде Flex-овых asset-ов.

    FontLoader упрощает процесс создания внешнего шрифта до следующей процедуры:
    1. Во Flash IDE создаем на сцене поле с шрифтом X и вшитыми диапазонами Y;
    2. Компилируем;
    3. Загружаем с помощью FontLoader-а скомпилированный swf;
    4. PROFIT.

    Никаких классов, никакого выучивания наизусть метатегов. А если у вас вообще нет нужного шрифта в системе для создания swf с ним, но есть сам swf, в котором такой шрифт присутствует, то FontLoader является решением данной проблемы. Ему вообще по барабану на формат swf, главное, чтобы там был embedded-шрифт в каком-нибудь виде. Собственно, всё. Понятно, что для труъ-флешеров FontLoader нафиг не упал, но этот инструмент и не для них.

  9. Don IndulgencI0

    Круто! Вот это я понимаю, глубокое изучение вопроса!
    Спасибочки! Кучу времени экономите людям.

  10. Правильно я понимаю что сейчас FontLoader не умеет загружать шрифты для spark-овских контролов, которые используют Flash Text Engine ? Шрифты для FTE должны эмбедится с атрибутом embedAsCFF=”true”, как только я делаю флешку со шрифтами, где у эмбеда шрифта есть атрибут embedAsCFF=”true” FontLoader перестает находить oбъекты класса Font в загруженной swf-ке. Если это так, существует ли какая-то возможность подгружать шрифты для FTE во время выполнения?

    Спасибо за помощь!

  11. FontLoader не знает ничего о тегах DefineFont4.

  12. Планируется ли научить FontLoader понимать теги DefineFont4 ?

  13. Только при наличии свободного времени. К сожалению, его почти нет сейчас :(

  14. Ясно, спасибо.
    Буду искать альтернативный путь, если не найду попробую допилить FontLoader…

  15. Хемуль

    Да, было бы замечательно, если бы FontLoader мог понимать DefineFont4. Сейчас один проект перевожу на последнюю Flex SDK и столкнулся с этой же проблемой.

  16. А я не знаю, подходит DefineFont4 для обычного Font или нет. Не хочется делать особых исключений.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>