
    g0                     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       Z/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/fontTools/ttLib/tables/_c_v_t.py	decompileztable__c_v_t.decompile   s;    S!==E!OO    c                     | j                   d d  }t        j                  dk7  r|j                          |j	                         S )Nr
   )r   r   r   r   tobytes)r   r   r   s      r   compileztable__c_v_t.compile   s2    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   )hasattrr   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__0   s    {{5!!r   c                 "    || j                   |<   y r-   r0   )r   r   r   s      r   __setitem__ztable__c_v_t.__setitem__3   s    "Er   c                     | j                   |= y r-   r0   r1   s     r   __delitem__ztable__c_v_t.__delitem__6   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#    -  
 0<,, 0r   