 import flash.display.Sprite;
 import flash.events.Event;
 import flash.geom.Rectangle;
+import flash.text.engine.FontLookup;
 import flash.text.engine.TextLine;
 
 import flashx.textLayout.compose.TextLineRecycler;
 
+import mx.core.IEmbeddedFontRegistry;
+import mx.core.IFlexModuleFactory;
+import mx.core.IFontContextComponent;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.managers.ISystemManager;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
 import mx.styles.CSSStyleDeclaration;

        }
    }
    
    /**
     *  @private
     */

        }
    }

    /**
     *  @private
     */
    mx_internal function getEmbeddedFontContext():IFlexModuleFactory
    {
        var moduleFactory:IFlexModuleFactory;
        var fontLookup:String = getStyle("fontLookup");
        if (fontLookup != FontLookup.DEVICE)
        {
            var font:String = getStyle("fontFamily");
            var bold:Boolean = getStyle("fontWeight") == "bold";
            var italic:Boolean = getStyle("fontStyle") == "italic";
            
            var localLookup:ISystemManager = 
                fontContext && fontContext is ISystemManager ? 
                ISystemManager(fontContext) : systemManager;
            
            var registry:IEmbeddedFontRegistry =
                                UIComponent.embeddedFontRegistry;
            if (registry)
            {
                moduleFactory =
                    registry.getAssociatedModuleFactory(
                        font, bold, italic, 
                        this, fontContext, localLookup, true);
            }
        }
                
        return moduleFactory;
    }    
    
    //--------------------------------------------------------------------------
    //
    //  Event handlers
