+
    i                        R t ^ RIHt ^ RIHtHtHt ^ RIt^ RI	H
t
HtHtHt ^ RIHtHtHt ^ RIHt R R ltR	 R
 ltR R ltR R ltR R ltR# )zFExtra methods for DesignSpaceDocument to generate its STAT table data.)annotations)DictListUnionN)AxisLabelDescriptorDesignSpaceDocumentDesignSpaceDocumentErrorLocationLabelDescriptor)RegiongetVFUserRegionlocationInRegion)TTFontc               (    V ^8  d   QhRRRRRRRR/# )	   ttFontr   docr   vfNamestrreturnNone )formats   "u/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/varLib/stat.py__annotate__r      s)     $ $V $*= $s $t $    c                   VP                  4        F  pVP                  V8X  g   K   M	  \        RV 24      h\        W4      p\        ;QJ d6    R \        V P                  R4      RR4       4       F  '       g   K   RM+	  RM'! R \        V P                  R4      RR4       4       4      p\        P                  P                  P                  T \        W4      \        W4      VP                  e   VP                  VR7      # ^VR7      # )	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  >   "   T F  qP                   ^8H  x  K  	  R# 5i)   N)
platformID).0nrs   & r   	<genexpr>#buildVFStatTable.<locals>.<genexpr>,   s      %Mr%Ms   namenamesTF)macNamesr   )getVariableFontsr#   r   r   anygetattrget	fontToolsotlLibbuilderbuildStatTablegetStatAxesgetStatLocationselidedFallbackName)r   r   r   vfregionr%   s   &&&   r   buildVFStatTabler3      s    ""$77f % '4VH=
 	
 S%F s %,VZZ-?"%Msss %,VZZ-?"%M H ##22C %"%"8"8"D 3   KL 3  r   c               $    V ^8  d   QhRRRRRR/# r   r   r   
userRegionr
   r   z
List[Dict]r   )r   s   "r   r   r   9   s"      ( f  r   c                Z   \        R V P                   4       RR7      p. pV P                   FH  pVP                  e   VP                  VP                  4       K.  V^,          pVP                  V4       KJ  	  \	        V P                  V4       UUUu. uF  w  rE\        VP                  RVP                  /VP                  CTVP                   Uu. uF8  p\        VP                  VP                  /V4      '       g   K-  \        V4      NK:  	  upR7      NK  	  uppp# u upi u upppi )zReturn a list of axis dicts suitable for use as the ``axes``
argument to :func:`fontTools.otlLib.builder.buildStatTable()`.

.. versionadded:: 5.0
c              3  X   "   T F   qP                   f   K  VP                   x  K"  	  R # 5i)N)axisOrdering)r   axiss   & r   r!   getStatAxes.<locals>.<genexpr>B   s     Qxt3D3D			xs   **)defaulten)tagr#   orderingvalues)maxaxesr9   appendzipdictr>   r#   
labelNames
axisLabelsr   	userValue_axisLabelToStatLocation)r   r6   maxOrderingaxisOrderingsr:   r?   labels   &&     r   r.   r.   9   s    QsxxQK M(  !2!231K  - " "#((M: ;ND 			5T__5 "__,E#TYY$@*M 0(/,			
 ; 
s   ?D&*D!D!D&!D&c               $    V ^8  d   QhRRRRRR/# r5   r   )r   s   "r   r   r   [   s"      - 6 j r   c                   V P                    Uu/ uF  q"P                  VbK  	  ppV P                   UUUu. uF  p\        VP	                  V 4      V4      '       g   K&  \        RVP                  /VP                  CVP	                  V 4      P                  4        UUu/ uF  w  rVW5,          P                  VbK  	  upp\        V4      R7      NK  	  uppp# u upi u uppi u upppi )zReturn a list of location dicts suitable for use as the ``locations``
argument to :func:`fontTools.otlLib.builder.buildStatTable()`.

.. versionadded:: 5.0
r=   )r#   locationflags)
rC   r#   locationLabelsr   getFullUserLocationrF   rG   itemsr>   _labelToFlags)r   r6   r:   
axesByNamerM   r#   values   &&     r   r/   r/   [   s     /2hh7hd))T/hJ7 '' (EE55c:JG		


7e&6&67
 $)#<#<S#A#G#G#I#IKD  $$e+#I  &		
 (  8s#   C#C#A C#C<C#C#c                    V ^8  d   QhRRRR/# )r   rM   z3Union[AxisLabelDescriptor, LocationLabelDescriptor]r   intr   )r   s   "r   r   r   r   s      L QT r   c                v    ^ pV P                   '       d
   V^,          pV P                  '       d
   V^,          pV# )    )olderSiblingelidable)rM   rQ   s   & r   rU   rU   r   s3    E
~~~
Lr   c                    V ^8  d   QhRRRR/# )r   rM   r   r   r   r   )r   s   "r   r   r   {   s     ; ;;	;r   c                   V P                  4       pR V P                  /V P                  Cp\        V 4      pV^8X  d   \	        W P
                  VR7      # V^8X  d$   \	        VV P
                  V P                  VR7      # V^8X  dU   \	        VV P
                  VR7      pV P                  e   V P                  VR&   V P                  e   V P                  VR&   V# \        R4      h)r=   )r#   rW   rQ   )r#   rW   linkedValuerQ   )r#   nominalValuerQ   rangeMinValuerangeMaxValuezUnknown STAT label format)
	getFormatr#   rG   rU   rF   rI   linkedUserValueuserMinimumuserMaximumNotImplementedError)rM   label_formatr#   rQ   ress   &    r   rJ   rJ   {   s     ??$L%**1 0 01D% Eq__EBBq//--	
 	
 q

 (#(#4#4C (#(#4#4C 

9
::r   )__doc__
__future__r   typingr   r   r   fontTools.otlLib.builderr*   fontTools.designspaceLibr   r   r   r	   fontTools.designspaceLib.typesr
   r   r   fontTools.ttLibr   r3   r.   r/   rU   rJ   r   r   r   <module>rr      sE    L " $ $   U T "$ND.;r   