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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.09.2010, 11:44
Касеал вне форума Посмотреть профиль Отправить личное сообщение для Касеал Найти все сообщения от Касеал
  № 1  
Ответить с цитированием
Касеал

Регистрация: Dec 2008
Сообщений: 17
По умолчанию Регистрация шрифтов из загруженного swf

Следующая ситуация. Есть swf-загрузчик. Есть основная флешка и есть флешка со шрифтами. Последняя, состоит из шрифтов добавленных в библиотеку: Arial, ArialBold, ArialItalic ...

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

Привожу частично код того, что я делаю для этого:

Код AS3:
 
fontLoader = new Loader();
 
fontLoader.contentLoaderInfo.addEventListener(Event.INIT, eventFontLoaderInit);
 
fontLoader.load(new URLRequest('fonts.swf'));
 
private function eventFontLoaderInit(e:Event):void
{
  StaticFonts.Arial = fontLoader.contentLoaderInfo.applicationDomain.getDefinition("Arial") as Class;
  StaticFonts.ArialBold = fontLoader.contentLoaderInfo.applicationDomain.getDefinition("ArialBold") as Class;
//и т.д.
 
  mainLoader = new Loader();
 
  mainLoader.contentLoaderInfo.addEventListener(Event.INIT, eventMainLoaderInit);
 
  mainLoader.load(new URLRequest('main.swf'));
}//StaticFonts - класс со статическими переменными
 
private function eventMainLoaderInit(e:Event):void
{
  addChild(LoaderInfo(e.target).content);
}
 
//В конструкторе главной флешки регистрирую загруженные шрифты. Добавляю тектовое поле и ставлю ему шрифт Arial. Результат - шрифт не отображается.
 
Font.registerFont(StaticFonts.Arial);
Font.registerFont(StaticFonts.ArialBold);
//...
trace(Font.enumerateFonts());//[object Arial],[object ArialBold]...
 
var tf:TextField = new TextField();
 
tf.embedFonts = true;
tf.text = 'Some text';
 
var f:TextFormat = new TextFormat();
 
f.size = 12;
f.font = 'Arial';
 
tf.setTextFormat(f);
 
addChild(tf);


Последний раз редактировалось Касеал; 09.09.2010 в 12:26.
Создать новую тему Ответ Часовой пояс GMT +4, время: 06:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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