ó
    oñ:iF  ã                   ó  • S r SSKJrJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSKrSSKrSSKr\R                  " \5      rSS jrS	 rSS
 jrS rS rS rS rS rS rSS jr\S:X  a  SSKr\R8                  " \" 5       5        gg)z;Visualize DesignSpaceDocument and resulting VariationModel.é    )ÚVariationModelÚsupportScalar)ÚDesignSpaceDocument)Úpyplot)Úaxes3d)ÚcycleNc                 óÂ   • U u  p#n[        U5       Vs/ s H  oRX2-
  U-  U-  -   PM     sn[        U5       Vs/ s H  oSXC-
  U-  U-  -   PM     sn-   U/-   $ s  snf s  snf ©N)Úrange)ÚsupportÚcountÚaÚbÚcÚis         ÚX/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/varLib/plot.pyÚstopsr      so   € Ø�G€Aˆ!ô +0°¬,Ó7ª, Qˆa‰e�q‰[˜5Ñ Ô	 ©,Ñ7Ü,1°%¬LÓ
9ªL q�‘˜‰{˜UÑ"Ô"©LÑ
9ñ	:àˆ#ñ	ðùÚ7ùÚ
9s
   “A¸Ac                 óÆ  • [        U [        [        R                  R                  R
                  5      5       H¦  u  pE[        U5      S:X  a.  UR                  " UR                  US   S5      /S/S4SU0UD6  MB  [        U5      S:X  aC  UR                  " UR                  US   S5      /UR                  US   S5      /S/S4SU0UD6  M”  [        [        U5      5      e   g )Né   r   ç      ð?ÚoÚcoloré   )
Úzipr   r   ÚcmÚSet1ÚcolorsÚlenÚplotÚgetÚAssertionError)Ú	locationsÚaxesÚsubplotÚkwargsÚlocr   s         r   Ú_plotLocationsDotsr'      sÐ   € Ü˜)¤U¬6¯9©9¯>©>×+@Ñ+@Ó%AÖB‰
ˆÜˆt‹9˜‹>Ø�LŠL˜#Ÿ'™' $ q¡'¨1Ó-Ð.°°°sÑRÀ%ÐRÈ6ÔRÜ�‹Y˜!‹^Ø�LŠLØ—‘˜˜a™ !Ó$Ð%Ø—‘˜˜a™ !Ó$Ð%Ø�Øñ	ð
 ðð ôô !¤ T£Ó+Ð+ò Có    c                 óø  • [        U 5      n[        R                  " US-  5      n[        R                  " XE-  5      nUc  S /[        U 5      -  n[        U 5      n[	        [        U5      5       Vs/ s H  o‚UR
                  U      PM     nn[        U S   R                  5       5      n	[        U	5      S:X  a  [        XyS   XU4SU0UD6  g [        U	5      S:X  a  [        XyXU4SU0UD6  g [        S5      es  snf )Ng      à?r   r   Únamesr   úOnly 1 or 2 axes are supported)r   ÚmathÚceilr   r   ÚreverseMappingÚsortedÚkeysÚ_plotLocations2DÚ_plotLocations3DÚ
ValueError)
r"   Úfigr*   r%   ÚnÚcolsÚrowsÚmodelr   r#   s
             r   ÚplotLocationsr9   *   sè   € ÜˆI‹€AÜ�9Š9�Q˜‘VÓ€DÜ�9Š9�Q‘XÓ€Dà�}Ø�œ˜Y›Ñ'ˆä˜9Ó%€EÜ5:¼3¸u»:Ô5FÓGÒ5F°�5×'Ñ'¨Ñ*Ô+Ñ5F€EÐGä�)˜A‘,×#Ñ#Ó%Ó&€DÜ
ˆ4ƒy�Aƒ~Ü˜ Q¡¨°DÑPÀÐPÈÓPÜ	ˆT‹�a‹Ü˜ c°ÑM¸UÐMÀfÓMäÐ9Ó:Ð:ùò Hs   Á0C7c           	      óf  • UR                  S5      n[        [        U R                  [	        [
        R                  R                  R                  5      [	        U5      5      5       HÈ  u  nu  pšnUb  UR                  U5        UR                  U5        [
        R                  " SS5        U	R                  US5      n/ / pí[        U5       H2  n[        X0U	5      nUR                  U5        UR                  U5        M4     UR                   " XÞ4SU
0UD6  [#        U R$                  U/U5        MÊ     g )Néo   ç      ð¿r   ©r<   g        r   r   )Úadd_subplotÚ	enumerater   Úsupportsr   r   r   r   r   Ú	set_titleÚ
set_xlabelÚxlimr    r   r   Úappendr   r'   r"   )r8   Úaxisr4   r6   r7   r*   r%   r$   r   r   r   ÚnameÚXsÚXÚYÚxÚys                    r   r1   r1   >   sö   € Ø�o‰o˜cÓ"€GÜ%.ÜˆE�N‰NœE¤&§)¡)§.¡.×"7Ñ"7Ó8¼%À»,ÓGö&Ñ!ˆÑ!ˆG˜Dð ÑØ×Ñ˜dÔ#Ø×Ñ˜4Ô Ü�Š�D˜$Ôà�[‰[˜Ð0Ó1ˆØ�2ˆ1Ü�r–ˆAÜ˜t˜i¨Ó1ˆAØ�H‰H�QŒKØ�H‰H�QŽKñ ð 	�Š�QÑ1 Ð1¨&Ò1ä˜5Ÿ?™?¨T¨F°GÖ<ò!&r(   c           	      ó  • Uu  pxUR                  SSS9n	[        [        U R                  [	        [
        R                  R                  R                  5      [	        U5      5      5       GH   u  n
u  p¼nUb  U	R                  U5        U	R                  U5        U	R                  U5        [
        R                  " SS5        [
        R                  " SS5        UR                  US5      nUR                  US5      n[        U5       Hl  n/ / / nnnU HF  n[!        UUUU0U5      nUR#                  U5        UR#                  U5        UR#                  U5        MH     U	R$                  " UUU4SU0UD6  Mn     [        U5       Hl  n/ / / nnnU HF  n[!        UUUU0U5      nUR#                  U5        UR#                  U5        UR#                  U5        MH     U	R$                  " UUU4SU0UD6  Mn     ['        U R(                  Xx/U	5        GM£     g )Nr;   Ú3d©Ú
projectionr<   r   r=   r   )r>   r?   r   r@   r   r   r   r   r   rA   rB   Ú
set_ylabelrC   Úylimr    r   r   rD   r   r'   r"   )r8   r#   r4   r7   r6   r*   r%   Úax1Úax2Úaxis3Dr   r   r   rF   rG   ÚYsrJ   rH   rI   ÚZrK   Úzs                         r   r2   r2   S   sÏ  € Ø�H€Cà�_‰_˜S¨Tˆ_Ð2€FÜ%.ÜˆE�N‰NœE¤&§)¡)§.¡.×"7Ñ"7Ó8¼%À»,ÓG÷&Ñ!ˆÑ!ˆG˜Dð ÑØ×Ñ˜TÔ"Ø×Ñ˜#ÔØ×Ñ˜#ÔÜ�Š�D˜$ÔÜ�Š�D˜$Ôà�[‰[˜Ð/Ó0ˆØ�[‰[˜Ð/Ó0ˆÜ�r–ˆAØ˜"˜b�!ˆqˆAÛ�Ü! 3¨¨3°Ð"2°GÓ<�Ø—‘˜”Ø—‘˜”Ø—‘˜–ñ	 ð
 �KŠK˜˜1˜aÑ7 uÐ7°Ô7ñ ô �r–ˆAØ˜"˜b�!ˆqˆAÛ�Ü! 3¨¨3°Ð"2°GÓ<�Ø—‘˜”Ø—‘˜”Ø—‘˜–ñ	 ð
 �KŠK˜˜1˜aÑ7 uÐ7°Ô7ñ ô 	˜5Ÿ?™?¨S¨J¸×?ò;&r(   c                 óæ   • U R                  5         U R                   Vs/ s H  o3R                  PM     nnU R                   Vs/ s H  o3R                  PM     nn[	        XAU40 UD6  g s  snf s  snf r
   )Ú	normalizeÚsourcesÚlocationrF   r9   )Údocr4   r%   Úsr"   r*   s         r   ÚplotDocumentr^   w   sV   € Ø‡M�M„OØ%(§[¢[Ó1¢[ —”¡[€IÐ1Ø Ÿ[š[Ó)š[˜�VŒV™[€EÐ)Ü�) %Ñ2¨6Ó2ùò 2ùÚ)s   ŸA)ÁA.c                 ó¸  ^• [        U R                  5      S:X  d   eU R                  S   m[        U4S jU R                   5       5      n[	        U4S jU R                   5       5      nSS KnUR                  XEXT-
  S-  5      n/ nU H)  n	TU	0n
U R                  X¡5      nUR                  U5        M+     UR                  S5      nUR                  " XxS40 UD6  g )Nr   r   c              3   óF   >#   • U  H  oR                  TS 5      v •  M     g7f©r   N©r    ©Ú.0r&   rE   s     €r   Ú	<genexpr>Ú*_plotModelFromMasters2D.<locals>.<genexpr>‚   ó   øé € Ð?ª¨—7‘7˜4 ×#Ð#ªùó   ƒ!c              3   óF   >#   • U  H  oR                  TS 5      v •  M     g7fra   rb   rc   s     €r   re   rf   ƒ   rg   rh   éd   r;   Ú-)r   Ú	axisOrderÚminr"   ÚmaxÚnumpyÚarangeÚinterpolateFromMastersrD   r>   r   )r8   ÚmasterValuesr4   r%   Úaxis_minÚaxis_maxÚnprH   rI   rJ   r&   Úvr$   rE   s                @r   Ú_plotModelFromMasters2Drw   ~   sÁ   ø€ Üˆu�‰Ó 1Ó$Ð$Ð$Ø�?‰?˜1Ñ€DäÔ?¨u¯ªÓ?Ó?€HÜÔ?¨u¯ªÓ?Ó?€Hãà
�	‰	�( xÑ':¸cÑ&AÓB€AØ
€AãˆØ�QˆiˆØ×(Ñ(¨Ó;ˆØ	�‰�Žñ ð
 �o‰o˜cÓ"€GØ‡L‚L��sÑ%˜fÓ%r(   c                 ó6  ^^• [        U R                  5      S:X  d   eU R                  S   U R                  S   smm[        U4S jU R                   5       5      n[	        U4S jU R                   5       5      n[        U4S jU R                   5       5      n[	        U4S jU R                   5       5      nSS KnUR                  XEXT-
  S-  5      n	UR                  XgXv-
  S-  5      n
UR                  Xš5      u  pš/ n[        Xš5       HV  u  pÍ/ nUR                  U5        [        XÍ5       H/  u  nnTUTU0nU R                  UU5      nUR                  U5        M1     MX     UR                  U5      nUR                  S	S
S9nUR                  " XšU40 UD6  g )Nr   r   r   c              3   óF   >#   • U  H  oR                  TS 5      v •  M     g7fra   rb   ©rd   r&   Úaxis1s     €r   re   Ú*_plotModelFromMasters3D.<locals>.<genexpr>—   ó   øé € ÐA²¨#—G‘G˜E 1×%Ð%²ùrh   c              3   óF   >#   • U  H  oR                  TS 5      v •  M     g7fra   rb   rz   s     €r   re   r|   ˜   r}   rh   c              3   óF   >#   • U  H  oR                  TS 5      v •  M     g7fra   rb   ©rd   r&   Úaxis2s     €r   re   r|   ™   r}   rh   c              3   óF   >#   • U  H  oR                  TS 5      v •  M     g7fra   rb   r€   s     €r   re   r|   š   r}   rh   rj   r;   rM   rN   )r   rl   rm   r"   rn   ro   rp   Úmeshgridr   rD   rq   Úarrayr>   Úplot_surface)r8   rr   r4   r%   Ú	axis1_minÚ	axis1_maxÚ	axis2_minÚ	axis2_maxru   rH   rI   rV   Úrow_xÚrow_yÚz_rowrJ   rK   r&   rv   rT   r{   r�   s                       @@r   Ú_plotModelFromMasters3Dr�   “   sc  ù€ Üˆu�‰Ó 1Ó$Ð$Ð$Ø—?‘? 1Ñ% u§¡°qÑ'9€L€Eˆ5äÔA°·²ÓAÓA€IÜÔA°·²ÓAÓA€IÜÔA°·²ÓAÓA€IÜÔA°·²ÓAÓA€Iãà
�	‰	�)¨Ñ)>À#Ñ(EÓF€AØ
�	‰	�)¨Ñ)>À#Ñ(EÓF€AØ�;‰;�qÓ�D€AØ
€Aä˜Až	‰ˆØˆØ	�‰�ŒÜ˜Ö%‰DˆAˆqØ˜!˜U AÐ&ˆCØ×,Ñ,¨S°,Ó?ˆAØ�L‰L˜ŽOó &ñ "ð 	�‰�‹€Aà�_‰_˜S¨Tˆ_Ð2€FØ
×Ò˜˜aÑ* 6Ó*r(   c                 ó´   • [        U R                  5      S:X  a  [        XU40 UD6  g[        U R                  5      S:X  a  [        XU40 UD6  g[	        S5      e)z¦Plot a variation model and set of master values corresponding
to the locations to the model into a pyplot figure.  Variation
model must have axisOrder of size 1 or 2.r   r   r+   N)r   rl   rw   r�   r3   )r8   rr   r4   r%   s       r   ÚplotModelFromMastersr�   °   sP   € ô ˆ5�?‰?Ó˜qÓ Ü °SÑC¸FÓCÜ	ˆU�_‰_Ó	 Ó	"Ü °SÑC¸FÓCäÐ9Ó:Ð:r(   c                 óÈ  • SSK Jn  U c  [        R                  SS  n U" 5         [	        U 5      S:  at  [        S[        R                  S9  [        S5        [        S[        R                  S9  [        S5        [        S[        R                  S9  [        R                  " S5        [        R                  " 5       nUR                  S	5        [	        U 5      S:X  aD  U S   R                  S
5      (       a+  [        5       nUR                  U S   5        [        X25        GO$[        [!        S5      [!        S5      S-   5       Vs/ s H  n[#        U5      PM     nnSU S   ;  aG  U  Vs/ s H.  n[%        ['        US UR)                  S5       5       5      5      PM0     nn[+        Xr5        Oš/ n/ n	U  Hj  n
U
R)                  S5      u  p¼UR-                  [%        ['        US UR)                  S5       5       5      5      5        U	R-                  [/        U5      5        Ml     [1        X…S [	        US   5       5      n[3        XÙU5        [        R4                  " 5         g s  snf s  snf )Nr   )ÚconfigLoggerr   z/usage: fonttools varLib.plot source.designspace)Úfilez  orz4usage: fonttools varLib.plot location1 location2 ...zBusage: fonttools varLib.plot location1=value1 location2=value2 ...Tz.designspaceÚArV   Ú=c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr
   ©Úfloat©rd   rv   s     r   re   Úmain.<locals>.<genexpr>Ü   s   é € Ð#C²l°¤E¨!§H H²lùó   ‚Ú,c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr
   r–   r˜   s     r   re   r™   ã   s   é € Ð0RÂ>¸a´°q·°Â>ùrš   )Ú	fontToolsr‘   ÚsysÚargvr   ÚprintÚstderrÚexitr   ÚfigureÚset_tight_layoutÚendswithr   Úreadr^   r   ÚordÚchrÚdictr   Úsplitr9   rD   r—   r   r�   Úshow)Úargsr‘   r4   r\   r   r#   r]   Úlocsr"   rr   Úargr&   rv   r8   s                 r   Úmainr¯   ¼   sÔ  € Ý&à�|Ü�x‰x˜˜ˆ|ˆñ „Nô ˆ4ƒy�1ƒ}ÜÐ?ÄcÇjÁjÒQÜˆfŒÜÐDÌ3Ï:É:ÒVÜˆfŒÜØPÜ—‘ò	
ô 	�Š�Œä
�-Š-‹/€CØ×Ñ˜Ôä
ˆ4ƒy�Aƒ~˜$˜q™'×*Ñ*¨>×:Ñ:Ü!Ó#ˆØ�‰��a‘ÔÜ�SÖä %¤c¨#£h´°C³¸1±Ô =Ó>Ò =˜1”�A–Ñ =ˆÐ>Ø�d˜1‘gÓÙOSÓTÊtÈ!”Dœ˜TÑ#C°a·g±g¸c´lÓ#CÓDÖEÉtˆDÐTÜ˜$Õ$àˆIØˆLÛ�ØŸ™ 3›‘�Ø× Ñ ¤¤c¨$Ñ0RÀ3Ç9Á9ÈSÄ>Ó0RÓ&SÓ!TÔUØ×#Ñ#¤E¨!£HÖ-ñ ô # 9Ð3F´S¸À1¹Ó5FÐ.GÓHˆEÜ  °cÔ:ä
‡K‚K…Mùò ?ùâTs   ÅIÅ'5IÚ__main__)é
   r
   )Ú__doc__ÚfontTools.varLib.modelsr   r   ÚfontTools.designspaceLibr   Ú
matplotlibr   Úmpl_toolkits.mplot3dr   Ú	itertoolsr   r,   Úloggingrž   Ú	getLoggerÚ__name__Úlogr   r'   r9   r1   r2   r^   rw   r�   r�   r¯   r¢   © r(   r   Ú<module>r½      s…   ðÙ Aç AÝ 8Ý Ý 'Ý Û Û Û 
à×Ò˜Ó!€ôò,ô";ò(=ò*!@òH3ò&ò*+ò:	;ô,ð^ ˆzÓÛà‡H‚H‰T‹VÕð r(   