ó
    oñ:iË  ã                  ó¢   • S r SSKJr  SSKJrJrJr  SSKrSSK	J
r
JrJrJr  SSKJrJrJr  SSKJr  SS jrSS	 jrSS
 jrSS jr    SS jrg)zFExtra methods for DesignSpaceDocument to generate its STAT table data.é    )Úannotations)ÚDictÚListÚUnionN)ÚAxisLabelDescriptorÚDesignSpaceDocumentÚDesignSpaceDocumentErrorÚLocationLabelDescriptor)ÚRegionÚgetVFUserRegionÚlocationInRegion)ÚTTFontc                ó�  • UR                  5        H  nUR                  U:X  d  M    O   [        SU 35      e[        X5      n[	        S [        U R                  S5      SS5       5       5      n[        R                  R                  R                  U [        X5      [        X5      UR                  b  UR                  US9$ SUS9$ )a†  Build the STAT table for the variable font identified by its name in
the given document.

Knowing which variable we're building STAT data for is needed to subset
the STAT locations to only include what the variable font actually ships.

.. versionadded:: 5.0

.. seealso::
    - :func:`getStatAxes()`
    - :func:`getStatLocations()`
    - :func:`fontTools.otlLib.builder.buildStatTable()`
z&Cannot find the variable font by name c              3  ó>   #   • U  H  oR                   S :H  v •  M     g7f)é   N)Ú
platformID)Ú.0Únrs     ÚX/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/varLib/stat.pyÚ	<genexpr>Ú#buildVFStatTable.<locals>.<genexpr>,   s   é € ð Ú%M˜r�‰˜ÖÒ%Mùs   ‚ÚnameÚnames© é   )ÚmacNames)ÚgetVariableFontsr   r	   r   ÚanyÚgetattrÚgetÚ	fontToolsÚotlLibÚbuilderÚbuildStatTableÚgetStatAxesÚgetStatLocationsÚelidedFallbackName)ÚttFontÚdocÚvfNameÚvfÚregionr   s         r   ÚbuildVFStatTabler-      sß   € ð ×"Ñ"Ö$ˆØ�7‰7�fÕÙñ %ô 'Ø4°V°HÐ=ó
ð 	
ô ˜SÓ%€Fô ñ Ü%,¨V¯Z©Z¸Ó-?ÀÈ"Ô%Móó €Hô ×Ñ×#Ñ#×2Ñ2ØÜ�CÓ Ü˜Ó%Ø"%×"8Ñ"8Ñ"Dˆ×ÑØð 3ð ð ð KLØð 3ð ð ó    c                óF  • [        S U R                   5       SS9n/ nU R                   HC  nUR                  b  UR                  UR                  5        M-  US-  nUR                  U5        ME     [	        U R                  U5       VVVs/ s H€  u  pE[        UR                  SUR                  0UR                  EUUR                   Vs/ s H7  n[        UR                  UR                  0U5      (       d  M,  [        U5      PM9     snS9PM‚     snnn$ s  snf s  snnnf )z“Return a list of axis dicts suitable for use as the ``axes``
argument to :func:`fontTools.otlLib.builder.buildStatTable()`.

.. versionadded:: 5.0
c              3  óV   #   • U  H  oR                   c  M  UR                   v •  M!     g 7f)N)ÚaxisOrdering)r   Úaxiss     r   r   ÚgetStatAxes.<locals>.<genexpr>B   s   é € ÐQ¢x˜t×3DÑ3DÓ	ˆ×	Ö	¢xùs   ‚)–)éÿÿÿÿ)Údefaultr   Úen)Útagr   ÚorderingÚvalues)ÚmaxÚaxesr1   ÚappendÚzipÚdictr7   r   Ú
labelNamesÚ
axisLabelsr   Ú	userValueÚ_axisLabelToStatLocation)r)   Ú
userRegionÚmaxOrderingÚaxisOrderingsr2   r8   Úlabels          r   r%   r%   9   s  € ô ÙQ s§x¢xÓQØñ€Kð €MØ—”ˆØ×ÑÑ(Ø× Ñ  ×!2Ñ!2Ö3à˜1ÑˆKØ× Ñ  Ö-ñ ô" " #§(¡(¨MÔ:õò ;‰NˆDô 	Ø—‘Ø˜Ÿ	™	Ð5 T§_¡_Ð5Øð "Ÿ_š_óâ,�EÜ# T§Y¡Y°·±Ð$@À*×Mó 0Ô(¨Ö/Ù,ñô			
ñ ;óð ùò
ùôs   ÂA DÃ+DÃ:DÄ		DÄDc                óÊ  • U R                    Vs0 s H  o"R                  U_M     nnU R                   VVVs/ s H�  n[        UR	                  U 5      U5      (       d  M%  [        SUR                  0UR                  EUR	                  U 5      R                  5        VVs0 s H  u  pVX5   R                  U_M     snn[        U5      S9PM’     snnn$ s  snf s  snnf s  snnnf )zœReturn a list of location dicts suitable for use as the ``locations``
argument to :func:`fontTools.otlLib.builder.buildStatTable()`.

.. versionadded:: 5.0
r6   )r   ÚlocationÚflags)
r;   r   ÚlocationLabelsr   ÚgetFullUserLocationr>   r?   Úitemsr7   Ú_labelToFlags)r)   rC   r2   Ú
axesByNamerF   r   Úvalues          r   r&   r&   [   sÛ   € ð /2¯hªhÓ7ªh d—)‘)˜T’/©h€JÐ7ð ×'Ò'õò (ˆEÜ˜E×5Ñ5°cÓ:¸J×Gó		
ŒØ˜Ÿ
™
Ð7 e×&6Ñ&6Ð7ð
 $)×#<Ñ#<¸SÓ#A×#GÑ#GÔ#Iôâ#I‘K�Dð Ñ ×$Ñ$ eÒ+Ù#Iòô   Ó&ô		
ñ (óð ùò 8ùóùôs#   �C·$CÁA CÂCÂ:CÃCc                ób   • SnU R                   (       a  US-  nU R                  (       a  US-  nU$ )Nr   r   r   )ÚolderSiblingÚelidable)rF   rI   s     r   rM   rM   r   s.   € Ø€EØ××Ø�‰
ˆØ‡~‡~Ø�‰
ˆØ€Lr.   c                ó¬  • U R                  5       nSU R                  0U R                  En[        U 5      nUS:X  a  [	        X R
                  US9$ US:X  a   [	        UU R
                  U R                  US9$ US:X  aO  [	        UU R
                  US9nU R                  b  U R                  US'   U R                  b  U R                  US	'   U$ [        S
5      e)Nr6   r   )r   rO   rI   é   )r   rO   ÚlinkedValuerI   r   )r   ÚnominalValuerI   ÚrangeMinValueÚrangeMaxValuezUnknown STAT label format)
Ú	getFormatr   r?   rM   r>   rA   ÚlinkedUserValueÚuserMinimumÚuserMaximumÚNotImplementedError)rF   Úlabel_formatr   rI   Úress        r   rB   rB   {   sã   € ð —?‘?Ó$€LØ�%—*‘*Ð1 × 0Ñ 0Ð1€DÜ˜%Ó €EØ�qÓÜ˜§_¡_¸EÑBÐBØ�qÓÜØØ—/‘/Ø×-Ñ-Øñ	
ð 	
ð �qÓÜØØŸ™Øñ
ˆð
 ×ÑÑ(Ø#(×#4Ñ#4ˆC�Ñ Ø×ÑÑ(Ø#(×#4Ñ#4ˆC�Ñ Øˆ
Ü
Ð9Ó
:Ð:r.   )r(   r   r)   r   r*   ÚstrÚreturnÚNone)r)   r   rC   r   ra   z
List[Dict])rF   z3Union[AxisLabelDescriptor, LocationLabelDescriptor]ra   Úint)rF   r   ra   r   )Ú__doc__Ú
__future__r   Útypingr   r   r   ÚfontTools.otlLib.builderr!   ÚfontTools.designspaceLibr   r   r	   r
   ÚfontTools.designspaceLib.typesr   r   r   ÚfontTools.ttLibr   r-   r%   r&   rM   rB   r   r.   r   Ú<module>rk      sU   ðÙ Lå "ç $Ñ $ã ÷ó ÷ UÑ TÝ "ô$ôNôDô.ð;Øð;à	õ;r.   