         bounds.width = width;
         bounds.height = height;
 
+        textBlockComposer.direction = getStyle("direction");
         textBlockComposer.lineBreak = getStyle("lineBreak");
         textBlockComposer.lineHeight = getStyle("lineHeight");
+        textBlockComposer.lineThrough = getStyle("lineThrough");
         textBlockComposer.paddingBottom = getStyle("paddingBottom");
         textBlockComposer.paddingLeft = getStyle("paddingLeft");
         textBlockComposer.paddingRight = getStyle("paddingRight");
         textBlockComposer.paddingTop = getStyle("paddingTop");
+        setTabStops(textBlockComposer);
         textBlockComposer.textAlign = getStyle("textAlign");
+        textBlockComposer.textDecoration = getStyle("textDecoration");
         textBlockComposer.verticalAlign = getStyle("verticalAlign");
 
         textBlockComposer.composeText(text, elementFormat);

import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
import flash.text.engine.Kerning;

import mx.graphics.graphicsClasses.TextBlockComposer;
import mx.graphics.graphicsClasses.TextGraphicElement;

        if (!isNaN(value))
            elementFormat.trackingRight = value;
    }

    /**
     *  @private
     */
    private function setTabStops(textBlockComposer:TextBlockComposer):void
    {
        var value:* = getStyle("tabStops");
        var tabStops:Vector.<TabStop>;
        
        if (value is Vector.<TabStop>)
        {
            tabStops = value;
        }
        else if (value is Array)
        {
            var n:int = value.length;
            tabStops = new Vector.<TabStop>(n);
            for (var i:int = 0; i < n; i++)
            {
                tabStops[i] = value[i];
            }
        }
        else
        {
            tabStops = new Vector.<TabStop>();
        }   

        textBlockComposer.tabStops = tabStops;
    }
}

}
