
    Ph@
                     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                   6    e Zd ZdZd	dZd Zd Zd Zd Zd Z	y)
table__l_t_a_ga
  Language Tag table

    The AAT ``ltag`` table contains mappings between the numeric codes used
    in the language field of the ``name`` table and IETF language tags.

    See also https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6ltag.html
    Nc                 p    t         j                   j                  | |       d\  | _        | _        g | _        y )N)r   r   )r   __init__versionflagstagsselftags     jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-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
99C__S)FzZ'#-
b[3tyy>A#55FOOFKKvs3x@A  	
+,""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.toXML8   so    $,,7

399C]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.fromXMLA   sX    tV$DI= IIU5\*U7^,ED$& r   )N)
__name__
__module____qualname____doc__r   r   r+   r2   r9   r@    r   r   r	   r	      s%    
	&"#'r   r	   )fontTools.misc.textToolsr   r   r   r-   r   r    r	   rE   r   r   <module>rG      s%    A A  
@'\.. @'r   