a
    —Æàg}
  ã                   @   sN   d dl mZ d dlmZ ddlmZ d dlZd dlZdZG dd„ dejƒZ	dS )	é    )Ússtruct)ÚsafeEvalé   )ÚDefaultTableNzì
    >        # big endian
    version: 16.16F    # Table version
    flags:        H    # bit 0: 1=long format, 0=short format
                       # bit 1: 1=attribute names, 0=no names
    numAttribs:   H    # NUmber of attributes
c                   @   s`   e Zd ZdZdgZddd„Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZdS )Útable_G__l_o_cz}Graphite Index to Glyph Atttributes table

    See also https://graphite.sil.org/graphite_techAbout#graphite-font-tables
    ZGlatNc                 C   s   t j  | |¡ d | _d| _d S )Nr   )r   Ú__init__Ú	attribIdsÚ
numAttribs)ÚselfÚtag© r   úX/var/www/sistema_ama/venv/lib/python3.9/site-packages/fontTools/ttLib/tables/G__l_o_c.pyr      s    ztable_G__l_o_c.__init__c                 C   s¶   t  t|| ¡\}}| j}| `t |d@ r,dnd¡| _| j |d t|ƒ| j|d@   … ¡ t	j
dkrn| j ¡  t d¡| _|d@ r²| j || j d d … ¡ t	j
dkr²| j ¡  d S )Nr   ÚIÚHé   Úbig)r   Zunpack2ÚGloc_headerÚflagsÚarrayÚ	locationsÚ	frombytesÚlenr	   ÚsysÚ	byteorderÚbyteswapr   )r
   ÚdataÚttFontÚ_r   r   r   r   Ú	decompile   s    &


ztable_G__l_o_c.decompilec                 C   s¤   t  ttdt| jƒd> | jjdk | jd�¡}t	j
dkrB| j ¡  || j ¡ 7 }t	j
dkrd| j ¡  | jr t	j
dkr~| j ¡  || j ¡ 7 }t	j
dkr | j ¡  |S )Ng      ð?r   r   )Úversionr   r	   r   )r   Úpackr   ÚdictÚboolr   r   Útypecoder	   r   r   r   Útobytes)r
   r   r   r   r   r   Úcompile,   s(    ýþ







ztable_G__l_o_c.compilec                 C   s&   t |ƒdk}t |rdnd|¡| _d S )Ni   r   r   )Úmaxr   r   )r
   r   Zlong_formatr   r   r   ÚsetB   s    ztable_G__l_o_c.setc                 C   s   |j d| jd� | ¡  d S )NÚ
attributes)Únumber)Z	simpletagr	   Únewline)r
   Úwriterr   r   r   r   ÚtoXMLF   s    ztable_G__l_o_c.toXMLc                 C   s   |dkrt t|d ƒƒ| _d S )Nr(   r)   )Úintr   r	   )r
   ÚnameÚattrsÚcontentr   r   r   r   ÚfromXMLJ   s    ztable_G__l_o_c.fromXMLc                 C   s
   | j | S ©N)r   )r
   Úindexr   r   r   Ú__getitem__N   s    ztable_G__l_o_c.__getitem__c                 C   s
   t | jƒS r2   )r   r   ©r
   r   r   r   Ú__len__Q   s    ztable_G__l_o_c.__len__c                 C   s
   t | jƒS r2   )Úiterr   r5   r   r   r   Ú__iter__T   s    ztable_G__l_o_c.__iter__)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Zdependenciesr   r   r%   r'   r,   r1   r4   r6   r8   r   r   r   r   r      s   
r   )
ZfontTools.miscr   ZfontTools.misc.textToolsr   Ú r   r   r   r   r   r   r   r   r   Ú<module>   s   	