    Ext.define('Ext.rtl.draw.Sprite', {
        override: 'Ext.draw.Sprite',

        /*
         * --------Using RTL text in charts--------
         *
         * For RTL charts, the direction of the underlying SVG/VML elements is left
         * as LTR. This is to normalize cross browser differences that occur, especially since
         * getting the directions to work is mostly as simple as just flipping the order of
         * things. As such, by default the text will display in an LTR fashion as well.
         *
         * One of the possible solutions is to go through and add direction: rtl; on all
         * of the text elements, however there are 2 problems with this:
         * 1) It doesn't work at all with VML.
         * 2) With SVG, the text displays differently between FF & Chrome, and also
         *    it affects the positioning of the text elements as well.
         *
         * The option we've gone for is to include the right left mark (below) and
         * prepend it to any text. It's the easiest solution and should cover enough
         * cases to be handled in the charting package. The RLM tells the browser to
         * interpret character groups in a RTL fashion. Text with RTL characters will
         * display correctly whether in RTL or LTR mode, the LRM affects how other characters
         * are displayed around it.
         *
         * Let's take the string (you'll need to paste these in browsers, somewhat of
         * a pain to get them to show up correctly in the LTR editor):
         * "10 \u05E9\u05DC\u05DD"
         *
         * The above is how it will be displayed without the RLM.
         * With the RLM, it will be display as:
         *
         * "\u200F10 \u05E9\u05DC\u05DD"
         *
         * As you can see, the ordering of the Hebrew characters do
         * not change, however the surrounding characters move around
         * relative to what's already there.
         */

        // This character is the right to left mark
        // http://en.wikipedia.org/wiki/Right-to-left_mark
        // It is used to group characters in an RTL manner
        RLM: '\u200F',

        // A simple regex to match most strong RTL characters. Indicates that
        // the string contains RTL characters
        rtlRe: /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/,

        transformText: function(text) {
            var me = this;
            if (text && me.surface.isRtl && !Ext.isNumber(text) && me.rtlRe.test(text)) {
                // IE9m will display a strange visual artefact when showing
                // text with the RLM and there are no RTL characters in the string.
                // IE6 & 7 will still show the artefact, it seems to be unavoidable.
                return me.RLM + text;
            }
            return me.callParent(arguments);
        }
    });