+
    f7i  c                   sp    ^ RI Ht ^ RIHt ^ RIHtHt ^RI	H
t
 ^ RItRt ! R R]
P                  4      tR# )	i    )sstruct)safeEval)ensureVersionIsLongversionToFixed)DefaultTableNa  
		>  # big endian
		tableVersion:           L
		ascent:                 h
		descent:                h
		lineGap:                h
		advanceWidthMax:        H
		minLeftSideBearing:     h
		minRightSideBearing:    h
		xMaxExtent:             h
		caretSlopeRise:         h
		caretSlopeRun:          h
		caretOffset:            h
		reserved0:              h
		reserved1:              h
		reserved2:              h
		reserved3:              h
		metricDataFormat:       h
		numberOfHMetrics:       H
c                   s   a  ] tR t^!t o Rt. ROt]R 4       t]P                  R 4       t]R 4       t	]	P                  R 4       t	R t
R tR tR	 tR
 tRtV tR# )table__h_h_e_aa%  Horizontal Header table

The ``hhea`` table contains information needed during horizontal
text layout.

.. note::
   This converter class is kept in sync with the :class:`._v_h_e_a.table__v_h_e_a`
   table constructor.

See also https://learn.microsoft.com/en-us/typography/opentype/spec/hhea
c                    V P                   # Nascentself   &F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/_h_h_e_a.pyascendertable__h_h_e_a.ascender3   s    {{    c                    Wn         R # r   r   r   value   &&r   r   r   7   s    r   c                r   r   descentr
   r   r   	descendertable__h_h_e_a.descender;   s    ||r   c                r   r   r   r   r   r   r   r   ?   s    r   c                s<    \         P                  ! \        W4       R # r   )r    Zunpack
hheaFormat)r   ZdatattFonts   &&&r   	decompileZtable__h_h_e_a.decompileC   s    z4.r   c                s<   VP                   '       dW   VP                  R 4      '       g/   VP                  R4      '       g   VP                  R4      '       d   V P                  V4       \        V P                  4      V n        \
        P                  ! \        V 4      # )glyfCFF CFF2)ZrecalcBBoxesZisLoadedrecalcfi2vetableVersionr    Zpackr   )r   r   r   r   compileZtable__h_h_e_a.compileF   sk    OOF##v&&v&&KK!$"3"34||J--r   c                s   R V9  d   R# VR ,          p\        R VP                  P                  4        4       4      V n        / pRV9   d   VR,          pVP	                  4        Fq  pWE,          pVP
                  ^ 8X  d   K  VP
                  ^ 8  d$   \        VR4      '       g   VP                  V4       VP                  VP                  ,
          W5&   Ks  	  MRV9   g   RV9   d   RV9   d&   VR,          P                  P                  ^ ,          pM$VR,          P                  P                  ^ ,          pVP                  pVP	                  4        Fl  pW,          p	V	P                  V4      p
V
f   K"  \        \        P                   ! V
^,          4      \        P"                  ! V
^ ,          4      ,
          4      W5&   Kn  	  V'       d   \%        R4      p\%        R4      p\%        R4      ) pVP'                  4        FM  w  r^W%,          w  ppVV,
          V,
          pVV,           p\)        VV4      p\)        VV4      p\        VV4      pKO  	  Wn        Wn        Wn        R# ^ V n        ^ V n        ^ V n        R# )hmtxNc              3   s*   "   T F	  w  rVx  K  	  R # 5ir    )Z.0ZadvZ_s   &  r   Z	<genexpr>Z(table__h_h_e_a.recalc.<locals>.<genexpr>U   s     "P5O6335Os   r   xMaxr   r   Zinf)ZmaxZmetricsZvaluesadvanceWidthMaxZgetGlyphOrderZnumberOfContoursZhasattrZrecalcBoundsr%   ZxMinZcffZtopDictIndexZCharStringsZ
calcBoundsZintmathZceilZfloorZfloatZitemsZminminLeftSideBearingminRightSideBearing
xMaxExtent)r   r   Z	hmtxTableZboundsWidthDictZ	glyfTablenameZgZtopDictZcharStringsZcsZboundsr(   r)   r*   ZboundsWidthZadvanceWidthZlsbZrsbZextents   &&                 r   r   Ztable__h_h_e_a.recalcP   s   6N	""PY5F5F5M5M5O"PPVvI,,.O%%*%%)'!V2D2D NN9-()% / v6!1 .,,99!< .,,99!<!--K,,. &{3%,/		&),tzz&)/DD-O)	 / !&u"',,J%4%:%:%<!$-O!c"S(;6{*%();S%A"&)*=s&C# V4
 &= '9#':$(O '(D#'(D$DOr   c                s    \         P                  ! \        4      w  r4pV FK  p\        W4      pVR 8X  d   \	        V4      pRV,          pVP                  WgR7       VP                  4        KM  	  R# )r!   z0x%08x)r   N)r    Z	getformatr   Zgetattrr    Z	simpletagZnewline)r   Zwriterr   ZformatstringZnamesZfixesr+   r   s   &&&     r   toXMLZtable__h_h_e_a.toXML   sa    %,%6%6z%B"UDD'E~%e 5(T/NN r   c                s    VR 8X  d   \        W\        VR,          4      4       R# \        W\        VR,          4      4       R# )r!   r   N)Zsetattrve2fir   )r   r+   ZattrsZcontentr   s   &&&&&r   fromXMLZtable__h_h_e_a.fromXML   s3    >!DeGn 56HU7^45r   )r&   r	   r   r(   r)   r!   r*   N)r#   r   r   r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__ZdependenciesZpropertyr   Zsetterr   r   r"   r   r,   r.   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   !   s     
 4L   __     /.3 j6 6r   r   )ZfontTools.miscr    ZfontTools.misc.textToolsr   ZfontTools.misc.fixedToolsr   r    r   r-   Z r   r'   r   r   r$   r   r   <module>r/      s3    " -  
,r6\.. r6r   