+
    f7i  c                   s    ^ RI Ht ^ RIHtHtHt ^RIHt ^ RIt^ RI	H
t
 Rt ! R R]
4      t ! R	 R
]P                  4      tR# )    )sstruct)bytechrbyteordstrjoin)DefaultTableN)Mappingz>
	>   # big endian!
	version:	H
	numRecords:	H
	recordSize:	l
c                   s>   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )_GlyphnamedListc                s2    W n         \        V4      V n        R # N)_arrayZdict_map)selfZreverseGlyphOrderdatas   &&&F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/_h_d_m_x.py__init__Z_GlyphnamedList.__init__   s    *+	    c                sJ    V P                   V P                  V,          ,          # r   r	   r
   )r   Zks   &&r   __getitem__Z_GlyphnamedList.__getitem__   s    {{499Q<((r   c                ,    \        V P                  4      # r   )lenr
   r      &r   __len__Z_GlyphnamedList.__len__   s    499~r   c                r   r   )Ziterr
   r   r   r   __iter__Z_GlyphnamedList.__iter__   s    DIIr   c                s6    V P                   P                  4       # r   )r
   keysr   r   r   r   Z_GlyphnamedList.keys   s    yy~~r   r   N)__name__
__module____qualname____firstlineno__r   r   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r   r      s#     ,)   r   r   c                   s<   a  ] tR t^!t o RtR tR tR tR tRt	V t
R# )table__h_d_m_xzHorizontal Device Metrics table

The ``hdmx`` table is an optional table that stores advance widths for
glyph outlines at specified pixel sizes.

See also https://learn.microsoft.com/en-us/typography/opentype/spec/hdmx
c                s   VR ,          P                   pVP                  4       p\        P                  ! \        W4      w  rQ/ V n        \        V P                  4       F|  p\        V^ ,          4      p\        V^,          4      p\        VP                  4       \        P                  ! RV^^V,            4      4      p	WP
                  V&   WP                  R pK~  	  R# )maxpZBN)	numGlyphsgetGlyphOrderr   Zunpack2hdmxHeaderFormathdmxZrange
numRecordsr   r   ZgetReverseGlyphMaparray
recordSize)
r   r   ttFontr#   
glyphOrderZdummyippemZmaxSizewidthss
   &&&       r   	decompileZtable__h_d_m_x.decompile*   s    6N,,	))+
oo&6C	t'A47#Dd1g&G$))+U[[d1q9}>U-VF %IIdO)*D (r   c                sp   ^ V n         VR,          P                  pVP                  4       p^^V,           ^,           ^,          ,          V n        V P                  ^,
          V,
          R,          p\	        V P
                  4      V n        \        P                  ! \        V 4      p\        V P
                  P                  4       4      pV Fi  w  rxV\        V4      ,           \        \        VP                  4       4      4      ,           pV F  p	W,          p
V\        V
4      ,           pK  	  WT,           pKk  	  V# )r    r"   s    )versionr#   r$   r)   r   r&   r'   r   Zpackr%   sorteditemsr   maxZvalues)r   r*   r#   r+   Zpadr   r2   r-   r.   	glyphNameZwidths   &&         r   compileZtable__h_d_m_x.compile9   s    6N,,	))+
I 1a78"Y.%7dii.||,d3tyy()!LD'$-''#fmmo2F*GGD'	)gen, ( :D " r   c                s   VP                  R 4       VP                  4        \        V P                  P	                  4       4      p. pRpV F0  pV P                  V,          pVP                  V4       VR,           pK2  	  VP                  4       R,          pVP                  4        \        \        \        V4      4      p	R\        V	4      ,           R,           V,           R,           pVP                  VR
\        V4      ,           ,          4       VP                  4        VP                  4        V F  p
. pV F-  pV P                  V,          pVP                  Wz,          4       K/  	  RV
9   d!   RP                  V
P                  R4      4      p
VP                  WZ3\        V4      ,           ,          4       VP                  4        K  	  VP!                  R 4       VP                  4        R	# )hdmxData z%4d:NNNZ%zs:z ;;z\x3bN)r-   )ZbegintagZnewliner1   r&   r   Zappendr$   Zsortr3   mapr   ZreprZwriteZtupleZjoinsplitZendtag)r   Zwriterr*   ppemsZrecordsZformatr-   r.   Z
glyphNamesZ
maxNameLenr4   Zrows   &&&         r   toXMLZtable__h_d_m_x.toXMLJ   sq   
#tyy~~'(DYYt_FNN6"e^F  ))+A.
S*-.
tJ''$.7$>Vy5<789#IC4

6,-  i#LL)=>	LL<%*#<=>NN $ 	j!r   c                s   VR 8w  d   R# \        V4      pVP                  R4      pV^ ,          P                  4       p\        \        \        VR,          4      4      p/ ;V n        pV F  p	/ W&   K	  	  R VR,           4       pV F  p
V
'       g   K  V
^ ,          RR pRV9   d   ^ RIHp V! RV,           R,           4      p\        \        \        V
R,          4      4      p
\        V4       F  w  rW,          W,          V&   K  	  K  	  R# )	r6   Nr8   :i   NNc              3   s@   "   T F  qP                  4       x  K  	  R # 5ir   )r:   )Z.0lines   & r   Z	<genexpr>Z)table__h_d_m_x.fromXML.<locals>.<genexpr>r   s     4)$)s   Z\)safeEvalz"""i)	r   r:   Zlistr9   Zintr&   fontTools.misc.textToolsr>   Z	enumerate)r   ZnameZattrsZcontentr*   ZlinesZtopRowr;   r&   r-   r=   r4   r>   r,   s   &&&&&         r   fromXMLZtable__h_d_m_x.fromXMLg   s    :'"c"q!SfRj)*	DDDJ 4%)4DQIy =$UY%6%>?	Cb*+D$U+(,
9% , r   )r&   r'   r)   r0   N)r   r   r   r   Z__doc__r/   r5   r<   r@   r   r   r   r    r   r!   r!   !   s#     4":0 0r   r!   )ZfontTools.miscr   r?   r   r   r   r7   r   r(   Zcollections.abcr   r%   r   r!   ) r   r   <module>rA      s?    " > >   #  g  $^0\.. ^0r   