FontManager рекомендуется использовать всего в двух случаях:
если вы решили в своем проекте использовать shared библиотеки шрифтов или
если вы решили отказаться от использования shared библиотек шрифтов по причине их неудобства.
гм... а что такое shared библиотеки и зачем вообще они нужны?
- как правило сайты делаются в одном стиле. Это значит, что применяется один и тот же набор шрифтов,
картинок, таблиц стилей и многого другого, что позволяет сайту быть узнаваемым на любой его странице.
Но трудно себе представить, что разработчики будут использовать, например, собственную таблицу стилей
для каждой HTML страницы или использовать десятки одинаковых картинок с разными именами, каждую для
своей HTML страницы. Этого, к счастью, в большинстве случаев не происходит, и используются одни и те же объекты, которые кэшируются в браузере, что существенно снижает нагрузку на канал связи.
Но почему-то Flash по части шрифтов стал гордым исключением. Если вы хотите использовать включенный (embed)
шрифт и расположить его вне ролика, то существует только один путь использовать внешний файл со
шрифтами - создать shared библиотеку и поместить shared мувиклип на сцену. Звучит просто здорово.
Но на практике все не так красиво. Возникает целый перечень вопросов, которые так просто не решить:
Shared библиотека может быть загружена двумя способами: либо перед первым кадром, если включить
в экспортируемый мувиклип (что совсем нехорошо), либо по мере проигрывания таймлайна, что тоже плохо,
поскольку на время загрузки shared библиотеки проигрывание ролика останавливается перед входом в кадр
с этой библиотекой.
А что делать, если необходимо динамически определить требуемый шрифт, загрузить и применить его?
Не включать же в каждый ролик все шрифты, которые используются на сайте! Мои попытки раскидать в конце
таймлайна shared мувиклипы со шрифтами и затем прыгать на нужный кадр, чтобы подгрузить только нужную
библиотеку привели к тому, что если прыгнуть, например, на пятый по счету шрифт, то начинается загрузка
первых четырех. Мило.
А что делать, если нужно на лету переключать язык в ролике? Новые тексты подгрузить не пробема.
Как быть со шрифтами? - Да никак. Грузить новый ролик.
Эти и еще многие другие проблемы использования shared библиотек привели меня к тщательному изучению
возможностей Flash в этом направлении.
Так родился FontManager.
Что он дает?
-
Возможность сквозного использования шрифтов shared библиотек в пространстве всего ролика.
Если в любом из роликов, в главном или в подгруженных имеется shared библиотека, содержащая шрифт,
то с помощью FontManager этот шрифт можно применить к любому мувиклипу, к подгруженным в том числе.
А это означает свободу. Свободу подгрузить в любой момент ролик, содержащий shared библиотеку и использовать
шрифт из этой библиотеки где угодно.
Этот демонстрационный ролик не имеет ни одного включенного шрифта или shared библиотеки.
Данные о библиотеке шрифтов берутся из внешнего XML.
Вы можете выбрать любой шрифт из списка, загрузить и применить его к тексту.
Просто выделите текст для форматирования, затем apply. Если текст не выбран, то форматирование будет применено ко всему текстовому полю.
Кнопка embed fonts здесь для того, чтобы продемонстрировать, как будет выглядеть текст в режиме
подключенных / неподключенных шрифтов.
исходники здесь: demo_main.zip
Этот ролик весит 5 килобайт.
Ролики библиотек весят суммарно 121 килобайт.
Я плохо отношусь к тем ресурсам, которые без необходимости загружают мне лишние килобайты.
А именно так и приходится поступать Flash разработчикам, когда встает необходимость использования разных шрифтов.
Если вы решили не играться с примером, то 121 килобайт данных не будет загружен на ваш компьютер.
Мелочь? Из мелочей складывается лицо сайта.
И еще: однажды загруженные библиотеки закэшируются в браузере посетителя и при повторной необходимости будут взяты из кэша.
И из таких 121 килобайтов данных, сэкономленных на каждой странице складываются мегабайты для посетителя и гигабайты
для сервера.
о языковых версиях
Если кому-нибудь придет в голову перевести одну или несколько страничек этого сайта на свой родной язык,
чтобы помочь своим соотечественникам чуствовать себя уютнее при работе с FontManager,
то достаточно сделать правый клик на страничке, затем view source и сохранить открывшийся текстовый файл
в удобном месте. Затем сделать перевод, сохраняя HTML форматирование.
Перед тем, как начать перевод, свяжитесь со мной, поскольку выбранная вами страница для перевода может быть в работе.
Также прошу указать в вверху перевода страницы, там где метка translator,
свои данные и ссылку на свой сайт.
Нет необходимости переводить всё сразу.
Я буду добавлять страницы по мере их поступления, а в заголовке страницы указывать наличие языковых версий.
Предпочтительным является перевод страницы справки.
Я, со своей стороны, буду рад переводчикам предоставлять бесплатные версии FontManager в разумном количестве.
Официальными языками сайта являются русский и английский. Русский язык имеет приоритет, поскольку это мой родной язык.