Ë
    n]jq  ã                   ó†   — d Z ddlZddlZddlZddlmZ ddlmZ  ej                  e	«      Z
 G d„ dej                  «      Zy)zæTSI{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                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Útable_T_S_I__5c           	      ó¤  — |d   j                   }t        j                  d«      }|j                  |«       t        j                  dk7  r|j                  «        i | _        t        |«      dz  }||k7  r-||z
  }t        j                  dt        |«      › d|› d|› d�«       t        |«      D ]#  }||   | j                  |j                  |«      <   Œ% y )	NÚmaxpÚHÚbigé   zCNumber of entries differs from the number of glyphs in the font by z (z entries vs. z	 glyphs).)Ú	numGlyphsÚarrayÚ	frombytesÚsysÚ	byteorderÚbyteswapÚglyphGroupingÚlenÚlogÚwarningÚabsÚrangeÚgetGlyphName)ÚselfÚdataÚttFontr   ÚaÚ
numEntriesÚdiffÚis           úV/var/www/zogu/zoguvenv/lib/python3.12/site-packages/fontTools/ttLib/tables/T_S_I__5.pyÚ	decompileztable_T_S_I__5.decompile   sÊ   € Ø˜6‘N×,Ñ,ˆ	Ü�K‰K˜ÓˆØ	�‰�DÔÜ�=‰=˜EÒ!Ø�J‰JŒLØˆÔÜ˜“Y !‘^ˆ
Ø˜Ò"Ø 	Ñ)ˆDÜ�K‰KðÜ˜$“i�[  : ,¨m¸I¸;ÀiðQôô �zÓ"ò 	>ˆAØ9:¸1¹ˆD×Ñ˜v×2Ñ2°1Ó5Ò6ñ	>ó    c                 ó  — |j                  «       }t        j                  d«      }|D ]-  }|j                  | j                  j	                  |d«      «       Œ/ t
        j                  dk7  r|j                  «        |j                  «       S )Nr
   r   r   )	ÚgetGlyphOrderr   Úappendr   Úgetr   r   r   Útobytes)r   r   Ú
glyphNamesr   Ú	glyphNames        r!   Úcompileztable_T_S_I__5.compile&   sm   € Ø×)Ñ)Ó+ˆ
Ü�K‰K˜ÓˆØ#ò 	;ˆIØ�H‰H�T×'Ñ'×+Ñ+¨I°qÓ9Õ:ð	;ä�=‰=˜EÒ!Ø�J‰JŒLØ�y‰y‹{Ðr#   c                 óº   — t        | j                  j                  «       «      }|D ]3  }|j                  d|| j                  |   ¬«       |j	                  «        Œ5 y )NÚ
glyphgroup)ÚnameÚvalue)Úsortedr   ÚkeysÚ	simpletagÚnewline)r   Úwriterr   Únamesr*   s        r!   ÚtoXMLztable_T_S_I__5.toXML/   s[   € Ü�t×)Ñ)×.Ñ.Ó0Ó1ˆØò 	ˆIØ×ÑØ 9°D×4FÑ4FÀyÑ4Qð ô ð �N‰NÕñ		r#   c                 ór   — t        | d«      si | _        |dk7  ry t        |d   «      | j                  |d   <   y )Nr   r-   r/   r.   )Úhasattrr   r   )r   r.   ÚattrsÚcontentr   s        r!   ÚfromXMLztable_T_S_I__5.fromXML7   s<   € Ü�t˜_Ô-Ø!#ˆDÔØ�<ÒØÜ,4°U¸7±^Ó,Dˆ×Ñ˜5 ™=Ò)r#   N)Ú__name__Ú
__module__Ú__qualname__r"   r+   r6   r;   © r#   r!   r   r      s   „ ò>ò"òóEr#   r   )Ú__doc__r   Úloggingr   ÚfontTools.misc.textToolsr   Ú r   Ú	getLoggerr<   r   r   r?   r#   r!   ú<module>rE      sA   ðñó Û Û 
å -å à€g×Ñ˜Ó!€ô(E�\×.Ñ.õ (Er#   