a
    ZXh}
                     @   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   d/var/www/viveiro_mudafortebrasil/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rt	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   	