+
    f7i.  c                   s    ^ RI Ht ^ RIHtHt ^RIHt ^ RIt^ RItRt	Rt
Rt^ R^R	^R
^R^R^R^R^R^R^
R^R/tR t ! R R]P                  4      t ! R R]4      tR tR t ! R R]4      tR# )    )sstruct)byteordsafeEval)DefaultTableNz
		>	# big endian
		tableVersionMajor:			H
		tableVersionMinor:			H
		metaEntriesVersionMajor:	H
		metaEntriesVersionMinor:	H
		unicodeVersion:				L
		metaFlags:					H
		nMetaRecs:					H
z3
		>	# big endian
		glyphID:			H
		nMetaEntry:			H
z2
		>	# big endian
		labelID:			H
		stringLen:			H
ZMojikumiX4051ZUNIUnifiedBaseCharsZBaseFontNameZLanguageZCreationDateZFoundryNameZFoundryCopyrightZOwnerURIZWritingScriptZStrokeCountZIndexingRadicalc                 sZ     \         V ,          p\        V4      #   \         d    R p Li ; i)zUnknown label)METALabelDictZKeyErrorstr)labelIDZlabels   & F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/M_E_T_A_.pygetLabelStringr	   >   s3     g& u:    s    **c                   s@   a  ] tR t^Ft o Rt. tR tR tR tR t	Rt
V tR# )table_M_E_T_A_zGlyphlets META table

The ``META`` table is used by Adobe's SING Glyphlets.

See also https://web.archive.org/web/20080627183635/http://www.adobe.com/devnet/opentype/gdk/topic.html
c                s(   \         P                  ! \        W4      w  r4. V n        \	        V P
                  4       EF  p\         P                  ! \        V\        4       4      w  rdV P                  ^ 8X  d0   \        P                  ! RVR,          4      w  Vn        VR,          pM?V P                  ^8X  d/   \        P                  ! RVR,          4      w  Vn        VR,          p. Vn        WP                  R p\	        VP                  4       F  p\         P                  ! \        V\        4       4      w  rV P                  ^ 8X  d0   \        P                  ! RVR,          4      w  Vn        VR,          pM.\        P                  ! RVR,          4      w  Vn        VR,          pVVP                  VP                  VP                   ,            Vn        VP                  P%                  V4       K  	  V P                  P%                  V4       EK  	  R# )r    >H:N   Nr   NN:N   N:r   NNN)r   Zunpack2METAHeaderFormatglyphRecordsZrange	nMetaRecsMETAGlyphRecordFormatGlyphRecord	metaFlagsstructZunpackoffset
stringRecs
nMetaEntryMETAStringRecordFormatStringRecord	stringLenstringappend)	selfdatattFontZdummyZnewDataiZglyphRecordj	stringRec	   &&&      r   	decompileZtable_M_E_T_A_.decompileP   s    )94Ft~~&A#*??%w$ K ~~"'-}}T72;'G$#!"+1$'-}}T72;'G$#!"+ &(K"--/0G;112%,__*G\^&"	 >>Q&)/tWR[)I&Y%%bkG)/tWR[)I&Y%%bkG#'$$y'7'7):M:M'M$	  &&--i8 3 $$[1? '    c                s   ^ p\        V P                  4      V n        ^ pV^8w  Ed_   V^,           pV^8  d   \        P                  ! 4        \
        P                  ! \        V 4      p\        V4      V P                  ^^V P                  ^,          ,          ,           ,          ,           p^^V P                  ^,          ,          ,           pV P                   F  pWWn	        VP                  R8  d5   V P                  ^,          ^ 8X  d   V P                  ^,           V n        Rp M5WGP                  V 4      ,           pVVP                  V,          ,           pK  	  VR8X  d   ^ pEKF  TpV P                   F  pVP                   Fx  p	Wn	        V	P                  R8  d6   V P                  ^,          ^ 8X  d   V P                  ^,           V n        Rp K^  WIP                  V 4      ,           pWP                  ,           pKz  	  K  	  VR8X  d   ^ pEK  V P                  ^,          ^8X  d#   VR8  d   V P                  ^,
          V n        EK)  ^pV P                   F(  pVP                   F  p	WIP                  ,           pK  	  K*  	  EKf  X# )r    i  i   )lenr   r   pdbZ	set_tracer   packr   r   r   compiler   r   r   r   )
r   r    ZoffsetOKZcountZmetaDataZstringRecsOffsetZstringRecSizeglyphRecZstringOffsetr#   s
   &&        r   r+   Ztable_M_E_T_A_.compilet   s   T../!mAIEqy||$4d;H"8}t~~A!+,,0   T^^a%7 88M --"2OOe+4>>A3E!2K%)^^a%7DN!H#&6&6t&<<#3''-7$  . 2~ ,L -- "*!4!4I'3$!((508Jq7P)-!);#%'*;*;D*AAH#/2E2E#EL "5 . 2~!#)u0D!%!!3 !--!)!4!4I  (*:*::H "5 . r&   c                s6   VP                  R 4       VP                  4        \        P                  ! \        4      w  r4pV F0  p\        W4      pVP                  WgR7       VP                  4        K2  	  V P                   F  pVP                  W4       K  	  R# )zPLengths and number of entries in this table will be recalculated by the compilervalueN)	commentnewliner   Z	getformatr   Zgetattr	simpletagr   toXML)	r   writerr    ZformatstringZnamesZfixesnamer.   r,   r$   r   r2   Ztable_M_E_T_A_.toXML   s    ^	
 	%,%6%67G%H"UDD'ET/NN  ))HNN6* *r&   c                s~   VR 8X  d   \        V R4      '       g   . V n        \        4       pV P                  P                  V4       V F2  p\	        V\
        4      '       d   K  Vw  rpVP                  WW44       K4  	  RVn        \        VP                  4      Vn
        R# \        W\        VR,          4      4       R# )r   r   r.   Nr'   )Zhasattrr   r   r   
isinstancer   fromXMLr   r(   r   r   setattrr   )r   r4   attrscontentr    r,   element   &&&&&  r   r6   Ztable_M_E_T_A_.fromXML   s    = 400$&!"}H$$X."gs++'.$W  g>	 #
 !HO"%h&9&9":HDw 89r&   )r   r   r   N)__name__
__module____qualname____firstlineno__Z__doc__Zdependenciesr%   r+   r2   r6   __static_attributes____classdictcell__Z__classdict__   @r   r
   r
   F   s-      L"2HBH+: :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# )r   c                s>    RV n         RV n        RV n        . V n        R# )i   Nr'   glyphIDr   r   r   r      &r   __init__ZGlyphRecord.__init__   s    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
                   F  pVP                  W4       K  	  VP                  R 4       VP                  4        R# )r   rE   r-   r   N)begintagr0   r1   rE   r   r   r2   endtag)r   r3   r    r#   s   &&& r   r2   ZGlyphRecord.toXML   s    &$,,7T__=IOOF+ )m$r&   c                s4   VR 8X  du   \        4       pV P                  P                  V4       V F-  p\        V\        4      '       d   K  VP                  WW44       K/  	  \        VP                  4      Vn        R# \        W\        VR,          4      4       R# )r   r.   N)r   r   r   r5   r   r6   r(   r   r   r7   r   )r   r4   r8   r9   r    r#   r:   r;   r   r6   ZGlyphRecord.fromXML   su    >!$IOO""9-"gs++!!$w? # #&i&6&6"7IDw 89r&   c                   \         P                  ! \        V 4      pVP                  ^ 8X  d#   \        P                  ! RV P
                  4      pM2VP                  ^8X  d"   \        P                  ! RV P
                  4      pVX,           pV# r    r   z>L)r   r*   r   r   r   r   r   ZparentTabler   Zdatum   &&  r   r+   ZGlyphRecord.compile   se    ||148  A%KKdkk2E""a'KKdkk2Ee|r&   c                s    R \        V P                  4      ,           R,           \        V P                  4      ,           R,           \        V P                  4      ,           R,           # )zGlyphRecord[ glyphID: z, nMetaEntry: 
, offset:  ])r   rE   r   r   rF   rG   r   __repr__ZGlyphRecord.__repr__   s]    $$,,  $//"# 	
 $++ 	
r&   rD   N)r<   r=   r>   r?   rH   r2   r6   r+   rQ   r@   rA   rB   rC   r   r   r      s#     

:	
 	
r&   r   c                 s   \        4       p\        V 4      p^ pW28  d   ^ pWV^,            R8X  d   ^pMWV^,            R8X  d   ^pV'       dJ   W4,           pTpW,          R8w  d   V^,           pK  WV pV\        \        RV,           4      4      ,           pM!V\        \	        W,          4      4      ,           pV^,           pK  VP                  R4      # )r    &#xz&amp;#x;Z0xutf_8)r   r(   ZchrZevalr   Zencode)r   uStringZstrLenr!   Z	prefixLenr"   ZvalStrs   &      r   mapXMLToUTF8rV     s    eG[F	A
*	a!e%IA)+IAA)s"Ea[FD$7 88GGFI$6 77GE>>'""r&   c                 s    V P                  R 4      pRp V FM  p\        V4      pV^8  d   V^8  d   W,           p K&  V R,           \        V4      R,          ,           R,           p KO  	  V # )rT    rR   r   rS   )ZdecodeZordZhex)r   rU   ZuCharr!   s   &   r   mapUTF8toXMLrX   &  s^    mmG$GFJH1t8^Fe^c!fRj036F  Mr&   c                   s8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   i2  c                s   VP                  R 4       VP                  4        VP                  RV P                  R7       VP	                  \        V P                  4      4       VP                  4        VP                  4        VP                  R\        V P                  4      R7       VP                  4        VP                  R 4       VP                  4        R# )r   r   r-   r   N)	rI   r0   r1   r   r/   r	   rX   r   rJ   )r   r3   r    s   &&&r   r2   ZStringRecord.toXML3  s    '$,,7~dll34dkk)BCn%r&   c                s    V FW  p\        V\        4      '       d   K  Vw  rpVR ,          pVR8X  d   \        V4      V n        KB  \	        W\        V4      4       KY  	  R# )r.   r   N)r5   r   rV   r   r7   r   )r   r4   r8   r9   r    r:   r.   r;   r   r6   ZStringRecord.fromXML?  sQ    G'3''#* D'NEx*51HUO4 r&   c                rK   rL   )r   r*   r   r   r   r   rM   rN   r   r+   ZStringRecord.compileJ  se    ||2D9  A%KKdkk2E""a'KKdkk2Ee|r&   c                s>   R \        V P                  4      ,           R,           \        V P                  4      ,           R,           \        V P                  4      ,           R,           \        V P                  4      ,           R,           V P
                  ,           R,           # )zStringRecord [ labelID: z aka rO   z
, length: z
, string: rP   )r   r   r	   r   r   r   rF   rG   r   rQ   ZStringRecord.__repr__S  s    &$,,  T\\*+ 	
 $++  $..!"  kk	 
	
r&   )r   N)
r<   r=   r>   r?   r2   r6   r+   rQ   r@   rA   rB   rC   r   r   r   2  s     
	5
 
r&   r   )ZfontTools.miscr   ZfontTools.misc.textToolsr   r   rW   r   r)   r   r   r   r   r   r	   r
   Zobjectr   rV   rX   r   ) r&   r   <module>rY      s    " 6  
 	    ~z~}zM:\.. M:`1
& 1
n#2	.
6 .
r&   