+
    f7i!  c                   s    ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^RIH	t	 ^RIH
t
 ^ RItRtR	tR
tRtRtRt ! R R4      t ! R R]4      t ! R R]	P                  4      tR# )    )sstruct)floatToFixedToStr)safeEval)partial)DefaultTable)grUtilsNz/
    >        # big endian
    version: 16.16F
zR
    >
    version: 16.16F
    compression:L    # compression scheme or reserved 
zz
    >
    attNum:     B    # Attribute number of first attribute
    num:        B    # Number of attributes in this run
zz
    >
    attNum:     H    # Attribute number of first attribute
    num:        H    # Number of attributes in this run
ao  
    >
    subboxBitmap:   H    # Which subboxes exist on 4x4 grid
    diagNegMin:     B    # Defines minimum negatively-sloped diagonal (si)
    diagNegMax:     B    # Defines maximum negatively-sloped diagonal (sa)
    diagPosMin:     B    # Defines minimum positively-sloped diagonal (di)
    diagPosMax:     B    # Defines maximum positively-sloped diagonal (da)
a  
    >
    left:           B    # xi
    right:          B    # xa
    bottom:         B    # yi
    top:            B    # ya
    diagNegMin:     B    # Defines minimum negatively-sloped diagonal (si)
    diagNegMax:     B    # Defines maximum negatively-sloped diagonal (sa)
    diagPosMin:     B    # Defines minimum positively-sloped diagonal (di)
    diagPosMax:     B    # Defines maximum positively-sloped diagonal (da)
c                   s    ] tR t^8tRtR# )_Object N__name__
__module____qualname____firstlineno____static_attributes__r       F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/G__l_a_t.pyr   r   8       r   r   c                   s    ] tR t^<tRtR# )_Dictr   Nr	   r   r   r   r   r   <   r   r   r   c                   s^   a  ] tR t^@t o RtRR ltR tR tR tR t	R t
R	 tR
 tR tRtV tR# )table_G__l_a_tzkGraphite Glyph Attributes table

See also https://graphite.sil.org/graphite_techAbout#graphite-font-tables
Nc                sR    \         P                   P                  W4       ^ V n        R# )r    N)r   __init__scheme)selftags   &&r   r   Ztable_G__l_a_t.__init__F   s    !!**45r   c                s   \         P                  ! \        W4       \        \	        V P
                  ^R7      4      V n        V P
                  R8:  d   \        V P                  \        R7      pMV P
                  R8:  d   \        V P                  \        R7      pMpV P
                  R8  d`   \        P                  ! V4      w  qn        \         P                  ! \        W4       V P                  ^,          ^8H  V n        V P                   pVR,          p/ V n        ^ p\%        WDR,          4       F4  w  rgX! WV 4      V P"                  VP'                  V4      &   V^,          pK6  	  R# )	i   )ZprecisionBitsffffff?fmt333333@      @Gloc:i   NNN)r   unpack2Glat_format_0floatr   versionr   decompileAttributes12Glat_format_1_entryGlat_format_23_entryr   Z
decompressr   Glat_format_3compressionhasOctaboxesdecompileAttributes3
attributeszipgetGlyphName)r   datattFontZdecoderZgloccountses   &&&     r   	decompileZtable_G__l_a_t.decompileJ   s   t2.t||2NO<<3d88>QRG\\S d88>RSG\\S ")"4"4T":T;OOM46!%!1!1A!5! ;D//Gf~2h'DA:A$):LDOOF//67QJE (r   c                s   \        4       p\        V4      ^8  d   \        P                  ! W!\	        4       4      w  rA\        VP                  VP                  VP                  ,           4      p\        V4      ^VP                  ,          8  g   K  \        P                  ! RVP                  ,          V4      pVP                  \        WV4      4       V^VP                  ,          R pK  V# )i   >%dhN)r   lenr   r   r   rangeattNumnumstructZunpack_fromZupdater*   )r   r,   r   r)   r0   Zkeysvalss   &&&    r   r"   Z$table_G__l_a_t.decompileAttributes12^   s    W
$i!mooc;GA188aee#34D4yAI%))6AEE>DA!!#d/2AIK(r   c                s   V P                   '       d   \        P                  ! \        V\	        4       4      w  r!\        VP                  4      P                  R 4      p. Vn        \        V4       FV  p\        V4      ^8  g   K  \        P                  ! \        V\	        4       4      w  rQVP                  P                  V4       KX  	  V P                  V\        4      pV P                   '       d   XVn        V# )1)r'   r   r   Glat_format_3_octabox_metricsr   binsubboxBitmapr.   subboxesr4   r3   Glat_format_3_subbox_entryappendr"   r$   octabox)r   r,   onumsubbZsubboxattrss   &&     r   r(   Z#table_G__l_a_t.decompileAttributes3i   s    oo&CT79UGA(..s3FAJ6]t9>#*??2D')$LF JJ%%f- # **41EFEMr   c                sn   \         P                  ! \        V 4      pV P                  R 8:  d   \	        V P
                  \        R7      pMV P                  R8:  d   \	        V P
                  \        R7      pMkV P                  R8  d[   V P                  ^,          V P                  '       d   ^M^ ,           V n	        \         P                  ! \        V 4      pV P                  p. p\        \        V P                  4      4       FL  pVP                  \        V4      4       VX! V P                  VP!                  V4      ,          4      ,          pKN  	  VP                  \        V4      4       VR,          P#                  V4       V P                  R8  d"   \$        P&                  ! V P                  V4      pV# )r   r   r   r   r   )r   packr   r!   r   compileAttributes12r#   r   r'   r&   r%   compileAttributes3r4   r3   r)   r?   r+   Zsetr   Zcompress)r   r-   r,   ZencoderZglocsn   &&    r   compileZtable_G__l_a_t.compiley   s6   ||M40<<3d66<OPG\\S d66<OPG\\S  $r 14;L;L;LaRSTD<<t4D--Gs4??+,ALLT#GDOOF,?,?,BCDDD - 	SYv5!<<3##DKK6Dr   c           
     s   R p\         P                  ! V4       Fn  pV\        P                  ! VRV^ ,          RV^,          /4      \        P                  ! R\        V^,          4      ,          .V^,          O5!  ,           ,          pKp  	  V# )r   r5   r6   r2   )r   Zentriesr   rE   r7   r3   )r   rD   r   r,   r0   s   &&&  r   rF   Z"table_G__l_a_t.compileAttributes12   sw    'AGLLx1uad&CDv{{#ad)#H'(tH  D ( r   c                s   V P                   '       d   VP                  p\        P                  ! \        V4      p\        VP                  4      P                  R 4      p\        V4       F6  pV\        P                  ! \        VP                  V,          4      ,          pK8  	  MRpW0P                  V\        4      ,           # )r9    )r'   r@   r   rE   r:   r;   r<   r.   r4   r>   r=   rF   r$   )r   rD   rA   r,   rB   rC   rI   r   rG   Z!table_G__l_a_t.compileAttributes3   s    A<< =qAD(..s3F6]%?AOO # D..u6JKKKr   c           	     s  a VP                  R V P                  V P                  R7       VP                  4        \	        V P
                  P                  4       V3R lR7       EF  w  r4VP                  RVR7       VP                  4        \        VR4      '       EdP   VP                  p\        P                  ! \        4      w  rgp/ p	V F6  p
V
R8X  d   K  RP                  \        WZ4      R	,          ^,          4      W&   K8  	  R
P                  VP                  4      V	R&   VP                  ! R/ V	B  VP                  4        \        P                  ! \         4      w  rgpVP"                   FZ  p/ p	V F-  p
RP                  \        W4      R	,          ^,          4      W&   K/  	  VP                   ! R/ V	B  VP                  4        K\  	  VP%                  R4       VP                  4        \	        VP                  4       4       F(  w  rVP                  RWR7       VP                  4        K*  	  VP%                  R4       VP                  4        EK  	  R# )r!   )r!   compressionSchemec                 s4   < SP                  V ^ ,          4      # )r    )Z
getGlyphID)Zxr-   s   &r   Z<lambda>Z&table_G__l_a_t.toXML.<locals>.<lambda>   s    63D3DQqT3Jr   )Zkeyglyph)namer@   r<   z{:.3f}%      Y@z{:0X}bitmap	octaboxes	attribute)indexvalueN)rQ   )r@   )Z	simpletagr!   r   ZnewlineZsortedr)   itemsZbegintaghasattrr@   r   Z	getformatr:   ZformatZgetattrr<   r>   r=   Zendtag)r   Zwriterr-   rH   ZarA   ZformatstringZnamesZfixesr8   kr/   vs   &&f          r   toXMLZtable_G__l_a_t.toXML   s   DLLDKKXOO!!#)J
 
DA OOG!O,NNq)$$II-4->->1.*U AN* '..wq}u/Ds/JKDG  ")!?X4t4 -4->->..*U AD""+"2"271=53H33N"O #$$7$7NN$ $ k* qwwy)  A ?  * MM'"NNC
r   c                sF   VR 8X  dA   \        \        VR ,          4      4      V n        \        \        VR,          4      4      V n        VR8w  d   R# \        V R4      '       g   / V n        VR,          p\        4       pV EF  p\        V\        4      '       g   K  Vw  rp	VR8X  d=   \        \        VR,          4      4      p
\        \        VR,          4      4      pWV
&   Kd  VR	8X  g   Km  R
V n
        \        4       p\        VR,          ^4      Vn        . Vn        VR VP                  4        F;  w  r\        W\        \        VRR 4      R,          R,          R,           4      4       K=  	  V	 F  p\        V\        4      '       g   K  Vw  rp	\        4       pVP                  4        F;  w  r\        W\        \        VRR 4      R,          R,          R,           4      4       K=  	  VP                  P!                  V4       K  	  Wn        EK  	  W`P                  V&   R# )r!   rL   rM   Nr)   rN   rR   rS   rT   rQ   TrP   g     o@rO   g      ?i)r    r   r!   Zintr   rV   r)   r   Z
isinstanceZtupler'   r   r<   r=   rU   Zsetattrr?   r@   )r   rN   rD   Zcontentr-   Zgnamer)   Zelementr   Z
subcontentrW   rX   rA   Zsos   &&&&&         r   fromXMLZtable_G__l_a_t.fromXML   s   9 %	*:!;<DLhu-@'ABCDK7?t\** DOfW
Ggu--%,"C
k!w01w01 !1#$(!I!$U8_b!9
(O!KKMDAA#eAcrFme&;e&Cc&I"JK *)G%gu55 /6,S B %s53B=5+@5+H3+N'OP !.JJ%%b)  * &'"1 2 ",r   )r)   r&   r'   r   r!   )N)r
   r   r   r   Z__doc__r   r1   r"   r(   rJ   rF   rG   rY   rZ   r   Z__classdictcell__)Z__classdict__s   @r   r   r   @   s>     
(	 ,	L$L#, #,r   r   )ZfontTools.miscr   ZfontTools.misc.fixedToolsr   ZfontTools.misc.textToolsr   Z	functoolsr   rK   r   r   r7   r   r%   r#   r$   r:   r>   r   Zdictr   r   r   r   r   <module>r[      st    " 7 -    
 
 ! 
 	 		D 	k,\.. k,r   