         var n:Number = offset ? buttonOffset : 0;
 
         var textAlign:String = getStyle("textAlign");
+        // Map new Spark values that might be set in a selector
+		// affecting both Halo and Spark components.
+        if (textAlign == "start") 
+            textAlign = TextFormatAlign.LEFT;
+        else if (textAlign == "end")
+            textAlign = TextFormatAlign.RIGHT;
 
         var bm:EdgeMetrics = currentSkin &&
                              currentSkin is IRectangularBorder ?

import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.text.TextLineMetrics;
import flash.ui.Keyboard;
import flash.utils.Timer;

        var n:Number = offset ? buttonOffset : 0;

        var textAlign:String = getStyle("textAlign");
        // Map new Spark values that might be set in a selector
		// affecting both Halo and Spark components.
		if (textAlign == "start") 
            textAlign = TextFormatAlign.LEFT;
        else if (textAlign == "end")
            textAlign = TextFormatAlign.RIGHT;

        var viewWidth:Number = unscaledWidth;
        var viewHeight:Number = unscaledHeight;
