+
    f7iq  c                   s    R t ^ RIt^ RIt^ RIt^ RIHt ^RIHt ]P                  ! ]	4      t
 ! R R]P                  4      tR# )zTSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT)
tool to store its hinting source data.

TSI5 contains the VTT character groups.

See also https://learn.microsoft.com/en-us/typography/tools/vtt/tsi-tables
N)safeEval)DefaultTablec                   s8   a  ] tR t^t o R tR tR tR tRtV t	R# )table_T_S_I__5c           	     s   VR ,          P                   p\        P                  ! R4      pVP                  V4       \        P                  R8w  d   VP                  4        / V n        \        V4      ^,          pWS8w  d1   WS,
          p\        P                  R\        V4       RV RV R24       \        V4       F'  pWG,          V P                  VP                  V4      &   K)  	  R# )ZmaxpHbigzCNumber of entries differs from the number of glyphs in the font by z (z entries vs. z	 glyphs).N)	numGlyphsarrayZ	frombytessys	byteorderbyteswapglyphGroupingZlenlogZwarningZabsZrangeZgetGlyphName)selfZdatattFontr   aZ
numEntriesZdiffZis   &&&     F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/T_S_I__5.py	decompileZtable_T_S_I__5.decompile   s    6N,,	KK	D==E!JJLY!^
")DKK$i[:,mI;iQ z"A9:Dv22156 #    c                s    VP                  4       p\        P                  ! R 4      pV F.  pVP                  V P                  P	                  V^ 4      4       K0  	  \
        P                  R8w  d   VP                  4        VP                  4       # )r   r   )	ZgetGlyphOrderr   Zappendr
   Zgetr   r   r	   Ztobytes)r   r   Z
glyphNamesr   	glyphNames   &&   r   compileZtable_T_S_I__5.compile&   sh    ))+
KK#IHHT''++Iq9: $==E!JJLyy{r   c                s    \        V P                  P                  4       4      pV F7  pVP                  R W@P                  V,          R7       VP	                  4        K9  	  R# )
glyphgroup)namevalueN)Zsortedr
   ZkeysZ	simpletagZnewline)r   Zwriterr   Znamesr   s   &&&  r   toXMLZtable_T_S_I__5.toXML/   sT    t))..01I94F4Fy4Q   NN	 r   c                s    \        V R 4      '       g   / V n        VR8w  d   R# \        VR,          4      V P                  VR,          &   R# )r
   r   Nr   r   )Zhasattrr
   r    )r   r   ZattrsZcontentr   s   &&&&&r   fromXMLZtable_T_S_I__5.fromXML7   s?    t_--!#D<,4U7^,D5=)r   )r
   N)
__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s      >"E Er   r   )Z__doc__r   Zloggingr   ZfontTools.misc.textToolsr    Z r   Z	getLoggerr   r   r   ) r   r   <module>r      s?      
 - !(E\.. (Er   