Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Регистрация шрифтов из загруженного swf (http://www.flasher.ru/forum/showthread.php?t=144327)

Касеал 09.09.2010 11:44

Регистрация шрифтов из загруженного 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);



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

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