o
    _hR                     @   s>   d dl mZ ddlmZ d dlZd dlZG dd dejZdS )    )safeEval   )DefaultTableNc                   @   sP   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd ZdS )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                 C   s0   t  d}|| tjdkr|  || _d S )Nhbig)array	frombytessys	byteorderbyteswapvalues)selfdatattFontr    r   Q/var/www/html/myenv/lib/python3.10/site-packages/fontTools/ttLib/tables/_c_v_t.py	decompile   s
   



ztable__c_v_t.decompilec                 C   s6   t | dsdS | jd d  }tjdkr|  | S )Nr       r   )hasattrr   r
   r   r   tobytes)r   r   r   r   r   r   compile   s   

ztable__c_v_t.compilec                 C   s0   t | jD ]\}}|jd||d |  qd S )Ncv)valueindex)	enumerater   	simpletagnewline)r   writerr   ir   r   r   r   toXML   s   
ztable__c_v_t.toXMLc                 C   sp   t | dstd| _|dkr6t|d }t|d }td| t| j D ]}| jd q&|| j|< d S d S )Nr   r   r   r   r   r   r   )r   r   r   r   rangelenappend)r   nameattrscontentr   r   r   r   r   r   r   fromXML$   s   
ztable__c_v_t.fromXMLc                 C   s
   t | jS N)r"   r   )r   r   r   r   __len__.      
ztable__c_v_t.__len__c                 C   s
   | j | S r(   r   r   r   r   r   r   __getitem__1   r*   ztable__c_v_t.__getitem__c                 C   s   || j |< d S r(   r+   )r   r   r   r   r   r   __setitem__4   s   ztable__c_v_t.__setitem__c                 C   s   | j |= d S r(   r+   r,   r   r   r   __delitem__7   s   ztable__c_v_t.__delitem__N)__name__
__module____qualname____doc__r   r   r    r'   r)   r-   r.   r/   r   r   r   r   r      s    
r   )fontTools.misc.textToolsr    r   r
   r   r   r   r   r   r   <module>   s
    