class documentation

class SvgFormatter(Formatter): (source)

View In Hierarchy

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"``. `linenos` If ``True``, add line numbers (default: ``False``). `linenostart` The line number for the first line (default: ``1``). `linenostep` If set to a number n > 1, only every nth line number is printed. `linenowidth` Maximum width devoted to line numbers (default: ``3*ystep``, sufficient for up to 4-digit line numbers. Increase width for longer code blocks). `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``.

Method __init__ Undocumented
Method format_unencoded Format ``tokensource``, an iterable of ``(tokentype, tokenstring)`` tuples and write it into ``outfile``.
Class Variable aliases Undocumented
Class Variable filenames Undocumented
Class Variable name Undocumented
Instance Variable fontfamily Undocumented
Instance Variable fontsize Undocumented
Instance Variable linenos Undocumented
Instance Variable linenostart Undocumented
Instance Variable linenostep Undocumented
Instance Variable linenowidth Undocumented
Instance Variable nowrap Undocumented
Instance Variable spacehack Undocumented
Instance Variable xoffset Undocumented
Instance Variable yoffset Undocumented
Instance Variable ystep Undocumented
Method _get_style Undocumented
Instance Variable _stylecache Undocumented

Inherited from Formatter:

Method format Format ``tokensource``, an iterable of ``(tokentype, tokenstring)`` tuples and write it into ``outfile``.
Method get_style_defs Return the style definitions for the current style as a string.
Class Variable unicodeoutput Undocumented
Instance Variable encoding Undocumented
Instance Variable full Undocumented
Instance Variable options Undocumented
Instance Variable style Undocumented
Instance Variable title Undocumented
def __init__(self, **options): (source)

Undocumented

def format_unencoded(self, tokensource, outfile): (source)

Format ``tokensource``, an iterable of ``(tokentype, tokenstring)`` tuples and write it into ``outfile``. For our implementation we put all lines in their own 'line group'.

fontfamily = (source)

Undocumented

fontsize = (source)

Undocumented

Undocumented

linenostart = (source)

Undocumented

linenostep = (source)

Undocumented

linenowidth = (source)

Undocumented

Undocumented

spacehack = (source)

Undocumented

Undocumented

Undocumented

Undocumented

def _get_style(self, tokentype): (source)

Undocumented

_stylecache: dict = (source)

Undocumented