o
    io                     @   s   d dl mZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dl
mZmZmZ d dlmZ d dlmZ d d	lmZ d d
lZedZdd Zdd Zdd ZdddZedkrjd d
l Z e !e  d
S d
S )    )noRound)TTFontnewTable)otTables)OTTableWriter)HVAR_FIELDSVVAR_FIELDS
_add_VHVAR)buildermodelsvarStore)fixedToFloat)makeOutputFileName)partialNzfontTools.varLib.avarc                 C   s   | d }i }|   }|j}|D ]d}g }g }	|j|g }
|
D ]N}||j |jdd  }||d |d d  }t|dksAJ |d d urM|d | nd|d< |d d ur]|d | nd|d< |	|d |d   q|	|f||< qd }||fS )Ngvar   r      )ZgetGlyphOrderphantomIndex
variationsgetappendaxesZcoordinateslen)fontaxisTagsZtableFieldsr   ZvhAdvanceDeltasAndSupportsZ
glyphOrderr   Z	glyphNameZsupportsZdeltasr   tvZphantomsZvOrigDeltasAndSupports r   d/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/fontTools/varLib/hvar.py_get_advance_metrics   s&     r   c                 C   sB   d| v r| d= dd | d j D }tt| |t}t| |t| d S )NZHVARc                 S      g | ]}|j qS r   ZaxisTag.0Zaxisr   r   r   
<listcomp>3       zadd_HVAR.<locals>.<listcomp>fvar)r   r   r   r   r	   r   r   ZgetAdvanceMetricsr   r   r   add_HVAR0   s
   r(   c                 C   sB   d| v r| d= t t| |t}dd | d jD }t| |t| d S )NZVVARc                 S   r    r   r!   r"   r   r   r   r$   <   r%   zadd_VVAR.<locals>.<listcomp>r&   )r   r   r   r   r	   r'   r   r   r   add_VVAR8   s
   r)   c           	      C   s   | du rddl }|jdd } ddlm} ddlm} ddl}|jddd}|jd	d
dd |jddt	dd |
| }|dd t|j}d|vrQtd dS t| d|v r]t| |jdu rkt|jddd}n|j}|r}td| || dS dS )z"Add `HVAR` table to variable font.Nr   r   )configLogger)DesignSpaceDocumentzfonttools varLib.hvarz'Add `HVAR` table from to variable font.)descriptionr   zvarfont.ttfzVariable-font file.)metavarhelpz-oz--output-filezOutput font file name.)typer.   WARNING)levelr&   zNot a variable font.ZvmtxTz.hvar)Z	overWritesuffixz	Saving %s)sysargvZ	fontToolsr*   ZfontTools.designspaceLibr+   argparseArgumentParseradd_argumentstr
parse_argsr   r   logerrorr(   r)   Zoutput_filer   infosave)	argsr3   r*   r+   r5   parseroptionsr   outfiler   r   r   main@   sB   




rB   __main__)N)"ZfontTools.misc.roundToolsr   ZfontTools.ttLibr   r   ZfontTools.ttLib.tablesr   ZotZfontTools.ttLib.tables.otBaser   ZfontTools.varLibr   r   r	   r
   r   r   ZfontTools.misc.fixedToolsr   Zfi2flZfontTools.misc.cliToolsr   	functoolsr   logging	getLoggerr:   r   r(   r)   rB   __name__r3   exitr   r   r   r   <module>   s&    
!
.