o
    h0                     @   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/vscode/kcb/lib/python3.10/site-packages/fontTools/ttLib/tables/_c_v_t.py	decompile   s
   



ztable__c_v_t.decompilec                 C   s(   | j d d  }tjdkr|  | S )Nr   )r   r
   r   r   tobytes)r   r   r   r   r   r   compile   s   
ztable__c_v_t.compilec                 C   s:   t t| jD ]}| j| }|jd||d |  qd S )Ncv)valueindex)rangelenr   	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   )hasattrr   r   r   r   r   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__0   r(   ztable__c_v_t.__getitem__c                 C   s   || j |< d S r&   r)   )r   r   r   r   r   r   __setitem__3   s   ztable__c_v_t.__setitem__c                 C   s   | j |= d S r&   r)   r*   r   r   r   __delitem__6   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
    