         p.replaceChildren(0, 0, span);
         return textFlow;
     }
-    
-    /**
-     *  @private
-     */
-    private function setHostTextLayoutFormat(styleProp:String):void
-    {
-        var checkForEmbed:Boolean = false;
-
-        if (styleProp in hostTextLayoutFormat)
-        {
-            var value:* = getStyle(styleProp);
-
-            if (styleProp == "tabStops" && value === undefined)
-                value = [];
-
-            if (styleProp == "fontLookup" && value == "auto")
-                checkForEmbed = true;
-            else
-                hostTextLayoutFormat[styleProp] = value;
-        }      
-        if (checkForEmbed)
-        {
-            var embeddedFont:EmbeddedFont = getEmbeddedFont(
-                hostTextLayoutFormat.fontFamily, 
-                hostTextLayoutFormat.fontWeight == "bold", 
-                hostTextLayoutFormat.fontStyle == "italic");
-            
+
+    private function checkEmbeddedFontContext():void
+    {
+        var embeddedFont:EmbeddedFont = getEmbeddedFont(
+            hostTextLayoutFormat.fontFamily, 
+            hostTextLayoutFormat.fontWeight == "bold", 
+            hostTextLayoutFormat.fontStyle == "italic");
+        
+        var oldEmbeddedFontContext:IFlexModuleFactory = embeddedFontContext;
+
+        if (autoFontLookup)
+        {
             embeddedFontContext = 
                 embeddedFontRegistry.getAssociatedModuleFactory(
                     embeddedFont, moduleFactory);

                {
                    hostTextLayoutFormat.fontLookup = FontLookup.EMBEDDED_CFF;
                }
            }
        }
        else

            hostTextLayoutFormatInvalid = false;
        }

        checkEmbeddedFontContext();
        textFlow.hostFormat = new TextLayoutFormat(hostTextLayoutFormat);
        
        return textFlow;
