2013-08-08 3 views
0

У меня есть оконное приложение, которое я разработал в flex sdk 4.6. У меня такая же версия в веб-приложении. В этом приложении я загружаю внешний файл шрифта swf. В веб-приложении все работает нормально, но шрифт не загружается в оконное приложение.как загрузить шрифты в flex 4.6 оконное приложение

Ниже приведен код для загрузки шрифтов ..

package com 
{ 
    import adobe.utils.CustomActions; 

    import flash.display.Loader; 
    import flash.display.LoaderInfo; 
    import flash.events.Event; 
    import flash.events.EventDispatcher; 
    import flash.events.IOErrorEvent; 
    import flash.net.URLRequest; 
    import flash.text.Font; 

    import injectors.CentralInjector; 

    import mx.core.FontAsset; 

    public class LF extends EventDispatcher 
    { 
     public function LF() 
     { 

     } 
     public function avaliable(style:String):Boolean{ 
      var embeddedFonts:Array = Font.enumerateFonts(false);   
      for(var i:Number = 0; i < embeddedFonts.length; i++){ 
       var item:Font = embeddedFonts[i]; 
       if(item.fontStyle==style){ 
        return true; 
       } 
      } 
      return false; 
     } 
     public function load(url:String):void{ 
//=====url is http://www.mydomain.com/font1.swf================= 
      CustomWaitAlert.show(CustomWaitAlert.WAIT,null,"Loading fonts..."); 
      var loader:Loader = new Loader(); 
      var loaderInfo:LoaderInfo = loader.contentLoaderInfo; 

      loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioerror); 
      loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); 
      loader.load(new URLRequest(url)); 
     } 
     private function ioerror(evt:IOErrorEvent):void{ 
      this.dispatchEvent(new Event("IOERROR")); 
     } 
     private function onLoadComplete(evt:Event):void{ 
      var embeddedFonts:Array = Font.enumerateFonts(false); 
      this.dispatchEvent(new Event("COMPLETE")); 
      CustomWaitAlert.hide(); 
     } 
    } 
} 
+1

У вас возникли ошибки? – JeffryHouser

+0

no i do not ... Я решил это. –

+1

Если у вас есть решение; ответьте на свой вопрос и отметьте его как таковой. – JeffryHouser

ответ

0

Решение я получил это первую загрузку шрифтов в SWF с помощью URL-адреса загрузчика, то мы получим, что bytearray.after просто загрузить Tge ByteArray с загрузчиком класс с контекстом загрузки, который имеет allowcodeimport устанавливает значение true ...

Смежные вопросы