
    khR                     V    d dl mZ ddlmZ d dlZd dlZ G d dej                        Zy)    )safeEval   )DefaultTableNc                   @    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)table__c_v_tzControl Value Table

    The Control Value Table holds a list of values that can be referenced
    by TrueType font instructions.

    See also https://learn.microsoft.com/en-us/typography/opentype/spec/cvt
    c                     t        j                   d      }|j                  |       t        j                  dk7  r|j	                          || _        y )Nhbig)array	frombytessys	byteorderbyteswapvalues)selfdatattFontr   s       o/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/fontTools/ttLib/tables/_c_v_t.py	decompileztable__c_v_t.decompile   s;    S!==E!OO    c                     t        | d      sy| j                  d d  }t        j                  dk7  r|j	                          |j                         S )Nr   r   r
   )hasattrr   r   r   r   tobytes)r   r   r   s      r   compileztable__c_v_t.compile   s?    tX&Q==E!OO~~r   c                     t        | j                        D ])  \  }}|j                  d||       |j                          + y )Ncv)valueindex)	enumerater   	simpletagnewline)r   writerr   ir   s        r   toXMLztable__c_v_t.toXML   s=    !$++. 	HAuTa8NN	r   c                 :   t        | d      st        j                  d      | _        |dk(  rpt        |d         }t        |d         }t	        d|z   t        | j                        z
        D ]  }| j                  j                  d        || j                  |<   y y )Nr   r	   r   r   r   r   r   )r   r   r   r   rangelenappend)r   nameattrscontentr   r   r   r#   s           r   fromXMLztable__c_v_t.fromXML$   s    tX&++c*DK4<U7^,EU7^,E1u9s4;;'778 &""1%&!&DKK r   c                 ,    t        | j                        S N)r'   r   )r   s    r   __len__ztable__c_v_t.__len__.   s    4;;r   c                      | j                   |   S r.   r   r   r   s     r   __getitem__ztable__c_v_t.__getitem__1   s    {{5!!r   c                 "    || j                   |<   y r.   r1   )r   r   r   s      r   __setitem__ztable__c_v_t.__setitem__4   s    "Er   c                     | j                   |= y r.   r1   r2   s     r   __delitem__ztable__c_v_t.__delitem__7   s    KKr   N)__name__
__module____qualname____doc__r   r   r$   r,   r/   r3   r5   r7    r   r   r   r      s/     
' "#r   r   )fontTools.misc.textToolsr    r   r   r   r   r<   r   r   <module>r?      s#    -  
 1<,, 1r   