§
    ]ùMh“  ã                   ó.   — d dl mZ  G d„ de¦  «        ZdS )é    )ÚContourFilterPenc                   ó   — e Zd ZdZd„ ZdS )ÚExplicitClosingLinePena‰
  A filter pen that adds an explicit lineTo to the first point of each closed
    contour if the end point of the last segment is not already the same as the first point.
    Otherwise, it passes the contour through unchanged.

    >>> from pprint import pprint
    >>> from fontTools.pens.recordingPen import RecordingPen
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.lineTo((100, 0))
    >>> pen.lineTo((100, 100))
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)),
     ('lineTo', ((100, 0),)),
     ('lineTo', ((100, 100),)),
     ('lineTo', ((0, 0),)),
     ('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.lineTo((100, 0))
    >>> pen.lineTo((100, 100))
    >>> pen.lineTo((0, 0))
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)),
     ('lineTo', ((100, 0),)),
     ('lineTo', ((100, 100),)),
     ('lineTo', ((0, 0),)),
     ('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.curveTo((100, 0), (0, 100), (100, 100))
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)),
     ('curveTo', ((100, 0), (0, 100), (100, 100))),
     ('lineTo', ((0, 0),)),
     ('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.curveTo((100, 0), (0, 100), (100, 100))
    >>> pen.lineTo((0, 0))
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)),
     ('curveTo', ((100, 0), (0, 100), (100, 100))),
     ('lineTo', ((0, 0),)),
     ('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.curveTo((100, 0), (0, 100), (0, 0))
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)),
     ('curveTo', ((100, 0), (0, 100), (0, 0))),
     ('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)), ('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.closePath()
    >>> pprint(rec.value)
    [('closePath', ())]
    >>> rec = RecordingPen()
    >>> pen = ExplicitClosingLinePen(rec)
    >>> pen.moveTo((0, 0))
    >>> pen.lineTo((100, 0))
    >>> pen.lineTo((100, 100))
    >>> pen.endPath()
    >>> pprint(rec.value)
    [('moveTo', ((0, 0),)),
     ('lineTo', ((100, 0),)),
     ('lineTo', ((100, 100),)),
     ('endPath', ())]
    c                 óü   — |r7|d         d         dk    s%|d         d         dk    st          |¦  «        dk     rd S |d         d         d         }|d         d         }|r||d         k    rd|ffd	g|dd …<   d S d S d S )
Nr   ÚmoveToéÿÿÿÿÚ	closePathé   é   éþÿÿÿÚlineTo)r	   © )Úlen)ÚselfÚcontourÚmovePtÚlastSegs       úe/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fontTools/pens/explicitClosingLinePen.pyÚfilterContourz$ExplicitClosingLinePen.filterContourZ   s¬   € àð	àqŒz˜!Œ} Ò(Ð(ØrŒ{˜1Œ~ Ò,Ð,Ý7‰|Œ|˜aÒÐàˆFØ˜”˜A”˜qÔ!ˆØ˜"”+˜a”.ˆØð 	Fv ¨¤Ò,Ð,Ø%¨ yÐ1Ð3DÐEˆGBCC‰LˆLˆLð	Fð 	FÐ,Ð,ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s5   € € € € € ðSð SðjFð Fð Fð Fð Fr   r   N)ÚfontTools.pens.filterPenr   r   r   r   r   ú<module>r      s`   ðØ 5Ð 5Ð 5Ð 5Ð 5Ð 5ðaFð aFð aFð aFð aFÐ-ñ aFô aFð aFð aFð aFr   