Description

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.

*New in Pygments 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``.

Examples

from pygments.formatters.other import RawTokenFormatter
from pygments.formatters.rtf import RtfFormatter
from pygments.formatters.svg import SvgFormatter
from pygments.formatters.terminal import TerminalFormatter
from pygments.formatters.terminal256 import Terminal256Formatter

    RawTokenFormatter: ('Raw tokens', ('raw', 'tokens'), ('*.raw',), 'Format tokens as a raw representation for storing token streams.'),
    RtfFormatter: ('RTF', ('rtf',), ('*.rtf',), 'Format tokens as RTF markup. This formatter automatically outputs full RTF documents with color information and other useful stuff. Perfect for Copy and Paste into Microsoft\xc2\xae Word\xc2\xae documents.'),
    SvgFormatter: ('SVG', ('svg',), ('*.svg',), 'Format tokens as an SVG graphics file.  This formatter is still experimental. Each line of code is a ```` element with explicit ``x`` and ``y`` coordinates containing ```` elements with the individual token styles.'),
    Terminal256Formatter: ('Terminal256', ('terminal256', 'console256', '256'), (), 'Format tokens with ANSI color sequences, for output in a 256-color terminal or console. Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.'),
    TerminalFormatter: ('Terminal', ('terminal', 'console'), (), 'Format tokens with ANSI color sequences, for output in a text console. Color sequences are terminated at newlines, so that paging the output works correctly.')

    def __init__(self, **options):
        # XXX outencoding
        Formatter.__init__(self, **options)
        self.nowrap = get_bool_opt(options, 'nowrap', False)
        self.fontfamily = options.get('fontfamily', 'monospace')

SvgFormatter is referenced in 0 repositories