/ / wie Schriftarten in flex 4.6 windowed Anwendung geladen werden - flex, air, flex4.6

wie man Schriftarten in flex 4.6 windowed Anwendung lädt - flex, air, flex4.6

Ich habe eine Fensteranwendung, die ich entwickelt habein flex sdk 4.6. Ich habe dieselbe Version in der webbasierten Anwendung. In dieser Anwendung lade ich externe SWF-Schriftdatei. In der Webanwendung funktioniert alles einwandfrei, aber die Schrift wird nicht in die Fensteranwendung geladen.

Nachfolgend finden Sie den Code zum Laden der Schriftarten.

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();
}
}
}

Antworten:

0 für die Antwort № 1

Die Lösung, die ich bekam, ist, zuerst die Schrift swf zu ladenvia url loader erhalten wir dann den bytearray. Danach laden Sie einfach tge bytearray mit der loader-Klasse mit dem Ladekontext, der allowcodeimport auf true setzt.