dimarik, а можно поподробнее? У меня не получается без регистрации, даже если гружу в ApplicationDomain.currentDomain.
То есть вот так работает:
(SWF со шрифтом, Fonts это класс Документа)

Код AS3:
package
{
import flash.display.Sprite;
import flash.text.Font;
public class Fonts extends Sprite
{
[Embed(source='../lib/consola.ttf', fontName="consola")] public const CONSOLA:Class;
public function Fonts()
{
Font.registerFont(CONSOLA);
}
}
}
(загружающая SWF)

Код AS3:
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
import flash.text.Font;
import flash.text.TextField;
import flash.text.TextFormat;
public class Main extends Sprite
{
public function Main():void
{
var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("consola.swf"), context);
}
private function onComplete(event:Event):void
{
trace(Font.enumerateFonts()); // [object Fonts_CONSOLA]
var format:TextFormat = new TextFormat("consola", 16);
var txt:TextField = new TextField();
addChild(txt);
txt.embedFonts = true;
txt.defaultTextFormat = format;
txt.width = 400;
txt.text = "I'm your Consola Font!"
}
}
}
Это работает и без указания контекста лоадеру. Но вот без регистрации – никак))