 
     /**
      *  @private
-     *  This object reports the TLF formats that correspond
-     *  to this component's CSS styles.
+     *  This object determines the default text formatting used
+     *  by this component, based on its CSS styles.
+     *  It is set to null by stylesInitialized() and styleChanged(),
+     *  and recreated whenever necessary in commitProperties().
      */
     private var hostFormat:ITextLayoutFormat;
 
     /**
      *  @private
-     *  This variable is initialize to true so that hostFormat
-     *  gets initialized the first time through commitProperties().
-     */
-    private var hostFormatChanged:Boolean = true;
-
-    /**
-     *  @private
-     */
-    private var fontMetricsInvalid:Boolean = false;
-    
-    /**
-     *  @private
-     */
-    private var ascent:Number;
-    
-    /**
-     *  @private
-     */
-    private var descent:Number;
+     *  It is set to NaN by stylesInitialized() and styleChanged(),
+     *  and recreated whenever necessary in calculateFontMetrics().
+     */
+    private var ascent:Number = NaN;
+    
+    /**
+     *  @private
+     *  It is set to NaN by stylesInitialized() and styleChanged(),
+     *  and recreated whenever necessary in calculateFontMetrics().
+     */
+    private var descent:Number = NaN;
 
     /**
      *  @private

     *  @private
     *  These are measured in ems.
     */
    private var _widthInChars:Number = 15;

    /**
     *  @private

        return height;
    }
        

    /**
     *  @private
     */
    private function createTextFlowFromContent(content:Object):TextFlow
    {
        var textFlow:TextFlow = new TextFlow();

        // The whiteSpaceCollapse format determines how whitespace
        // is processed when the children are set.
        staticTextLayoutFormat.whiteSpaceCollapse =
            getStyle("whiteSpaceCollapse");
        textFlow.hostFormat = staticTextLayoutFormat;

        textFlow.mxmlChildren = content is Array ?
                                content as Array :
                                [ content ];

        return textFlow;
    }
        
    /**
     *  @private
     */
