
    S-ho                     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       c/var/www/core.comfia.cic-ware.com/crm/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        t        | j                              D ]5  }| j                  |   }|j                  d||       |j	                          7 y )Ncv)valueindex)rangelenr   	simpletagnewline)r   writerr   ir   s        r   toXMLztable__c_v_t.toXML   sK    s4;;'( 	AKKNE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   r   r    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__2   s    {{5!!r   c                 "    || j                   |<   y r-   r0   )r   r   r   s      r   __setitem__ztable__c_v_t.__setitem__5   s    "Er   c                     | j                   |= y r-   r0   r1   s     r   __delitem__ztable__c_v_t.__delitem__8   s    KKr   N)__name__
__module____qualname____doc__r   r   r%   r+   r.   r2   r4   r6    r   r   r   r      s/     ' "#r   r   )fontTools.misc.textToolsr    r   r   r   r   r;   r   r   <module>r>      s#    -  
 2<,, 2r   