                 staticTextFormat.italic = italic;
                 
                 if (sm != null && sm.isFontFaceEmbedded(staticTextFormat))
-                    moduleFactory = sm;
+                    fontContext = sm;
             }
         }
-        else
-        {
-            moduleFactory = fontLookup == FontLookup.EMBEDDED_CFF ?
-                			fontContext :
-            				null;
-        }
-        
-        return moduleFactory;
+
+        if (!fontContext && fontLookup == FontLookup.EMBEDDED_CFF)
+        {
+            // if we couldn't find the font and somebody insists it is
+            // embedded, try the default moduleFactory
+            fontContext = moduleFactory;
+        }
+        
+        return fontContext;
 	}
 
     /**


        invalidateProperties();
        invalidateDisplayList();
    }

    //--------------------------------------------------------------------------
    //
    //  Properties: IFontContextComponent
    //
    //--------------------------------------------------------------------------

    //----------------------------------
    //  fontContext
    //----------------------------------
    
    /**
     *  @private
     */
    private var _fontContext:IFlexModuleFactory;

    /**
     *  @private
     */
    public function get fontContext():IFlexModuleFactory
    {
        return _fontContext;
    }

    /**
     *  @private
     */
    public function set fontContext(value:IFlexModuleFactory):void
    {
        _fontContext = value;
    }

    //--------------------------------------------------------------------------

	 */
	private function getEmbeddedFontContext():IFlexModuleFactory
	{
		var fontContext: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";
			
            fontContext = embeddedFontRegistry.getAssociatedModuleFactory(
            	font, bold, italic, this, moduleFactory);

            // If we found the font, then it is embedded. 
            // But some fonts are not listed in info()
            // and are therefore not in the above registry.
            // So we call isFontFaceEmbedded() which gets the list
            // of embedded fonts from the player.
            if (!fontContext) 
            {
                var sm:ISystemManager;
                if (moduleFactory != null && moduleFactory is ISystemManager)
                	sm = ISystemManager(moduleFactory);
                else if (parent is IUIComponent)
                	sm = IUIComponent(parent).systemManager;

