ó
    oñ:i‘  ã                   óF   • S SK Jr  S SKJr  S SKJr  S SKr " S S\5      rg)é    )Úquadratic_to_curves)ÚContourFilterPen)ÚReverseContourPenNc                   óB   ^ • \ rS rSrSr   SU 4S jjrS rS rSrU =r	$ )ÚQu2CuPené   a  A filter pen to convert quadratic bezier splines to cubic curves
using the FontTools SegmentPen protocol.

Args:

    other_pen: another SegmentPen used to draw the transformed outline.
    max_err: maximum approximation error in font units. For optimal results,
        if you know the UPEM of the font, we recommend setting this to a
        value equal, or close to UPEM / 1000.
    reverse_direction: flip the contours' direction but keep starting point.
    stats: a dictionary counting the point numbers of cubic segments.
c                 ól   >• U(       a  [        U5      n[        TU ]	  U5        X0l        X l        XPl        g )N)r   ÚsuperÚ__init__Ú	all_cubicÚmax_errÚstats)ÚselfÚ	other_penr   r   Úreverse_directionr   Ú	__class__s         €ÚZ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/pens/qu2cuPen.pyr   ÚQu2CuPen.__init__$   s.   ø€ ö Ü)¨)Ó4ˆIÜ‰Ñ˜Ô#Ø"ŒØŒØ�
ó    c              #   óR  #   • [        XR                  U R                  S9nU R                  bL  U HF  n[	        [        U5      S-
  5      nU R                  R                  US5      S-   U R                  U'   MH     U H&  n[        U5      S:X  a  SUSS  4v •  M  SUSS  4v •  M(     g 7f)N)r   é   r   é   é   ÚcurveToÚqCurveTo)r   r   r   r   ÚstrÚlenÚget)r   ÚqÚcurvesÚcurveÚns        r   Ú_quadratics_to_curveÚQu2CuPen._quadratics_to_curve3   s™   é € Ü$ Q¯©ÀÇÁÑOˆØ�:‰:Ñ!Û�Üœ˜E›
 Q™Ó'�Ø $§
¡
§¡¨q°!Ó 4°qÑ 8�—
‘
˜1“ñ  ó ˆEÜ�5‹z˜Q‹Ø  %¨¨ )Ð,Ô,à! 5¨¨ 9Ð-Ô-ò	 ùs   ‚B%B'c                 ód  • / nS n/ nU H¡  u  pVUS:X  aM  U R                   (       d  [        U5      S:”  a-  US   b'  US   c  [        S5      eUR                  U4U-   5        O;U(       a"  UR	                  U R                  U5      5        / nUR                  XV45        U(       a  US   OS nM£     U(       a   UR	                  U R                  U5      5        U R                   (       dÊ  Un/ nU HÀ  u  pVUS:X  a£  U(       aœ  US   S   S:X  a�  US   S   S   nUS   S   S   nUS   n	Ubr  [        R                  " U	S   US   -
  US   US   -
  5      (       aD  [        R                  " U	S   US   -
  US   US   -
  5      (       a  US   S   S S U-   n
XZ4US'   M®  UR                  XV45        MÂ     U$ )Nr   r   éÿÿÿÿz4oncurve-less contours with all_cubic not implementedr   r   éþÿÿÿ)r   r   ÚNotImplementedErrorÚappendÚextendr#   ÚmathÚisclose)r   ÚcontourÚ
quadraticsÚ	currentPtÚ
newContourÚopÚargsÚpt0Úpt1Úpt2ÚnewArgss              r   ÚfilterContourÚQu2CuPen.filterContour?   sÉ  € Øˆ
Øˆ	Øˆ
Û‰HˆBØ�ZÓØ——¤3 t£9¨q£=°T¸"±XÑ5Ià˜‘8Ñ#Ü-ØNóð ð ×!Ñ! 9 ,°Ñ"5Õ6æØ×%Ñ% d×&?Ñ&?À
Ó&KÔLØ!#�JØ×!Ñ! 2 *Ô-Þ$(˜˜Rš¨dŠIñ  ö Ø×Ñ˜d×7Ñ7¸
ÓCÔDà�~�~à ˆGØˆJÛ#‘�Ø˜Ó#®
°zÀ"±~ÀaÑ7HÈJÓ7VØ$ R™.¨Ñ+¨BÑ/�CØ$ R™.¨Ñ+¨BÑ/�CØ˜q™'�Cà™Ü ŸLšL¨¨Q©°#°a±&©¸#¸a¹&À3ÀqÁ6¹/×JÑJÜ ŸLšL¨¨Q©°#°a±&©¸#¸a¹&À3ÀqÁ6¹/×JÑJà",¨R¡.°Ñ"3°C°RÐ"8¸4Ñ"?˜Ø*,¨˜
 2™Ù à×!Ñ! 2 *Ö-ñ $ð  Ðr   )r   r   r   )FFN)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r#   r7   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s'   ø† ñð" ØØ÷ò
.÷*ð *r   r   )ÚfontTools.qu2cur   ÚfontTools.pens.filterPenr   Ú fontTools.pens.reverseContourPenr   r+   r   © r   r   Ú<module>rD      s"   ðõ  0Ý 5Ý >Û ôSÐõ Sr   