a
    ZXho                     @   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rd d
l Z e !e  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 ]}g }g }	|j|g }
|
D ]}||j |jdd  }||d |d d  }t|dksJ |d d ur|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   Z/var/www/viveiro_mudafortebrasil/venv/lib/python3.9/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   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   s   g | ]
}|j qS r   r    r!   r   r   r   r#   <   r$   zadd_VVAR.<locals>.<listcomp>r%   )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rtd dS t| d|v rt| |jdu rt|jddd}n|j}|rtd| || 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)	argsr2   r)   r*   r4   parseroptionsr   outfiler   r   r   main@   s@    




rA   __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	getLoggerr9   r   r'   r(   rA   __name__r2   exitr   r   r   r   <module>   s"   
!
.