+
    f7i  c                   s    ^ RI Ht ^ RIHt ^RIHt ^ RItRtRt]P                  ! ]4      t
]P                  ! ]4      t ! R R]4      tR# )	    )sstruct)safeEval)GlyphNz
	>
	ppem:          H	# The PPEM for which this strike was designed (e.g., 9,
						# 12, 24)
	resolution:    H	# The screen resolution (in dpi) for which this strike
						# was designed (e.g., 72)
zz
	>
	glyphDataOffset:   L	# Offset from the beginning of the strike data record
							# to data for the individual glyph
c                   sB   a  ] tR t^t o RR ltR tR tR tR tRt	V t
R# )	StrikeNc                s8    Wn         W n        W0n        / V n        R # )N)datappem
resolutionglyphs)selfrawdatar   r   s   &&&&H/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/sbixStrike.py__init__ZStrike.__init__   s    		$    c                s4   V P                   f   ^ RIHp VP                  h\	        V P                   4      \
        8  d5   ^ RIHp VP                  R3\
        \	        V P                   4      3,          h\        P                  ! \        V P                   R \
         V 4       \        P                  ! RV P                   \
        \
        \        ,            4      w  pV\
        ,
          \        ,          ^,
          V n        . V n        \        V P                  ^,           4       Ff  pV\        ,          \
        ,           p\        P                  ! RV P                   WU\        ,            4      w  pV P                  P                  V4       Kh  	  \        V P                  4       Fo  p\        V P                   V P                  V,          V P                  V^,           ,           VR7      pVP!                  V4       WpP"                  VP$                  &   Kq  	  V =V =V = R # )NttLibz-Strike header too short: Expected %x, got %x.z>L)r
   Zgid)r   	fontToolsr   
TTLibErrorlensbixStrikeHeaderFormatSizer   ZunpacksbixStrikeHeaderFormatstructsbixGlyphDataOffsetFormatSize	numGlyphsglyphDataOffsetsZrangeZappendr   	decompiler   	glyphName)r	   ttFontr   ZfirstGlyphDataOffsetZiZstartZcurrent_offsetcurrent_glyphs   &&      r   r   ZStrike.decompile   s   99'"""tyy>66'   ? ,S^<= = 	"DII.I/I$JD	

 #)--II*-G/.0#
	 !#==*+-./ !#NNQ
A 558RRE &dii0M(MN!^ !!((8
 t~~&A!		))!,t/D/DQU/K 	M ##F+3@KK//0 ' !NIr   c                s@   R V n         R V n        VP                  4       p\        \        \        V4      ^,           ,          ,           pV F  pW@P                  9   d   V P                  V,          pM\        VR7      pVP                  V4       W5n	        V ;P                  VP                  ,          un        V\        VP                  4      ,          pV ;P                   \        P                  ! \        V4      ,          un         K  	  \        4       pW6n	        V ;P                   \        P                  ! \        V4      ,          un         \        P                  ! \        V 4      V n        V ;P                  V P                   V P                  ,           ,          un        R# )r   )r   N)r   
bitmapDatagetGlyphOrderr   r   r   r   r   compileZglyphDataOffsetr
   r   ZpacksbixGlyphDataOffsetFormatr   r   )r	   r   
glyphOrderZcurrentGlyphDataOffsetr   r   Zdummys   &&     r   r   ZStrike.compileW   s-    #))+
 '+s:/BCD 	 $IKK' $I 6 !&	 :!!&),B)OO}444O"c-*?*?&@@"!!W\\)=& ! $   6.G!OO LL!7>			T**T__<<	r   c                s   VP                  R 4       VP                  4        VP                  RV P                  R7       VP                  4        VP                  RV P                  R7       VP                  4        VP                  4       pV F7  pW@P                  9   g   K  V P                  V,          P                  W4       K9  	  VP                  R 4       VP                  4        R# )Zstriker   )valuer   N)	ZbegintagZnewlineZ	simpletagr   r   r   r   toXMLZendtag)r	   Z	xmlWriterr   r!   r   s   &&&  r   r#   ZStrike.toXML{   s    8$F$))4L@))+
#IKK'I&,,Y? $ 	"r   c                s   VR9   d   \        W\        VR,          4      4       R# VR8X  Ed<   RV9   d"   \        RVR,          ,           R,           4      pMRpRV9   d"   \        RVR,          ,           R,           4      pM?RV9   d"   \        RVR,          ,           R,           4      pM^ RIHp VP	                  R	4      hR
V9   d   \        VR
,          4      pM^ pRV9   d   \        VR,          4      p	M^ p	\        VVVV	R7      p
V FC  p\        V\        4      '       g   K  Vw  rpV
P                  WW44       V
P                  V4       KE  	  WP                  V
P                  &   R# ^ RIHp VP	                  RV,          4      h)r   r"   ZglyphgraphicTypez'''NZ	glyphnamenamer   zGlyph must have a glyph name.originOffsetXoriginOffsetY)r   r$   r&   r'   zcan't handle '%s' element)r   r   )Zsetattrr   r   r   r   r   Z
isinstanceZtuplefromXMLr   r   r   )r	   r%   ZattrsZcontentr   ZmyFormatZmyGlyphNamer   Z	myOffsetXZ	myOffsetYr   Zelements   &&&&&       r   r(   ZStrike.fromXML   s^   ))Dw 89W_%#EE-,@$@5$HIe#&uu[/A'AE'IJ5&uuV}'<u'DE+&&'FGG%'$U?%;<		%'$U?%;<		!%$''	M #gu--+2(D!))$wG!))&1	 #
 4AKK//0'""#>#EFFr   )r   r   r   r   r   r   r   )Nr    iH   )Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r#   r(   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s'     6p"=H'G 'Gr   r   )ZfontTools.miscr   ZfontTools.misc.textToolsr   Z	sbixGlyphr   r   r   r    Zcalcsizer   r   Zobjectr   ) r   r   <module>r)      sW    " -     %--.DE  ' 0 01J K YGV YGr   