ó
    oñ:ii  ã                   óV   • S r SSKJr  SSKJrJrJrJr  SSKrS/r	S r
 " S S\5      rg)z#Calculate the perimeter of a glyph.é    )ÚBasePen)ÚapproximateQuadraticArcLengthCÚcalcQuadraticArcLengthCÚapproximateCubicArcLengthCÚcalcCubicArcLengthCNÚPerimeterPenc                 óT   • [         R                  " U S   US   -
  U S   US   -
  5      $ )Nr   é   )ÚmathÚhypot)Úp0Úp1s     Ú^/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/pens/perimeterPen.pyÚ	_distancer      s+   € Ü�:Š:�b˜‘e˜b ™e‘m R¨¡U¨R°©U¡]Ó3Ð3ó    c                   óT   • \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rSrg)r   é   Nc                 óâ   • [         R                  " X5        SU l        X l        US:¼  a  U R                  OU R
                  U l        US:¼  a  U R                  U l	        g U R                  U l	        g )Nr   gú~j¼t“X?gú~j¼t“H?)
r   Ú__init__ÚvalueÚ	toleranceÚ_addCubicQuadratureÚ_addCubicRecursiveÚ	_addCubicÚ_addQuadraticQuadratureÚ_addQuadraticExactÚ_addQuadratic)ÚselfÚglyphsetr   s      r   r   ÚPerimeterPen.__init__   sm   € Ü×Ò˜Ô(ØˆŒ
Ø"Œð )2°VÓ(;ˆD×$Ò$À×AXÑAXð 	Œð
 ˜GÓ#ð ×(Ñ(ð 	Õð ×(Ñ(ð 	Õr   c                 ó   • Xl         g ©N)Ú_PerimeterPen__startPoint©r   r   s     r   Ú_moveToÚPerimeterPen._moveTo'   s   € ØÕr   c                 óz   • U R                  5       nXR                  :w  a  U R                  U R                  5        g g r"   )Ú_getCurrentPointr#   Ú_lineTor$   s     r   Ú
_closePathÚPerimeterPen._closePath*   s3   € Ø×"Ñ"Ó$ˆØ×"Ñ"Ó"Ø�L‰L˜×*Ñ*Õ+ð #r   c                 ó`   • U R                  5       nU =R                  [        X!5      -  sl        g r"   )r(   r   r   )r   r   r   s      r   r)   ÚPerimeterPen._lineTo/   s#   € Ø×"Ñ"Ó$ˆØ�
Š
”i Ó'Ñ'Ž
r   c                 óB   • U =R                   [        XU5      -  sl         g r"   )r   r   ©r   Úc0Úc1Úc2s       r   r   ÚPerimeterPen._addQuadraticExact3   s   € Ø�
Š
Ô-¨b°bÓ9Ñ9Ž
r   c                 óB   • U =R                   [        XU5      -  sl         g r"   )r   r   r/   s       r   r   Ú$PerimeterPen._addQuadraticQuadrature6   s   € Ø�
Š
Ô4°R¸RÓ@Ñ@Ž
r   c                 ón   • U R                  5       nU R                  [        U6 [        U6 [        U6 5        g r"   )r(   r   Úcomplex)r   r   Úp2r   s       r   Ú_qCurveToOneÚPerimeterPen._qCurveToOne9   s.   € Ø×"Ñ"Ó$ˆØ×Ñœ7 B˜<¬°"¨´wÀ°|ÕDr   c           	      óX   • U =R                   [        XX4U R                  5      -  sl         g r"   )r   r   r   ©r   r0   r1   r2   Úc3s        r   r   ÚPerimeterPen._addCubicRecursive=   s   € Ø�
Š
Ô)¨"°"¸$¿.¹.ÓIÑIŽ
r   c                 óB   • U =R                   [        XX45      -  sl         g r"   )r   r   r<   s        r   r   Ú PerimeterPen._addCubicQuadrature@   s   € Ø�
Š
Ô0°¸Ó@Ñ@Ž
r   c                 ó|   • U R                  5       nU R                  [        U6 [        U6 [        U6 [        U6 5        g r"   )r(   r   r7   )r   r   r8   Úp3r   s        r   Ú_curveToOneÚPerimeterPen._curveToOneC   s2   € Ø×"Ñ"Ó$ˆØ�‰”w �|¤W¨b \´7¸B°<ÄÈ"ÀÕNr   )Ú__startPointr   r   r   r   )Ng{®Gázt?)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r%   r*   r)   r   r   r9   r   r   rC   Ú__static_attributes__© r   r   r   r      s9   † ô
ò"ò,ò
(ò:òAòEòJòAõOr   )Ú__doc__ÚfontTools.pens.basePenr   ÚfontTools.misc.bezierToolsr   r   r   r   r   Ú__all__r   r   rK   r   r   Ú<module>rP      s7   ðá )å *÷ó ó ð Ð
€ò4ô0O�7õ 0Or   