https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/pygments/formatters/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/pygments/formatters/__pycache__/svg.cpython-310.pyc
o

���a��@sRdZddlmZddlmZddlmZmZdgZdd�Z	iZ
Gdd�de�Zd	S)
z�
    pygments.formatters.svg
    ~~~~~~~~~~~~~~~~~~~~~~~

    Formatter for SVG output.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�	Formatter)�Comment)�get_bool_opt�get_int_opt�SvgFormattercCs,|�dd��dd��dd��dd��d	d
�S)z<Escape &, <, > as well as single and double quotes for HTML.�&z&amp;�<z&lt;�>z&gt;�"z&quot;�'z&#39;)�replace)�text�r�9/usr/lib/python3/dist-packages/pygments/formatters/svg.py�escape_htmls
�rc@s8eZdZdZdZdgZdgZdd�Zdd�Zd	d
�Z	dS)ra&	
    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``.
    �SVG�svgz*.svgcKs�tj|fi|��t|dd�|_|�dd�|_|�dd�|_t|dd�|_|j�	�}|�
d	�r7|dd
��	�}zt|�}Wnd}Yt|d|�|_t|d
|d�|_
t|dd�|_t|dd�|_t|dd�|_t|dd�|_t|dd|j
�|_i|_dS)N�nowrapF�
fontfamily�	monospace�fontsize�14px�xoffsetr�px�����yoffset�ystep��	spacehackT�linenos�linenostart��
linenostep�linenowidth�)r�__init__rr�getrrrr�strip�endswith�intrrrr r!r#r$�_stylecache)�self�options�fs�int_fsrrrr&]s&

zSvgFormatter.__init__c	Cs�|j}|j}|js/|jr|�d|j�n|�d�|�d�|�d�|�d|j|jf�|j}|j}|�	t
�}|}|jr_||dkrS|�d||j|||f�||j|j
7}|d7}|�d	||f�|D]x\}	}
|�	|	�}|r{d
|dp|d}|r�d
p�d}
t|
�}
|jr�|
���dd�}
|
�d�}|dd�D]9}|�|||
�||j
7}|�d�|jr�||dkr�|�d||j|||f�|d7}|�d	||f�q�|�||d|
�qj|�d�|js�|�d�dSdS)z�
        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'.
        z$<?xml version="1.0" encoding="%s"?>
z<?xml version="1.0"?>
zk<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
z)<svg xmlns="http://www.w3.org/2000/svg">
z$<g font-family="%s" font-size="%s">
rz2<text x="%s" y="%s" %s text-anchor="end">%s</text>r"z)<text x="%s" y="%s" xml:space="preserve">z<tspanr	�z</tspan>� z&#160;�
N���z</text>
z2<text x="%s" y="%s" text-anchor="end" %s>%s</text>z</text>z</g></svg>
)rrr�encoding�writerrr!r#�
_get_stylerr r$rrr�
expandtabsr�split)r,�tokensource�outfile�x�y�counter�counter_step�
counter_style�line_x�ttype�value�style�tspan�tspanend�parts�partrrr�format_unencodedrs`�



�
�



�
�zSvgFormatter.format_unencodedcCs�||jvr
|j|S|}|j�|�s|j}|j�|�r|j�|�}d}|dr/d|dd}|dr7|d7}|dr?|d7}||j|<|S)	Nr0�colorz fill="#r
�boldz font-weight="bold"�italicz font-style="italic")r+rC�styles_token�parent�style_for_token)r,�	tokentype�
otokentyperB�resultrrrr6�s 

�
zSvgFormatter._get_styleN)
�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenamesr&rHr6rrrrrs;;N)rU�pygments.formatterr�pygments.tokenr�
pygments.utilrr�__all__r�class2stylerrrrr�<module>s
	

https://t.me/RX1948 - 2025