U
    »mœd?  ã                   @   sr   d dl Z d dlZd dlZd dl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d„Zdd	d
„ZdS )é    N©ÚmakeOutputFileName)ÚTTFont)ÚQu2CuPen)Ú
TTGlyphPenzfontTools.qu2cuc                 K   sâ   t | ƒ}t d| ¡ |d r i nd }||d |d j |d dœ}d|ksRtdƒ‚| ¡ }| ¡ }|d	 }|D ]:}	||	 }
t|ƒ}t|f|Ž}|
 	|¡ |j
d
d�||	< qnd|d _|d rÈt d|¡ t d|¡ | |¡ d S )NzConverting curves for %sÚ
dump_statsÚ
max_err_emÚheadÚ	all_cubic)ÚstatsZmax_errr
   ZgvarzCannot convert variable fontÚglyfT)ZdropImpliedOnCurvesé   z	Stats: %sz	Saving %s)r   ÚloggerÚinfoZ
unitsPerEmÚAssertionErrorZgetGlyphSetZgetGlyphOrderr   r   ZdrawÚglyphZglyphDataFormatÚsave)Ú
input_pathÚoutput_pathÚkwargsZfontr   Zqu2cu_kwargsZglyphSetZ
glyphOrderr   Z	glyphNamer   ZttpenÚpen© r   úL/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/fontTools/qu2cu/cli.pyÚ_font_to_cubic   s,    ý

r   c           	         s®  t jdd�}|jddtjd� |jdddd	d
� |jddddd� |jddtdddd� |jdddddd� | ¡ }|jddd ddd � |jd!d"d d#d$d � | | ¡}|js²d%}n|jd&krÂd'}nd(}t	j
|d)� t|jƒd&krð|jrð| d*¡ |j�rJ|j‰ tj ˆ ¡�st ˆ ¡ ntj ˆ ¡�s4| d+ˆ  ¡ ‡ fd,d-„|jD ƒ}n"|j�r\|jg}nd.d-„ |jD ƒ}t|jdk|j|jd/�}t|j|ƒD ]\}}t||f|Ž �q�d S )0NZqu2cu)Úprogz	--versionÚversion)Úactionr   Úinfilesú+ZINPUTz%one or more input TTF source file(s).)ÚnargsÚmetavarÚhelpz-vz	--verboseÚcountr   )r   Údefaultz-ez--conversion-errorÚERRORgü©ñÒMbP?z<maxiumum approximation error measured in EM (default: 0.001))Útyper    r#   r!   z-cz--all-cubicFÚ
store_truez whether to only use cubic curves)r#   r   r!   z-oz--output-fileZOUTPUTz&output filename for the converted TTF.)r#   r    r!   z-dz--output-dirZ	DIRECTORYz-output directory where to save converted TTFsÚWARNINGr   ÚINFOÚDEBUG)Úlevelz2-o/--output-file can't be used with multile inputsz'%s' is not a directoryc                    s"   g | ]}t j ˆ t j |¡¡‘qS r   )ÚosÚpathÚjoinÚbasename©Ú.0Úp©Ú
output_dirr   r   Ú
<listcomp>j   s    zmain.<locals>.<listcomp>c                 S   s   g | ]}t |d dd�‘qS )Tz.cubic)Z	overWriteÚsuffixr   r/   r   r   r   r4   p   s   ÿ)r   r   r
   )ÚargparseÚArgumentParserÚadd_argumentÚ	fontToolsÚ__version__ÚfloatÚadd_mutually_exclusive_groupÚ
parse_argsÚverboseÚloggingÚbasicConfigÚlenr   Zoutput_fileÚerrorr3   r+   r,   ÚexistsÚmkdirÚisdirÚdictZconversion_errorr
   Úzipr   )	ÚargsÚparserZoutput_parserÚoptionsr*   Zoutput_pathsr   r   r   r   r2   r   Úmain-   sŠ    üúûûû



ÿ
þýrK   )N)N)r+   r6   r?   ZfontTools.misc.cliToolsr   ZfontTools.ttLibr   ZfontTools.pens.qu2cuPenr   ZfontTools.pens.ttGlyphPenr   r9   Ú	getLoggerr   r   rK   r   r   r   r   Ú<module>   s   

