code: function() {
  
        var textLines = this.text.split(/\r?\n/),
            lineTopOffset = this.useNative
              ? this.fontSize * this.lineHeight
              : (-this._fontAscent - ((this._fontAscent / 5) * this.lineHeight)),
  
            textLeftOffset = -(this.width/2),
            textTopOffset = this.useNative
              ? this.fontSize - 1
              : (this.height/2) - (textLines.length * this.fontSize) - this._totalLineHeight,
  
            textAndBg = this._getSVGTextAndBg(lineTopOffset, textLeftOffset, textLines),
            shadowSpans = this._getSVGShadows(lineTopOffset, textLines);
  
        // move top offset by an ascent
        textTopOffset += (this._fontAscent ? ((this._fontAscent / 5) * this.lineHeight) : 0);
  
        return [
          '<g transform="', this.getSvgTransform(), '">',
            textAndBg.textBgRects.join(''),
            '<text ',
              (this.fontFamily ? 'font-family="\'' + this.fontFamily + '\'" ': ''),
              (this.fontSize ? 'font-size="' + this.fontSize + '" ': ''),
              (this.fontStyle ? 'font-style="' + this.fontStyle + '" ': ''),
              (this.fontWeight ? 'font-weight="' + this.fontWeight + '" ': ''),
              (this.textDecoration ? 'text-decoration="' + this.textDecoration + '" ': ''),
              'style="', this.getSvgStyles(), '" ',
              /* svg starts from left/bottom corner so we normalize height */
              'transform="translate(', toFixed(textLeftOffset, 2), ' ', toFixed(textTopOffset, 2), ')">',
              shadowSpans.join(''),
              textAndBg.textSpans.join(''),
            '</text>',
          '</g>'
        ].join('');
      }
docs: Returns svg representation of an instance
  @method toSVG
  @return {string} svg representation of an instance