         }
         else
         {
-            hostFormat = null;
+            hostFormatChanged = true;
+            
+            if (styleProp.indexOf("font") == 0 || styleProp == "cffHinting")
+            {
+                // Regenerate font swfContext and metrics as well.
+                ascent = NaN;
+                descent = NaN;
+            }
         }
 
         // Need to create new format(s).

    override protected function commitProperties():void
    {
        super.commitProperties();

        if (!hostFormat)
        {
            // If the CSS styles for this component specify an embedded font,
            // embeddedFontContext will be set to the module factory that
            // should create TextLines (since they must be created in the
            // SWF where the embedded font is.)
            // Otherwise, this will be null.
            embeddedFontContext = getEmbeddedFontContext();

            _textContainerManager.swfContext =
				ISWFContext(embeddedFontContext);                       

            _textContainerManager.hostFormat =
            hostFormat = new CSSTextLayoutFormat(this);
            // Note: CSSTextLayoutFormat has special processing
            // for the fontLookup style. If it is "auto",
            // the fontLookup format is set to either
            // "device" or "embedded" depending on whether
            // embeddedFontContext is null or non-null.
        }
        
        if (selectionFormatsChanged)
        {
            _textContainerManager.invalidateSelectionFormats();
            
            selectionFormatsChanged = false;
        }

        // If fontMetrics changed, recalculate the ascent, and descent.
        if (isNaN(ascent) || isNaN(descent))
            calculateFontMetrics();    
    
        // EditingMode needs to be current before attempting to set a
        // selection below.
        if (enabledChanged || selectableChanged || editableChanged)

        
        ascent = NaN;
        descent = NaN;

        hostFormatChanged = true;
    }

    /**
