Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 05.04.2009, 20:56
Мечтатель вне форума Посмотреть профиль Отправить личное сообщение для Мечтатель Найти все сообщения от Мечтатель
  № 16  
Ответить с цитированием
Мечтатель
 
Аватар для Мечтатель

Регистрация: Aug 2008
Адрес: 53 E
Сообщений: 60
willis83, встраивание шрифтов в Adobe Flash CS4 (Professional) дело несложное. Раз уж вы кучу инфы перерыли и так и не поняли, как это делается, попытаюсь объяснить Вам еще раз. Может у меня лучше получится?!))
Есть два способа встраивания шрифтов в свое Flash-приложение:
-традиционный Flash способ. В среде разработки Adobe Flash CS4 открываем библиотеку символов. Правой кнопкой мыши вызываете контекстное меню, в котором выбираете пункт New Font... Далее из выпадающего списка шрифтов (Font), установленных в системе, выбираем тот, который собираемся использовать в своем Flash-приложении. Убираем галочку с пункта Bitmap text. Пункт Name играет чисто косметическую роль для отображения имени шрифта в библиотеки символов. Теперь ставим галочки напротив пунктов Action For ActionScript и Export In Frame 1. После всего этого жмем "Ok" (Flash выведет Вам предупреждение о том, что класс шрифта не найден и будет создан автоматически при экспорте в SWF-файл, можете смело игнорировать данное предупреждение). Вот и всё - шрифт встроен.
Однако, Вы можете быть очень удивлены, что шрифт, поддерживающий русский язык фактически не отображает его в проекте. Такое часто происходит в CS4 с ttf-шрифтами, подерживающими русский язык. Суть проблемы со шрифтами TTF заключается в том, что в большинстве (но не во всех!) существующих кириллических шрифтов Unicode-индексы символов, изображающих русские буквы, соответствуют латинской кодовой таблице CP1252, а не кириллической CP1251. Поэтому среда разработки попросту не обнаружит глифов для отображения кирилицы, а следовательно, если текстовое поле отоборжает текст с помощью встроенных шрифтов (myTextField.embedFonts=true) русский текст отображен не будет. В этом случае приходит на помощь нетрадиционный для Flash способ встраивания шрифтов...Способ второй "Flex спешит на помощь" читай ниже...
-Второй способ заключается во встраивании шрифтов не с помощью среды разработки Flash, а с помощью AS 3.0 кода и библиотеки Flex SDK. Последняя распространяется бесплатно, актуальный релиз можно скачать с официального сайта корпорации Adobe. Итак скачиваем Flex SDK, создаем новый as-файл следующего содержания (к примеру):
Код AS3:
package {
	import flash.display.Sprite;
	import flash.text.*;
 
	public class Fonts extends Sprite{
 
		[Embed(source="c:/windows/fonts/Arial.ttf", fontFamily="Arial")]
		private var arial:Class;
 
		[Embed(source="c:/windows/fonts/univers ru.ttf", fontFamily="Univers")]
		private var univers:Class;
 
		[Embed(source="c:/windows/fonts/domino.ttf", fontFamily="a_DomIno")]
		private var domino:Class;
 
		[Embed(source="c:/windows/fonts/lcdnova.ttf", fontFamily="a_LCDNova")]
		private var lcdnova:Class;
 
		[Embed(source="c:/windows/fonts/huxl_c.ttf", fontFamily="a_HuxleyCaps")]
		private var huxleycaps:Class;
 
		[Embed(source="c:/windows/fonts/crystal.ttf", fontFamily="Crystal")]
		private var crystal:Class;
 
 
		public function Fonts()
		{
			Font.registerFont(arial);
			Font.registerFont(univers);
			Font.registerFont(domino);
			Font.registerFont(lcdnova);
			Font.registerFont(huxleycaps);
			Font.registerFont(crystal);
 
		}
	}
}
Далее с помощью среды разработки компилируем этот класс в swf-файл (программа Вас попросит прописать путь к Flex SDK) и затем используем его для динамической загрузки шрифтов в проект на этапе выполнения.

ВНИМАНИЕ!!! Эти два способа не взаимоисключаемые, их можно использовать в комбинации. Например, шрифты, с которыми не возникает проблем могут быть встроены с помощью традиционного метода (да, в таком случае, не забудьте в первом кадре fla-файла с помощью статического метода класса Font - registerFont, добавить втроенные шрифты в глобальный список шрифтов) а проблемные путем подключения класса Fonts. Будьте внимательны, возможно такое, что шрифты, которые нормально внедряются через библиотеку символов - оплошаются при их внедрении с помощью Flex SDK (а чаще всего так и происходит).

Создать новую тему   Часовой пояс GMT +4, время: 06:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.