![]() |
Библиотека Интернет Индустрии I2R.ru |
||
![]() ![]() |
Пиксельные шрифты в Macromedia FlashВ последнее время как многие из вас заметили становится популярным и модным использование пиксельных шрифтов, о том как правильно пользоваться, и работать с ними мы и поговорим. Так как я сам долго искал инфу подобного рода вот решил написать статью. *http://blade.net.co.nr/filez/texts/flash/pixel-fonts.rarc0ntent:--+ 0. IntroКак было сказано выше, пиксельные шрифты с каждым днём приобретают всё большую популярность среди flash разработчиков. Они используются как популярными командами (consortium, 1unfit): так и не очень (bLAde): ![]() screen shot: blade.net.co.nr Я думаю связано это с тем что пиксельные шрифты красиво смотрятся практически на любом дизайне, да и в последнее время приобретают популярность стили: industrial, underground, clear, sky vision. У пиксельных шрифтов есть и недостатки, при неумелом применении они затрудняют чтение (иногда очень сильно), плохо видны, не правильно отображаются в браузере или какой либо версии flash. Несмотря на это их распространение велико. --+ 1. Что они естьТочного определения пиксельным шрифтам я дать не могу, охарактеризую их так: это шрифты которые отображаются без сглаживания (antialiasing), они корректно отображаются при определённых размерах, они занимают мало места в памяти. Примеры таких шрифтов я приводил выше. Корректно они отображаются в большинстве (но не во всех) случаев при размере 8 пикселей или 16 пикселей. Применение скорей для дизайна, чем для вёрстки. --+ 2. ШрифтыНапомню, что шрифты надо скопировать в папку drive:\windows_dir\fonts.
--+ 3. Как работать с нимиНа простом примере я покажу как во flash mx 2004 (если у кого другой флеш ничем помочь не могу, обновляйтесь!) создать документ с использованием пиксельного шрифта, который будет корректно отображаться независимо от положения на координатной сетки (в flash mx пиксельный шрифт должен был стоять только на целых координатах
![]() установка параметров текстового поля Теперь если экспортировать swf'ку то шрифт будет отлично отображаться. Далее нам надо включить в файл swf символы шрифта для того чтобы он отображался корректно на машинебез данного шрифта (думаю многие столкнулись с этой проблемой), для этого делаем:
![]() меню кнопки Format
Протестируем нашу свфку. Переместите файл шрифта используемый во флэшке из C:\Windows\Fonts в какую ни будь другую папку (разумеется вместо диска С подставить свой =)). Это делается для создания случая, когда на машине клиента (клиент - тот, кто просматривает файл) этого файла шрифта нет. Запустите нашу swf'ку. И о чудо шрифт отлично отображается без файла шрифта! =) Скопируйте шрифт обратно. --+ 4. Особенности flashВ ранних версиях flash работа с пиксельными шрифтам была очень осложнена. Так как раньше WinAPI и другие графические подсистемы ОС вындос допускали (и сейчас допускают =)) большие погрешности, недочёты, багги в расчётах, выводе, прорисовке токних линий, пикселей, и другой сложной для программирования графики; пиксельные шрифты некорректно, некрасиво отображались во flash (с 1 по 5 версии). Но время идёт, мелкомягкие латают дыры, ребята из Макромедии (респект им !) трудятся не покладая рук и с каждой новой версией флеш всё больше начинает приспосабливаться к пиксельным шрифтам. Вот, например во flash mx доработали поддержку инклуда шрифтов (флеш включает в конечный файл, символы шрифта), и aliasing fade. В flash mx 2004 сделали возможным любой шрифт отображать без сглаживания, ещё лучше сделали инклудинг (включения сделали с возможность выбора нужных символов что позволило существенно уменьшить размеры получаемых файлов + придало гибкость разработчикам многоязыкового флеша), исправили множества ошибок прорисовки. Из вышеописанного примера видно, что в mx 2004 особых проблем с пиксельными шрифтами нет. Рассмотрим по подробней какие настройки мы ставили для включения символов в файл. Мы сначала поставили тип текстового поля (text type) в динамический (dynamic), это сделано потому что когда текстовое поле имеет тип static (статический) опция включения символов не работает, а способов включения символов шрифта для статического типа Я не знаю, да и думаю более гибким и правильным решением является выбор только нужных символов а не всего шрифта, что существенно (иногда на 400 - 500 кб) снижает размер конечного файла(что очень важно при работе на низкой скорости в интернет). Далее мы, нажав кнопку Format выбираем, какие символы включить в файл, если ты используешь текстовое поле в качестве контейнера, в который будит загружена инфа из xml, as, или ещё каким ни будь способом то там в большинстве случаев предугадать будет ли использоваться кириллический шрифт и ещё какой ни будь или только английские символы и символы пунктуации нельзя, и по этому включаются опции Uppercase [A-Z], Lowercase [a-z], Numerals [0-9], Punctuation [!@#%...], Cyrillic, чтобы избежать проблем с отображением и кодировками. Ещё во flash mx было такое условие корректного отображения пиксельных шрифтов: все они должны были находиться на целых координатах, например _x: 23.0 но не _x: 23.2. В 2004 же эту проблему решили. Когда ставишь тип текст. поля в динамическое то его цвет становится одинаковым для всех букв. Например если 5 букв текста были красными а остальные 7 синими то после установки типа со статического в динамический текст окрасится в красный цвет. Это легко исправить если опцые Render as html включена, не составит труда присвоить текстовому полю переменную и написать что-то типа такого экшена: mytextvar = "<FONT COLOR=\"#FFFFFF\" SIZE=\"12\">ha ha ha</FONT> Как можно заметить из штмэльки то как и цвет, размер тоже должен быть одинаковым, но это опять же легко исправляется, выше я это продемонстрировал. --+ 5. Links
--+ 6. return trueНу что же вот наверное и всё, если что-то не будет получаться или возникнут вопросы, то в заголовке статьи написано, где меня можно найти. Flash в умелых руках это мощнейший инструмент для разработки. Творите, сочиняйте, программируйте, изучайте, читайте, учитесь, живите, бывайте. Ваш bLAde. |
|
![]() |
![]() |
2000-2008 г. Все авторские права соблюдены. |
![]() |
![]() |
![]() |
![]() |