
    h0                     V    S SK Jr  SSKJr  S SKrS SKr " S S\R                  5      rg)    )safeEval   )DefaultTableNc                   H    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rSrg)table__c_v_t   zControl 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                     [         R                   " S5      nUR                  U5        [        R                  S:w  a  UR	                  5         X0l        g )Nhbig)array	frombytessys	byteorderbyteswapvalues)selfdatattFontr   s       O/var/www/html/env/lib/python3.13/site-packages/fontTools/ttLib/tables/_c_v_t.py	decompiletable__c_v_t.decompile   s9    S!==E!OO    c                     U R                   S S  n[        R                  S:w  a  UR                  5         UR	                  5       $ )Nr   )r   r   r   r   tobytes)r   r   r   s      r   compiletable__c_v_t.compile   s2    Q==E!OO~~r   c                     [        [        U R                  5      5       H2  nU R                  U   nUR                  SXCS9  UR	                  5         M4     g )Ncv)valueindex)rangelenr   	simpletagnewline)r   writerr   ir   s        r   toXMLtable__c_v_t.toXML   sD    s4;;'(AKKNET8NN )r   c                 J   [        U S5      (       d  [        R                  " S5      U l        US:X  aq  [        US   5      n[        US   5      n[	        SU-   [        U R                  5      -
  5       H  nU R                  R                  S5        M      X`R                  U'   g g )Nr   r
   r   r    r   r   r   )hasattrr   r   r   r!   r"   append)r   nameattrscontentr   r    r   r&   s           r   fromXMLtable__c_v_t.fromXML#   s    tX&&++c*DK4<U7^,EU7^,E1u9s4;;'778""1% 9!&KK r   c                 ,    [        U R                  5      $ N)r"   r   )r   s    r   __len__table__c_v_t.__len__-   s    4;;r   c                      U R                   U   $ r2   r   r   r    s     r   __getitem__table__c_v_t.__getitem__0   s    {{5!!r   c                      X R                   U'   g r2   r6   )r   r    r   s      r   __setitem__table__c_v_t.__setitem__3   s    "Er   c                     U R                   U	 g r2   r6   r7   s     r   __delitem__table__c_v_t.__delitem__6   s    KKr   r6   N)__name__
__module____qualname____firstlineno____doc__r   r   r'   r/   r3   r8   r;   r>   __static_attributes__ r   r   r   r      s/     ' "#r   r   )fontTools.misc.textToolsr    r   r   r   r   rF   r   r   <module>rI      s#    -  
 0<,, 0r   