o
    `i                     @   sT   d dl mZ dd ZddddddZdd	d
Zedkr(d dlZee  dS dS )    normalizeValuec                 C   s@   | dkr|d | |d |d    S |d | |d |d    S )Nr          )vtripletr   r   W/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/fontTools/varLib/avar/map.py_denormalize   s   r
   FinputNormalizedoutputNormalized
dropZeroesc                   s   d| vrd S | d }dd |j D  t fdd|D }|r)tdd| |s6 fdd| D }d	| v rC| d	 || |}|sP fd
d| D }|S )Nfvarc                 S   s    i | ]}|j |j|j|jfqS r   )axisTagminValuedefaultValuemaxValue).0ar   r   r	   
<dictcomp>   s     zmap.<locals>.<dictcomp>c                 3   s    | ]	}| vr|V  qd S Nr   )r   tagaxesr   r	   	<genexpr>   s    zmap.<locals>.<genexpr>zUnknown axis tag(s): z, c                        i | ]\}}|t | | qS r   r   r   r   valuer   r   r	   r          avarc                    r   r   )r
   r   r   r   r	   r       r   )r   sorted
ValueErrorjoinitemsrenormalizeLocation)fontlocationr   r   r   r   unknownAxesr   r   r	   map   s$   

r)   Nc              
   C   s  ddl m} ddl}| du rddl}|jdd } |jdd d}|jddd	d
 |jdddddd |jdddd |jdddd |jdddd || }|jsW|	d |j
drmddlm} | }|||j
 n||j
}d|vr|	d|j
 d i }|jD ]3}	|	d\}
}}|r|
r|s|	d|	d  zt|||
< W q ty   |	d!|	d" Y qw zt|||j|j|j d#}W n ty } z|	t| W Y d}~nd}~ww |dusJ |D ]}
||
 }|t|krt|n|}t|
 d|d$ qdS )%z3Map variation coordinates through the `avar` table.r   )TTFontNr   zfonttools varLib.avar.map)descriptionr&   zvarfont.ttfzVariable-font file.)metavarhelpcoordsz[AXIS=value...]z,Coordinates to map, e.g. 'wght=700 wdth=75'.*)r,   r-   nargsdefaultz-f
store_truez%Do not omit axes at default location.)actionr-   z-iz)Input coordinates are normalized (-1..1).z-oz)Output coordinates as normalized (-1..1).zUNo coordinates provided. Please specify at least one axis coordinate (e.g., wght=500)z.designspace)buildr   zFont 'z#' does not contain an 'fvar' table.=zInvalid coordinate z$. Expected AXIS=value, e.g. wght=500zInvalid coordinate value in z. Expected a number after '='r   g)fontTools.ttLibr*   argparsesysargvArgumentParseradd_argument
parse_argsr.   errorr&   endswithr4   	partitionfloatr"   r)   iofstrintprint)argsr*   r8   r9   parseroptionsr4   r&   r'   itemr   sepr   mappeder   r   r   r	   main'   s   





rO   __main__r   )fontTools.varLib.modelsr   r
   r)   rO   __name__r9   exitr   r   r   r	   <module>   s    
R