class_docstr: Format tokens as an SVG graphics file.  This formatter is still experimental.
  Each line of code is a ``<text>`` element with explicit ``x`` and ``y``
  coordinates containing ``<tspan>`` elements with the individual token styles.
  
  By default, this formatter outputs a full SVG document including doctype
  declaration and the ``<svg>`` root element.
  
  .. versionadded:: 0.9
  
  Additional options accepted:
  
  `nowrap`
      Don't wrap the SVG ``<text>`` elements in ``<svg><g>`` elements and
      don't add a XML declaration and a doctype.  If true, the `fontfamily`
      and `fontsize` options are ignored.  Defaults to ``False``.
  
  `fontfamily`
      The value to give the wrapping ``<g>`` element's ``font-family``
      attribute, defaults to ``"monospace"``.
  
  `fontsize`
      The value to give the wrapping ``<g>`` element's ``font-size``
      attribute, defaults to ``"14px"``.
  
  `xoffset`
      Starting offset in X direction, defaults to ``0``.
  
  `yoffset`
      Starting offset in Y direction, defaults to the font size if it is given
      in pixels, or ``20`` else.  (This is necessary since text coordinates
      refer to the text baseline, not the top edge.)
  
  `ystep`
      Offset to add to the Y coordinate for each subsequent line.  This should
      roughly be the text size plus 5.  It defaults to that value if the text
      size is given in pixels, or ``25`` else.
  
  `spacehack`
      Convert spaces in the source to ``&#160;``, which are non-breaking
      spaces.  SVG provides the ``xml:space`` attribute to control how
      whitespace inside tags is handled, in theory, the ``preserve`` value
      could be used to keep all whitespace as-is.  However, many current SVG
      viewers don't obey that rule, so this option is provided as a workaround
      and defaults to ``True``.
code: def __init__(self, **options):
      Formatter.__init__(self, **options)
      self.nowrap = get_bool_opt(options, "nowrap", False)
      self.fontfamily = options.get("fontfamily", "monospace")
      self.fontsize = options.get("fontsize", "14px")
      self.xoffset = get_int_opt(options, "xoffset", 0)
      fs = self.fontsize.strip()
      if fs.endswith("px"):
          fs = fs[:-2].strip()
      try:
          int_fs = int(fs)
      except:
          int_fs = 20
      self.yoffset = get_int_opt(options, "yoffset", int_fs)
      self.ystep = get_int_opt(options, "ystep", int_fs + 5)
      self.spacehack = get_bool_opt(options, "spacehack", True)
      self._stylecache = {}
  
file_path: catboost/contrib/python/Pygments/py2/pygments/formatters/svg.py
imports: from pygments.formatter import Formatter
  from pygments.util import get_bool_opt, get_int_opt
label_desc: Use image node_id 1 to create a new SvgFormatter object from inherited base classes: Formatter with example: obj = SvgFormatter()