 
         // The whiteSpaceCollapse format determines how whitespace
         // is processed when the children are set.
-        staticCharacterFormat.whiteSpaceCollapse =
+		staticTextLayoutFormat.lineBreak = FormatValue.INHERIT;
+        staticTextLayoutFormat.paddingLeft = FormatValue.INHERIT;
+        staticTextLayoutFormat.paddingRight = FormatValue.INHERIT;
+        staticTextLayoutFormat.paddingTop = FormatValue.INHERIT;
+        staticTextLayoutFormat.paddingBottom = FormatValue.INHERIT;
+        staticTextLayoutFormat.verticalAlign = FormatValue.INHERIT;
+        staticTextLayoutFormat.whiteSpaceCollapse =
             getStyle("whiteSpaceCollapse");
-        textFlow.hostCharacterFormat = staticCharacterFormat;
+        textFlow.hostTextLayoutFormat = staticTextLayoutFormat;
 
         textFlow.mxmlChildren = children;
 

    /**
     *  @private
     */
    private function setHostFormat(styleProp:String):void
    {
        var value:* = getStyle(styleProp);
        if (styleProp == "tabStops" && value === undefined)
            value = [];

        var kind:String = TextUtil.FORMAT_MAP[styleProp];

        if (kind == TextUtil.CONTAINER)
            hostContainerFormat[styleProp] = value;
        
        else if (kind == TextUtil.PARAGRAPH)
            hostParagraphFormat[styleProp] = value;
        
        else if (kind == TextUtil.CHARACTER)
            hostCharacterFormat[styleProp] = value;            
            
        else
            trace("TextView.setFormat: unrecognized style", styleProp);            
    }

    /**

     */
    public function setSelectionFormat(attributes:Object):void
    {
        // Switch to the EditManager.
        var priorEditingMode:String =
			getEditingMode(textFlow.interactionManager);
        switchToEditingMode(textFlow, EditingMode.READ_WRITE);
        
        // Assign each specified attribute to one of three format objects,
		// depending on whether it is container-, paragraph-,
		// or character-level. Note that these can remain null.
		var containerFormat:TextLayoutFormat;
        var paragraphFormat:TextLayoutFormat;
        var characterFormat:TextLayoutFormat;

		// This internal TLF object maps the names of format properties
		// to Property instances.
		// Each Property instance has a category property which tells
		// whether it is container-, paragraph-, or character-level.
		var description:Object = TextLayoutFormat.tlf_internal::description;
        
		for (var p:String in attributes)
        {
            var category:String = description[p].category;
            
            if (category == Category.CONTAINER)
            {
                if (!containerFormat)
                   containerFormat =  new TextLayoutFormat();
                containerFormat[p] = attributes[p];
            }
            else if (category == Category.PARAGRAPH)
            {
                if (!paragraphFormat)
                   paragraphFormat =  new TextLayoutFormat();
                paragraphFormat[p] = attributes[p];
            }
            else if (category == Category.CHARACTER)
            {
                if (!characterFormat)
                   characterFormat =  new TextLayoutFormat();
                characterFormat[p] = attributes[p];
            }
        }
        
        // Apply the three format objects to the current selection.
        EditManager(textFlow.interactionManager).applyFormat(
			characterFormat, paragraphFormat, containerFormat);
        
        // Restore the prior editing mode.
        switchToEditingMode(textFlow, priorEditingMode);
