ó
    oñ:iDD  ã                   ó–  • S r SSKJrJr  SSKJr  SSKJr  SSKJrJ	r	  SSK
Jr  SSKJr  SSKJrJr  SS	KJr  SS
KJrJr  SSKJrJr  SSKJrJrJr   " S S\5      r " S S\5      r " S S\5      r  " S S\5      r! " S S\5      r" " S S\"5      r# " S S\"5      r$S r% " S S\"5      r&SS.S  jr' " S! S"\5      r( " S# S$5      r)g%)&zGlyphSets returned by a TTFont.é    )ÚABCÚabstractmethod)ÚMapping)Úcontextmanager)ÚcopyÚdeepcopy)ÚSimpleNamespace)ÚVector)ÚotRoundÚfixedToFloat)ÚdeprecateFunction)Ú	TransformÚDecomposedTransform)ÚTransformPenÚTransformPointPen)ÚDecomposingRecordingPenÚlerpRecordingsÚreplayRecordingc                   óz   • \ rS rSrSrSS.S jr\S\4S j5       r\S 5       r	S	 r
S
 rS r\" S\S9S 5       rSrg)Ú_TTGlyphSeté   zdGeneric dict-like GlyphSet class that pulls metrics from hmtx and
glyph shape from TrueType or CFF.
T©ÚrecalcBoundsc                ó‚  • X@l         Xl        SU R                  ;   a4  U R                  S   R                   Vs0 s H  oUR                  S_M     snO0 U l        Ub  UO0 U l        0 U l        Ub  UO0 U l        SU l        / U l	        / U l
        X0l        US   R                  U l        [        UR                  S5      SS 5      U l        S U l        U(       af  SSKJn  [        UR                  S5      SS 5      U l        U R"                  b1  U" U R"                  R(                  US   R                  U5      U l        g g g s  snf )	NÚfvarr   ÚhmtxÚvmtxÚmetrics©ÚVarStoreInstancerÚHVARÚtable)r   ÚfontÚaxesÚaxisTagÚdefaultLocationNormalizedÚlocationÚrawLocationÚoriginalLocationÚdepthÚlocationStackÚrawLocationStackÚglyphsMappingr   ÚhMetricsÚgetattrÚgetÚvMetricsÚ	hvarTableÚfontTools.varLib.varStorer    ÚVarStoreÚhvarInstancer)Úselfr#   r'   r-   r   Úaxisr    s          Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/ttLib/ttGlyphSet.pyÚ__init__Ú_TTGlyphSet.__init__   s'  € Ø(ÔØŒ	ð ˜Ÿ™Ó"ð *.¯©°6Ñ):×)?Ò)?Ó@Ò)? �\‰\˜1Š_Ñ)?Ò@àð 	Ô&ð
 %-Ñ$8™¸bˆŒØˆÔØ,4Ñ,@¡ÀbˆÔØˆŒ
ØˆÔØ "ˆÔØ*ÔØ˜V™×,Ñ,ˆŒÜ §¡¨Ó 0°)¸TÓBˆŒØˆŒÞÝCä$ T§X¡X¨fÓ%5°wÀÓEˆDŒNØ�~‰~Ñ)Ù%6Ø—N‘N×+Ñ+¨T°&©\×->Ñ->Àó&�Õ"ð *ð	 ùò As   ¸D<Úresetc              #   óð  #   • U R                   R                  U R                  5        U R                  R                  U R                  5        U(       a?  U R
                  R                  5       U l        U R                  R                  5       U l        O&U R                  R                  5       U l        0 U l        U R                  R                  U5        U R                  R                  U5         S v •  U R                   R                  5       U l        U R                  R                  5       U l        g ! U R                   R                  5       U l        U R                  R                  5       U l        f = f7f©N)
r+   Úappendr'   r,   r(   r)   r   r&   ÚupdateÚpop)r6   r'   r;   s      r8   ÚpushLocationÚ_TTGlyphSet.pushLocation5   s  é € à×Ñ×!Ñ! $§-¡-Ô0Ø×Ñ×$Ñ$ T×%5Ñ%5Ô6ÞØ ×1Ñ1×6Ñ6Ó8ˆDŒMØ#×=Ñ=×BÑBÓDˆDÕà ŸM™M×.Ñ.Ó0ˆDŒMØ!ˆDÔØ�‰×Ñ˜XÔ&Ø×Ñ×Ñ Ô)ð	;ØŠJà ×.Ñ.×2Ñ2Ó4ˆDŒMØ#×4Ñ4×8Ñ8Ó:ˆDÕøð !×.Ñ.×2Ñ2Ó4ˆDŒMØ#×4Ñ4×8Ñ8Ó:ˆDÕüs   ‚C-E6Ã0D3 Ã4?E6Ä3A E3Å3E6c              #   ó¶   #   •  U R                   nU =R                   S-  sl         Uv •  U =R                   S-  sl         g ! U =R                   S-  sl         f = f7f)Né   )r*   )r6   r*   s     r8   Ú	pushDepthÚ_TTGlyphSet.pushDepthH   s?   é € ð	Ø—J‘JˆEØ�JŠJ˜!‰O�JØŠKà�JŠJ˜!‰OŽJøˆD�JŠJ˜!‰OŽJüs   ‚A„%? ©A¿AÁAc                 ó   • XR                   ;   $ r=   ©r-   ©r6   Ú	glyphNames     r8   Ú__contains__Ú_TTGlyphSet.__contains__Q   s   € Ø×.Ñ.Ñ.Ð.ó    c                 óH   • [        U R                  R                  5       5      $ r=   )Úiterr-   Úkeys©r6   s    r8   Ú__iter__Ú_TTGlyphSet.__iter__T   s   € Ü�D×&Ñ&×+Ñ+Ó-Ó.Ð.rM   c                 ó,   • [        U R                  5      $ r=   )Úlenr-   rQ   s    r8   Ú__len__Ú_TTGlyphSet.__len__W   s   € Ü�4×%Ñ%Ó&Ð&rM   z#use 'glyphName in glyphSet' instead)Úcategoryc                 ó   • XR                   ;   $ r=   rH   rI   s     r8   Úhas_keyÚ_TTGlyphSet.has_keyZ   s   € ð ×.Ñ.Ñ.Ð.rM   )r&   r*   r#   r-   r.   r5   r2   r'   r+   r)   r(   r,   r   r1   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r9   r   ÚboolrA   rE   rK   rR   rV   r   ÚDeprecationWarningrZ   Ú__static_attributes__© rM   r8   r   r      sp   † ñð GKõ ð8 ð;¨Dó ;ó ð;ð$ ñó ðò/ò/ò'ñ Ø-Ð8Jññ/óó/rM   r   c                   ó2   ^ • \ rS rSrSU 4S jjrS rSrU =r$ )Ú_TTGlyphSetGlyféa   c                 óx   >• US   U l         [        TU ]	  XU R                   US9  UR                  S5      U l        g )NÚglyfr   Úgvar)Ú	glyfTableÚsuperr9   r0   Ú	gvarTable)r6   r#   r'   r   Ú	__class__s       €r8   r9   Ú_TTGlyphSetGlyf.__init__b   s6   ø€ Ø˜f™ˆŒÜ‰Ñ˜¨¯©ÀlÐÑSØŸ™ &Ó)ˆ�rM   c                 ó*   • [        XU R                  S9$ )Nr   )Ú_TTGlyphGlyfr   rI   s     r8   Ú__getitem__Ú_TTGlyphSetGlyf.__getitem__g   s   € Ü˜D¸$×:KÑ:KÑLÐLrM   )rk   rm   )T©r\   r]   r^   r_   r9   rr   rc   Ú__classcell__©rn   s   @r8   rf   rf   a   s   ø† ÷*÷
Mð MrM   rf   c                   óL   ^ • \ rS rSrU 4S jrS rS r\S\4S j5       r	Sr
U =r$ )Ú_TTGlyphSetCFFék   c                 óÞ   >• SU;   a  SOSn[        X   R                  R                  5       5      S   R                  U l        [
        TU ]  XU R                  5        U R                  U5        g )NÚCFF2zCFF r   )ÚlistÚcffÚvaluesÚCharStringsÚcharStringsrl   r9   ÚsetLocation)r6   r#   r'   ÚtableTagrn   s       €r8   r9   Ú_TTGlyphSetCFF.__init__l   s\   ø€ Ø# t›^‘6°ˆÜ ¡× 2Ñ 2× 9Ñ 9Ó ;Ó<¸QÑ?×KÑKˆÔÜ‰Ñ˜¨×)9Ñ)9Ô:Ø×Ñ˜Õ"rM   c                 ó   • [        X5      $ r=   )Ú_TTGlyphCFFrI   s     r8   rr   Ú_TTGlyphSetCFF.__getitem__r   s   € Ü˜4Ó+Ð+rM   c                 óê   • S U l         U(       a^  SSKJn  [        U R                  SS 5      nUb=  U" UR
                  U R                  S   R                  U5      nUR                  U l         g g S U l         g )Nr   r   ÚvarStorer   )	Úblenderr3   r    r/   r€   Ú
otVarStorer#   r$   ÚinterpolateFromDeltas)r6   r'   r    rˆ   Ú	instancers        r8   r�   Ú_TTGlyphSetCFF.setLocationu   so   € ØˆŒÞõ Dä˜t×/Ñ/°¸TÓBˆHØÑ#Ù-Ø×'Ñ'¨¯©°6Ñ):×)?Ñ)?Àó�	ð  )×>Ñ>�•ð	 $ð  ˆD�LrM   r;   c              #   ó  #   • U R                  U5        [        R                  XU5       n Uv •  U R                  U R                  5         S S S 5        g ! U R                  U R                  5        f = f! , (       d  f       g = f7fr=   )r�   r   rA   r'   )r6   r'   r;   Úvalues       r8   rA   Ú_TTGlyphSetCFF.pushLocation…   sg   é € à×Ñ˜Ô"Ü×%Ñ% d°eÔ<Àð0Ø’à× Ñ  §¡Õ/÷	 =Ð<øð × Ñ  §¡Õ/ú÷	 =Õ<üs2   ‚(BªA5¬A°A5Á	BÁA2Á2A5Á5
BÁ?B)r‰   r€   )r\   r]   r^   r_   r9   rr   r�   r   ra   rA   rc   ru   rv   s   @r8   rx   rx   k   s-   ø† õ#ò,ò ð  ð0¨Dó 0ó ö0rM   rx   c                   ó.   ^ • \ rS rSrU 4S jrS rSrU =r$ )Ú_TTGlyphSetVARCé�   c                 óZ   >• X0l         [        TU ]	  XU5        US   R                  U l        g )NÚVARC)ÚglyphSetrl   r9   r"   Ú	varcTable)r6   r#   r'   r–   rn   s       €r8   r9   Ú_TTGlyphSetVARC.__init__�   s(   ø€ Ø ŒÜ‰Ñ˜¨Ô2Ø˜f™×+Ñ+ˆ�rM   c                 ó€   • U R                   nXR                  R                  ;  a  U R                  U   $ [	        X5      $ r=   )r—   ÚCoverageÚglyphsr–   Ú_TTGlyphVARC)r6   rJ   Úvarcs      r8   rr   Ú_TTGlyphSetVARC.__getitem__•   s5   € Ø�~‰~ˆØŸM™M×0Ñ0Ó0Ø—=‘= Ñ+Ð+Ü˜DÓ,Ð,rM   )r–   r—   rt   rv   s   @r8   r’   r’   �   s   ø† õ,÷
-ð -rM   r’   c                   ó<   • \ rS rSrSrSS.S jr\S 5       rS rSr	g	)
Ú_TTGlyphéœ   a;  Glyph object that supports the Pen protocol, meaning that it has
.draw() and .drawPoints() methods that take a pen object as their only
argument. Additionally there are 'width' and 'lsb' attributes, read from
the 'hmtx' table.

If the font contains a 'vmtx' table, there will also be 'height' and 'tsb'
attributes.
Tr   c                ó   • Xl         X l        X0l        UR                  U   u  U l        U l        UR                  b  UR                  U   u  U l        U l        OSu  U l        U l        UR                  (       a†  UR                  bx  UR                  R                  c  UR                  R                  U5      O"UR                  R                  R                  U   nU =R                  UR                  U   -  sl        g g g )N©NN)r–   Únamer   r.   ÚwidthÚlsbr1   ÚheightÚtsbr'   r2   ÚAdvWidthMapr#   Ú
getGlyphIDÚmappingr5   )r6   r–   rJ   r   Úvaridxs        r8   r9   Ú_TTGlyph.__init__¦   sÝ   € Ø ŒØŒ	Ø(ÔØ'×0Ñ0°Ñ;ÑˆŒ
�D”HØ×ÑÑ(Ø$,×$5Ñ$5°iÑ$@Ñ!ˆDŒK˜�à$.Ñ!ˆDŒK˜œØ×× ×!3Ñ!3Ñ!?ð ×%Ñ%×1Ñ1Ñ9ð —‘×(Ñ(¨Ô3à×'Ñ'×3Ñ3×;Ñ;¸IÑFð ð
 �JŠJ˜(×0Ñ0°Ñ8Ñ8ŽJð "@ÐrM   c                 ó   • [         e)úTDraw the glyph onto ``pen``. See fontTools.pens.basePen for details
how that works.
)ÚNotImplementedError©r6   Úpens     r8   ÚdrawÚ_TTGlyph.draw¸   s
   € ô
 "Ð!rM   c                 ó>   • SSK Jn  U R                  U" U5      5        g)úUDraw the glyph onto ``pen``. See fontTools.pens.pointPen for details
how that works.
r   )ÚSegmentToPointPenN)ÚfontTools.pens.pointPenr·   r³   )r6   r²   r·   s      r8   Ú
drawPointsÚ_TTGlyph.drawPoints¿   s   € õ 	>à�	‰	Ñ# CÓ(Õ)rM   )r–   r§   r¦   r¤   r   r¨   r¥   N)
r\   r]   r^   r_   r`   r9   r   r³   r¹   rc   rd   rM   r8   r    r    œ   s+   † ñð =Aõ 9ð$ ñ"ó ð"õ*rM   r    c                   ó,   • \ rS rSrS rS rS rS rSrg)rq   éÈ   c                 óî   • U R                  5       u  p#U R                  R                  5        nU(       a  SnUR                  XR                  R                  U5        SSS5        g! , (       d  f       g= f)r¯   r   N)Ú_getGlyphAndOffsetr–   rE   r³   rk   ©r6   r²   ÚglyphÚoffsetr*   s        r8   r³   Ú_TTGlyphGlyf.drawÉ   sR   € ð ×/Ñ/Ó1‰ˆà�]‰]×$Ñ$Ô&¨%ÞØ�à�J‰J�sŸM™M×3Ñ3°VÔ<÷	 '×&Ö&úó   ­0A&Á&
A4c                 óî   • U R                  5       u  p#U R                  R                  5        nU(       a  SnUR                  XR                  R                  U5        SSS5        g! , (       d  f       g= f)r¶   r   N)r¾   r–   rE   r¹   rk   r¿   s        r8   r¹   Ú_TTGlyphGlyf.drawPointsÕ   sT   € ð ×/Ñ/Ó1‰ˆà�]‰]×$Ñ$Ô&¨%ÞØ�à×Ñ˜S§-¡-×"9Ñ"9¸6ÔB÷	 '×&Ö&úrÃ   c                 ó,  • U R                   R                  (       a(  U R                   R                  b  U R                  5       nO#U R                   R                  U R
                     n[        US5      (       a  U R                  UR                  -
  OSnX4$ )NÚxMinr   )	r–   r'   rm   Ú_getGlyphInstancerk   r¤   Úhasattrr¦   rÇ   )r6   rÀ   rÁ   s      r8   r¾   Ú_TTGlyphGlyf._getGlyphAndOffsetá   sl   € Ø�=‰=×!×! d§m¡m×&=Ñ&=Ñ&IØ×*Ñ*Ó,‰Eà—M‘M×+Ñ+¨D¯I©IÑ6ˆEä*1°%¸×*@Ñ*@�—‘˜EŸJ™JÒ&ÀaˆØˆ}ÐrM   c           	      ó  • SSK Jn  SSKJn  SSKJn  U R                  nUR                  nUR                  R                  U R                     nUR                  nUR                  nUR                  U R                  Xx5      u  pšSu  p¼U H¡  nU" UR                  UR                  5      nU(       d  M)  UR                   nS U;   aY  UcM  UR                  U R                  Xx5      u  nnUS   S:¼  a  US   O[#        [%        ['        US   5      5      5      nU" XûU5      nX’" U5      U-  -  n	M£     [)        XPR                     5      n[+        UX•U R,                  S9u  nnnnUU l        UU l        UR2                  c  UU l        UU l        U$ )Nr   )Ú	iup_delta)ÚGlyphCoordinates)ÚsupportScalarr£   rD   r   )ÚfontTools.varLib.iuprÌ   ÚfontTools.ttLib.tables._g_l_y_frÍ   ÚfontTools.varLib.modelsrÎ   r–   rk   rm   Ú
variationsr¤   r.   r1   Ú_getCoordinatesAndControlsr'   r$   Úcoordinatesr|   ÚrangerU   r   Ú_setCoordinatesr   r¦   r¨   r2   r¥   r§   )r6   rÌ   rÍ   rÎ   r–   rk   rÒ   r.   r1   rÔ   Ú_Ú
origCoordsÚendPtsÚvarÚscalarÚdeltaÚcontrolrÀ   r¥   r¦   r§   r¨   s                         r8   rÈ   Ú_TTGlyphGlyf._getGlyphInstanceê   s€  € Ý2ÝDÝ9à—=‘=ˆØ×&Ñ&ˆ	Ø×'Ñ'×2Ñ2°4·9±9Ñ=ˆ
Ø×$Ñ$ˆØ×$Ñ$ˆØ"×=Ñ=Ø�I‰I�xó
‰ˆð (Ñˆ
ÛˆCÙ" 8×#4Ñ#4°c·h±hÓ?ˆFÞÙØ—O‘OˆEØ�u‹}ØÑ%Ø*3×*NÑ*NØŸ	™	 8ó+Ñ'�J ð '.¨a¡j°A£o˜ š
¼4ÄÄcÈ'ÐRSÉ*ÃoÓ@VÓ;Wð ñ " %°VÓ<�ØÐ+¨EÓ2°VÑ;Ñ;ŠKñ ô  �YŸy™yÑ)Ó*ˆÜ"1Ø�;¸×8IÑ8Iñ#
Ñˆˆs�F˜Cð ˆŒØˆŒØ×ÑÑ%àˆDŒJØ ˆDŒKØˆrM   )r§   r¦   r¨   r¥   N)	r\   r]   r^   r_   r³   r¹   r¾   rÈ   rc   rd   rM   r8   rq   rq   È   s   † ò
=ò
Còõ(rM   rq   c                   ó   • \ rS rSrS rSrg)r…   i  c                 ó�   • U R                   R                  U R                     R                  XR                   R                  5        g)r¯   N)r–   r€   r¤   r³   r‰   r±   s     r8   r³   Ú_TTGlyphCFF.draw  s/   € ð 	�‰×!Ñ! $§)¡)Ñ,×1Ñ1°#·}±}×7LÑ7LÕMrM   rd   N)r\   r]   r^   r_   r³   rc   rd   rM   r8   r…   r…     s   † õNrM   r…   c                 ór  • U R                   S:X  aX  U R                  nX   R                  nUR                  US5      nU R                  nU R
                  nXvs=:*  =(       a    U:*  $ s  $ U R                   S:X  a%  U R                  n	X“U R                     S   -  n	U	S:„  $ U R                   S:X  a'  U R                   H  n
[        X¡X#5      (       a  M    g   gU R                   S:X  a'  U R                   H  n
[        X¡X#5      (       d  M    g   gU R                   S:X  a  [        U R                  XU5      (       + $ g)	NrD   r   é   é   FTé   é   )ÚFormatÚ	AxisIndexr%   r0   ÚFilterRangeMinValueÚFilterRangeMaxValueÚDefaultValueÚVarIdxÚConditionTableÚ_evaluateConditionÚconditionTable)Ú	conditionÚfvarAxesr'   rŒ   Ú	axisIndexr%   Ú	axisValueÚminValueÚmaxValuer�   Úsubconditions              r8   rî   rî     s9  € Ø×Ñ˜1Óà×'Ñ'ˆ	ØÑ%×-Ñ-ˆØ—L‘L ¨!Ó,ˆ	Ø×0Ñ0ˆØ×0Ñ0ˆØ×0Ó0¨Ñ0Ð0Ñ0Ð0Ø	×	Ñ	˜QÓ	à×&Ñ&ˆØ˜9×+Ñ+Ñ,¨QÑ/Ñ/ˆØ�q‰yÐØ	×	Ñ	˜QÓ	à%×4Ô4ˆLÜ% l¸h×RÓRÙñ 5ð Ø	×	Ñ	˜QÓ	à%×4Ô4ˆLÜ! ,¸(×NÓNÙñ 5ð Ø	×	Ñ	˜QÓ	ä%Ø×$Ñ$ h¸)ó
ô 
ð 	
ð rM   c                   ó&   • \ rS rSrS rS rS rSrg)rœ   i@  c                 óÆ  • SSK JnJn  U R                  nUR                  nUR
                  R                  R                  U R                  5      nUR                  R                  U   nSSKJn	  SSKJn
  UR                  S   R                   nU	" UR"                  X°R                  R$                  5      nUR&                   GHà  nUR(                  UR*                  -  (       aK  UR,                  R.                  UR0                     n[3        XëU R                  R$                  U5      (       d  Mm  0 nUR4                  bÅ  UR6                  R8                  UR4                     n[;        UR<                  5      nUR>                  U:w  a  U[A        XÍR>                     S5      -  n[C        U5      [C        U5      :X  d   [C        U5      [C        U5      45       e[E        UU5       VVs0 s H  u  nnUU   RF                  U_M     nnnURH                  U:w  a*  XÍRH                     n[K        U5      nURM                  U5        URN                  nUR(                  URP                  -  nU R                  R                  RS                  UU5         U R                  RS                  UU5         U R                  URT                  :H  nU(       d2   URW                  URT                  UU R                  RX                  5        U(       a“  UR]                  5       nURT                  U R                  :w  a  U R                  OUR                  nUURT                     nU(       a  [_        UU5      nURa                  U5        O[c        UU5      nURe                  U5        SSS5        SSS5        GMã     gs  snnf ! [Z         a    Sn NÄf = f! , (       d  f       N4= f! , (       d  f       GM  = f)	r¯   r   )ÚVarComponentFlagsÚNO_VARIATION_INDEX)ÚMultiVarStoreInstancerr   r   Né   T)3ÚfontTools.ttLib.tables.otTablesrù   rú   r–   r—   rš   r›   Úindexr¤   ÚVarCompositeGlyphsÚVarCompositeGlyphÚfontTools.varLib.multiVarStorerû   r3   r    r#   r$   ÚMultiVarStorer'   Ú
componentsÚflagsÚHAVE_CONDITIONÚConditionListrí   ÚconditionIndexrî   ÚaxisIndicesIndexÚAxisIndicesListÚItemr
   Ú
axisValuesÚaxisValuesVarIndexÚfi2flrU   Úzipr%   ÚtransformVarIndexr   ÚapplyTransformDeltasÚ	transformÚRESET_UNSPECIFIED_AXESrA   rJ   ÚaddVarComponentr(   ÚAttributeErrorÚtoTransformr   r¹   r   r³   )r6   r²   Ú
isPointPenrù   rú   r–   r�   ÚidxrÀ   rû   r    rñ   rŒ   Úcomprð   r'   ÚaxisIndicesr  ÚiÚvÚdeltasr  r;   ÚshouldDecomposeÚtÚcompGlyphSetÚgÚtPens                               r8   Ú_drawÚ_TTGlyphVARC._drawA  s8  € ÷	
ð
 —=‘=ˆØ×!Ñ!ˆØ�m‰m×"Ñ"×(Ñ(¨¯©Ó3ˆØ×'Ñ'×9Ñ9¸#Ñ>ˆåIÝ?à—=‘= Ñ(×-Ñ-ˆÙ*Ø×Ñ ¯-©-×*@Ñ*@ó
ˆ	ð ×$Õ$ˆDØ�z‰zÐ-×<Ñ<×<Ø ×.Ñ.×=Ñ=¸d×>QÑ>QÑR�	Ü)Ø¨¯©×)?Ñ)?À÷ñ ñ àˆHØ×$Ñ$Ñ0Ø"×2Ñ2×7Ñ7¸×8MÑ8MÑN�Ü# D§O¡OÓ4�
Ø×*Ñ*Ð.@Ó@Ø¤%¨	×2IÑ2IÑ(JÈBÓ"OÑO�JÜ˜;Ó'¬3¨z«?Ó:ð Ü˜Ó$Ü˜
“Oð=ó Ð:ô
 8;¸;È
Ô7SôÚ7S©t¨q°!�H˜Q‘K×'Ñ'¨Ò*Ñ7Sð ñ ð ×%Ñ%Ð);Ó;Ø"×#9Ñ#9Ñ:�Ü “~�Ø×)Ñ)¨&Ô1ØŸ™ˆIà—J‘JÐ!2×!IÑ!IÑIˆEØ—‘×'Ñ'×4Ñ4°X¸uÕEØ—]‘]×/Ñ/°¸%Õ@Ø&*§i¡i°4·>±>Ñ&A�Oæ*ð3Ø×/Ñ/Ø $§¡°	¸4¿=¹=×;TÑ;Tôö 'Ø%×1Ñ1Ó3˜ð  $Ÿ~™~°·±Ó:ð !ŸMšMà!)×!2Ñ!2ð %ð
 )¨¯©Ñ8˜Þ%Ü#4°S¸!Ó#<˜DØŸL™L¨Õ.ä#/°°QÓ#7˜DØŸF™F 4œL÷1 A÷ FÒEò; %ùó$øô(  .ó 3Ø.2šOð3ú÷ AÕ@ú÷ F×EúsO   Ç"N'ÊOÊ$!N?Ë1N-Ë7BN?ÎOÎ-N<	Î9N?Î;N<	Î<N?Î?
OÏ	OÏ
O 	c                 ó(   • U R                  US5        g )NF©r"  r±   s     r8   r³   Ú_TTGlyphVARC.draw�  s   € Ø�
‰
�3˜ÕrM   c                 ó(   • U R                  US5        g )NTr%  r±   s     r8   r¹   Ú_TTGlyphVARC.drawPoints’  s   € Ø�
‰
�3˜ÕrM   rd   N)r\   r]   r^   r_   r"  r³   r¹   rc   rd   rM   r8   rœ   rœ   @  s   † òL)ò\õrM   rœ   Tr   c                óH  • [        U5      S:¼  d   eUS   S   nUS   S   nUS   S   nUS   S   n[        S5       H  nUS	 M     U R                  5       (       a�  [        U5      [        U R                  5      :X  d   eU R                   V	s/ s H  n	[	        U	5      PM     sn	U l        [        XR                  5       H'  u  p©[        U	S5      (       d  M  U
u  U	l        U	l        M)     OLU R                  S:X  a  [        U5      S:X  d   eO*[        U5      [        U R                  5      :X  d   eXl
        U(       a  U R                  U5        [        XT-
  5      n[        Xg-
  5      n[        U R                  U-
  5      n[        X`R                  -
  5      nUUUU4$ s  sn	f )	Nrå   éüÿÿÿr   éýÿÿÿéþÿÿÿrD   éÿÿÿÿÚx)rU   rÕ   ÚisCompositer  r   r  rÉ   r.  ÚyÚnumberOfContoursrÔ   r   r   rÇ   ÚyMax)rÀ   Úcoordrk   r   Ú	leftSideXÚ
rightSideXÚtopSideYÚbottomSideYr×   r  ÚpÚhorizontalAdvanceWidthÚverticalAdvanceWidthÚleftSideBearingÚtopSideBearings                  r8   rÖ   rÖ   –  s�  € äˆu‹:˜‹?Ðˆ?Ø�b‘	˜!‘€IØ�r‘˜1‘€JØ�R‰y˜‰|€HØ˜‘)˜A‘,€Kä�1ŽXˆØ�"ŠIñ ð ×Ñ×ÑÜ�5‹zœS ×!1Ñ!1Ó2Ó2Ð2Ð2Ø38×3CÒ3CÓDÒ3C¨4œD žJÑ3CÑDˆÔÜ˜5×"2Ñ"2Ö3‰GˆAÜ�t˜S×!Ó!Ø!"‘�”˜žò 4ð 
×	Ñ	 1Ó	$Ü�5‹z˜Q‹Ð‰ä�5‹zœS ×!2Ñ!2Ó3Ó3Ð3Ð3Ø!ÔæØ×Ñ˜9Ô%ä$ ZÑ%;Ó<ÐÜ" 8Ñ#9Ó:ÐÜ˜eŸj™j¨9Ñ4Ó5€OÜ˜X¯
©
Ñ2Ó3€NàØØØð	ð ùò# Es   ÂFc                   ó:   • \ rS rSrSrS
S jrS rS rS rS r	Sr
g	)ÚLerpGlyphSeti¼  a  A glyphset that interpolates between two other glyphsets.

Factor is typically between 0 and 1. 0 means the first glyphset,
1 means the second glyphset, and 0.5 means the average of the
two glyphsets. Other values are possible, and can be useful to
extrapolate. Defaults to 0.5.
c                 ó(   • Xl         X l        X0l        g r=   )Ú	glyphset1Ú	glyphset2Úfactor)r6   r@  rA  rB  s       r8   r9   ÚLerpGlyphSet.__init__Å  s   € Ø"ŒØ"ŒØ�rM   c                 ój   • XR                   ;   a  XR                  ;   a  [        X5      $ [        U5      er=   )r@  rA  Ú	LerpGlyphÚKeyError©r6   Ú	glyphnames     r8   rr   ÚLerpGlyphSet.__getitem__Ê  s+   € ØŸ™Ó&¨9¿¹Ó+FÜ˜YÓ-Ð-Ü�yÓ!Ð!rM   c                 óH   • XR                   ;   =(       a    XR                  ;   $ r=   )r@  rA  rG  s     r8   rK   ÚLerpGlyphSet.__contains__Ï  s   € ØŸN™NÑ*×J¨y¿N¹NÑ/JÐJrM   c                 óŠ   • [        U R                  5      n[        U R                  5      n[        UR	                  U5      5      $ r=   )Úsetr@  rA  rO   Úintersection©r6   Úset1Úset2s      r8   rR   ÚLerpGlyphSet.__iter__Ò  s4   € Ü�4—>‘>Ó"ˆÜ�4—>‘>Ó"ˆÜ�D×%Ñ% dÓ+Ó,Ð,rM   c                 óŠ   • [        U R                  5      n[        U R                  5      n[        UR	                  U5      5      $ r=   )rM  r@  rA  rU   rN  rO  s      r8   rV   ÚLerpGlyphSet.__len__×  s4   € Ü�4—>‘>Ó"ˆÜ�4—>‘>Ó"ˆÜ�4×$Ñ$ TÓ*Ó+Ð+rM   )rB  r@  rA  N)g      à?)r\   r]   r^   r_   r`   r9   rr   rK   rR   rV   rc   rd   rM   r8   r>  r>  ¼  s!   † ñôò
"ò
Kò-õ
,rM   r>  c                   ó    • \ rS rSrS rS rSrg)rE  iÝ  c                 ó   • X l         Xl        g r=   )ÚglyphsetrH  )r6   rH  rW  s      r8   r9   ÚLerpGlyph.__init__Þ  s   € Ø ŒØ"�rM   c                 óÊ  • [        U R                  R                  5      nU R                  R                  U R                     R	                  U5        [        U R                  R
                  5      nU R                  R
                  U R                     R	                  U5        U R                  R                  n[        [        UR                  UR                  U5      U5        g r=   )
r   rW  r@  rH  r³   rA  rB  r   r   r�   )r6   r²   Ú
recording1Ú
recording2rB  s        r8   r³   ÚLerpGlyph.drawâ  s›   € Ü,¨T¯]©]×-DÑ-DÓEˆ
Ø�‰×Ñ §¡Ñ/×4Ñ4°ZÔ@Ü,¨T¯]©]×-DÑ-DÓEˆ
Ø�‰×Ñ §¡Ñ/×4Ñ4°ZÔ@à—‘×%Ñ%ˆäœ z×'7Ñ'7¸×9IÑ9IÈ6ÓRÐTWÕXrM   )rH  rW  N)r\   r]   r^   r_   r9   r³   rc   rd   rM   r8   rE  rE  Ý  s   † ò#õYrM   rE  N)*r`   Úabcr   r   Úcollections.abcr   Ú
contextlibr   r   r   Útypesr	   ÚfontTools.misc.vectorr
   ÚfontTools.misc.fixedToolsr   r   r  ÚfontTools.misc.loggingToolsr   ÚfontTools.misc.transformr   r   ÚfontTools.pens.transformPenr   r   ÚfontTools.pens.recordingPenr   r   r   r   rf   rx   r’   r    rq   r…   rî   rœ   rÖ   r>  rE  rd   rM   r8   Ú<module>rg     sÊ   ðÙ %ç #Ý #Ý %ß Ý !Ý (ß DÝ 9ß Cß G÷ñ ôJ/�'ô J/ôZM�kô Mô!0�[ô !0ôH
-�kô 
-ô)*ˆsô )*ôXJ�8ô JôZN�(ô Nò ôFS�8ô Sðl >Bõ #ôL,�7ô ,÷BYò YrM   