
    jke                     V    d dl mZmZmZ ddlmZ d dlZ G d dej
                        Zy)    )	bytesjointobytessafeEval   )DefaultTableNc                   2    e Zd ZddZd Zd Zd Zd Zd Zy)	table__l_t_a_gNc                 p    t         j                   j                  | |       d\  | _        | _        g | _        y )N)r   r   )r   __init__versionflagstagsselftags     A/usr/lib/python3/dist-packages/fontTools/ttLib/tables/_l_t_a_g.pyr   ztable__l_t_a_g.__init__	   s-    !!**45#' dj	    c                     	 | j                   j                  |      S # t        $ r6 | j                   j                  |       t	        | j                         dz
  cY S w xY w)zAdd 'tag' to the list of langauge tags if not already there.

        Returns the integer index of 'tag' in the list of all tags.
        r   )r   index
ValueErrorappendlenr   s     r   addTagztable__l_t_a_g.addTag   sN    
	&99??3'' 	&IIS!tyy>A%%	&s    <AAc                 T   t        j                  d|d d       \  | _        | _        }| j                  dk(  sJ g | _        t        |      D ][  }d|dz  z   }t        j                  d|||dz          \  }}||||z    j                  d      }| j                  j                  |       ] y )N>LLL   r      >HHascii)structunpackr   r   r   rangedecoder   )	r   datattFontnumTagsiposoffsetlengthr   s	            r   	decompileztable__l_t_a_g.decompile   s    ,2MM&$s),L)dj'||q   	w 	"Aq1u*C#]]5$sS1W2EFNFFv077@CIIS!		"r   c           
         t        j                  d| j                  | j                  t	        | j
                              g}d}| j
                  D ]u  }|j                  |      }|dk  rt	        |      }||z   }|dz   t	        | j
                        dz  z   }|j                  t        j                  d|t	        |                   w |j                  t        |             t        |      S )Nr    r   r   r   r   )
r    packr   r   r   r   findr   r   r   )r   r%   dataList
stringPoolr   r)   s         r   compileztable__l_t_a_g.compile#   s    KKdjj#dii.QR
99 	BC__S)FzZ'#-
b[3tyy>A#55FOOFKKvs3x@A	B 	
+,""r   c                     |j                  d| j                         |j                          |j                  d| j                         |j                          | j                  D ]%  }|j                  d|       |j                          ' y )Nr   )valuer   LanguageTag)r   )	simpletagr   newliner   r   )r   writerr%   r   s       r   toXMLztable__l_t_a_g.toXML0   st    $,,7

399 	C]4NN	r   c                     t        | d      sg | _        |dk(  r| j                  j                  |d          y d|v rt        |d         }t	        | ||       y y )Nr   r5   r   r4   )hasattrr   r   r   setattr)r   nameattrscontentr%   r4   s         r   fromXMLztable__l_t_a_g.fromXML9   sX    tV$DI= IIU5\*U7^,ED$& r   )N)	__name__
__module____qualname__r   r   r+   r2   r9   r@    r   r   r	   r	      s     
	&"#'r   r	   )fontTools.misc.textToolsr   r   r   r-   r   r    r	   rD   r   r   <module>rF      s#    A A  
8'\.. 8'r   