§
    ¢”jØ  ã                   óH  — d dl mZmZ ddgZ G d„ de¦  «        Z G d„ de¦  «        Zedk    rsd dlmZ  e ed¦  «        d	¦  «        Z	e	 
                    d
¦  «         e	                     d¦  «         e	                     dddd
¦  «         e	                     ¦   «          dS dS )é    )Ú	FilterPenÚFilterPointPenÚTransformPenÚTransformPointPenc                   óR   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zˆ xZS )r   zkPen that transforms all coordinates using a Affine transformation,
    and passes them to another pen.
    c                 óÂ   •— t          t          | ¦  «                             |¦  «         t          |d¦  «        sddlm}  ||Ž }|| _        |j        | _        g | _	        dS )zÛThe 'outPen' argument is another pen object. It will receive the
        transformed coordinates. The 'transformation' argument can either
        be a six-tuple, or a fontTools.misc.transform.Transform object.
        ÚtransformPointr   ©Ú	TransformN)
Úsuperr   Ú__init__ÚhasattrÚfontTools.misc.transformr   Ú_transformationr	   Ú_transformPointÚ_stack)ÚselfÚoutPenÚtransformationr   Ú	__class__s       €új/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/pens/transformPen.pyr   zTransformPen.__init__   sr   ø€ õ
 	�l˜DÑ!Ô!×*Ò*¨6Ñ2Ô2Ð2Ý�~Ð'7Ñ8Ô8ð 	8Ø:Ð:Ð:Ð:Ð:Ð:à&˜Y¨Ð7ˆNØ-ˆÔØ-Ô<ˆÔØˆŒˆˆó    c                 ó`   — | j                              |                      |¦  «        ¦  «         d S ©N)Ú_outPenÚmoveTor   ©r   Úpts     r   r   zTransformPen.moveTo   ó,   € ØŒ×Ò˜D×0Ò0°Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5r   c                 ó`   — | j                              |                      |¦  «        ¦  «         d S r   )r   ÚlineTor   r   s     r   r!   zTransformPen.lineTo   r   r   c                 óJ   —  | j         j        |                      |¦  «        Ž  d S r   )r   ÚcurveToÚ_transformPoints©r   Úpointss     r   r#   zTransformPen.curveTo    s(   € ØˆŒÔ˜d×3Ò3°FÑ;Ô;Ð<Ð<Ð<Ð<r   c                 ó¢   — |d         €"|                       |d d…         ¦  «        d gz   }n|                       |¦  «        } | j        j        |Ž  d S )Néÿÿÿÿ)r$   r   ÚqCurveTor%   s     r   r)   zTransformPen.qCurveTo#   s[   € Ø�"Œ:ÐØ×*Ò*¨6°#°2°#¬;Ñ7Ô7¸4¸&Ñ@ˆFˆFà×*Ò*¨6Ñ2Ô2ˆFØˆŒÔ˜vÐ&Ð&Ð&Ð&r   c                 ó.   ‡— | j         Šˆfd„|D ¦   «         S )Nc                 ó&   •— g | ]} ‰|¦  «        ‘ŒS © r,   )Ú.0r   r	   s     €r   ú
<listcomp>z1TransformPen._transformPoints.<locals>.<listcomp>,   s#   ø€ Ð4Ð4Ð4 r��˜rÑ"Ô"Ð4Ð4Ð4r   )r   )r   r&   r	   s     @r   r$   zTransformPen._transformPoints*   s%   ø€ ØÔ-ˆØ4Ð4Ð4Ð4¨VÐ4Ñ4Ô4Ð4r   c                 ó8   — | j                              ¦   «          d S r   )r   Ú	closePath©r   s    r   r0   zTransformPen.closePath.   s   € ØŒ×ÒÑ Ô Ð Ð Ð r   c                 ó8   — | j                              ¦   «          d S r   )r   ÚendPathr1   s    r   r3   zTransformPen.endPath1   s   € ØŒ×ÒÑÔÐÐÐr   c                 óp   — | j                              |¦  «        }| j                             ||¦  «         d S r   ©r   Ú	transformr   ÚaddComponent)r   Ú	glyphNamer   s      r   r7   zTransformPen.addComponent4   s6   € ØÔ-×7Ò7¸ÑGÔGˆØŒ×!Ò! )¨^Ñ<Ô<Ð<Ð<Ð<r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r!   r#   r)   r$   r0   r3   r7   Ú__classcell__©r   s   @r   r   r      sº   ø€ € € € € ðð ðð ð ð ð ð6ð 6ð 6ð6ð 6ð 6ð=ð =ð =ð'ð 'ð 'ð5ð 5ð 5ð!ð !ð !ðð ð ð=ð =ð =ð =ð =ð =ð =r   c                   ó0   ‡ — e Zd ZdZˆ fd„Zdd„Zd„ Zˆ xZS )r   a^  PointPen that transforms all coordinates using a Affine transformation,
    and passes them to another PointPen.

    For example::

        >>> from fontTools.pens.recordingPen import RecordingPointPen
        >>> rec = RecordingPointPen()
        >>> pen = TransformPointPen(rec, (2, 0, 0, 2, -10, 5))
        >>> v = iter(rec.value)
        >>> pen.beginPath(identifier="contour-0")
        >>> next(v)
        ('beginPath', (), {'identifier': 'contour-0'})

        >>> pen.addPoint((100, 100), "line")
        >>> next(v)
        ('addPoint', ((190, 205), 'line', False, None), {})

        >>> pen.endPath()
        >>> next(v)
        ('endPath', (), {})

        >>> pen.addComponent("a", (1, 0, 0, 1, -10, 5), identifier="component-0")
        >>> next(v)
        ('addComponent', ('a', <Transform [2 0 0 2 -30 15]>), {'identifier': 'component-0'})
    c                 ó¦   •— t          ¦   «                              |¦  «         t          |d¦  «        sddlm}  ||Ž }|| _        |j        | _        dS )zîThe 'outPointPen' argument is another point pen object.
        It will receive the transformed coordinates.
        The 'transformation' argument can either be a six-tuple, or a
        fontTools.misc.transform.Transform object.
        r	   r   r
   N)r   r   r   r   r   r   r	   r   )r   ÚoutPointPenr   r   r   s       €r   r   zTransformPointPen.__init__T   sg   ø€ õ 	‰Œ×Ò˜Ñ%Ô%Ð%Ý�~Ð'7Ñ8Ô8ð 	8Ø:Ð:Ð:Ð:Ð:Ð:à&˜Y¨Ð7ˆNØ-ˆÔØ-Ô<ˆÔÐÐr   NFc                 óX   —  | j         j        |                      |¦  «        |||fi |¤Ž d S r   )r   ÚaddPointr   )r   r   ÚsegmentTypeÚsmoothÚnameÚkwargss         r   rC   zTransformPointPen.addPointb   sI   € ØˆŒÔØ× Ò  Ñ$Ô$ k°6¸4ð	
ð 	
ØCIð	
ð 	
ð 	
ð 	
ð 	
r   c                 ób   — | j                              |¦  «        } | j        j        ||fi |¤Ž d S r   r5   )r   ÚbaseGlyphNamer   rG   s       r   r7   zTransformPointPen.addComponentg   s=   € ØÔ-×7Ò7¸ÑGÔGˆØ!ˆŒÔ! -°ÐJÐJÀ6ÐJÐJÐJÐJÐJr   )NFN)r9   r:   r;   r<   r   rC   r7   r=   r>   s   @r   r   r   9   sl   ø€ € € € € ðð ð4=ð =ð =ð =ð =ð
ð 
ð 
ð 
ð
Kð Kð Kð Kð Kð Kð Kr   Ú__main__)Ú_TestPenN)é   r   g      à?rL   iöÿÿÿr   )r   r   )r   éd   )é2   éK   )é<   rN   )rN   é   )ÚfontTools.pens.filterPenr   r   Ú__all__r   r   r9   ÚfontTools.pens.basePenrK   Úpenr   r!   r#   r0   r,   r   r   ú<module>rV      s  ðØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð Ð.Ð
/€ð/=ð /=ð /=ð /=ð /=�9ñ /=ô /=ð /=ðd0Kð 0Kð 0Kð 0Kð 0K˜ñ 0Kô 0Kð 0Kðf ˆzÒÐØ/Ð/Ð/Ð/Ð/Ð/à
ˆ,�x�x ‘~”~Ð'=Ñ
>Ô
>€CØ‡J‚JˆvÑÔÐØ‡J‚JˆxÑÔÐØ‡K‚K�˜( H¨fÑ5Ô5Ð5Ø‡M‚M�O„O€O€O€Oð Ðr   