
    ]Mh                         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j        d          Zd	dZd	dZdS )
    NmakeOutputFileName)TTFont)Qu2CuPen)
TTGlyphPenzfontTools.qu2cuc                    t          |           }t                              d|            |d         ri nd }||d         |d         j        z  |d         d}d|vs
J d            |                                }|                                }|d	         }|D ]T}	||	         }
t          |          }t          |fi |}|
                    |           |	                    d
          ||	<   Ud|d         _
        |d         rt                              d|           t                              d|           |                    |           d S )NzConverting curves for %s
dump_stats
max_err_emhead	all_cubic)statsmax_errr   gvarzCannot convert variable fontglyfT)dropImpliedOnCurves   z	Stats: %sz	Saving %s)r   loggerinfo
unitsPerEmgetGlyphSetgetGlyphOrderr   r   drawglyphglyphDataFormatsave)
input_pathoutput_pathkwargsfontr   qu2cu_kwargsglyphSet
glyphOrderr   	glyphNamer   ttpenpens                S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fontTools/qu2cu/cli.py_font_to_cubicr'      sg   *D
KK*J777&0BBDE,'$v,*AAK( L =!!H##%%J<D @ @	#8$$u----

3++$+??Y#$DL l (K'''
KK[)))IIk    c                   	 t          j        d          }|                    ddt          j                   |                    dddd	
           |                    dddd           |                    ddt
          ddd           |                    ddddd           |                                }|                    ddddd !           |                    d"d#dd$d%!           |                    |           }|j        sd&}n|j        d'k    rd(}nd)}t          j
        |*           t          |j                  d'k    r|j        r|                    d+           |j        r|j        	t           j                            	          st!          j        	           n7t           j                            	          s|                    d,	z             	fd-|j        D             }n!|j        r	|j        g}nd. |j        D             }t+          |j        dk    |j        |j        /          }t1          |j        |          D ]\  }}t3          ||fi | dS )0z7Convert an OpenType font from quadratic to cubic curvesqu2cu)progz	--versionversion)actionr,   infiles+INPUTz%one or more input TTF source file(s).)nargsmetavarhelpz-vz	--verbosecountr   )r-   defaultz-ez--conversion-errorERRORgMbP?z<maxiumum approximation error measured in EM (default: 0.001))typer2   r5   r3   z-cz--all-cubicF
store_truez whether to only use cubic curves)r5   r-   r3   z-oz--output-fileNOUTPUTz&output filename for the converted TTF.)r5   r2   r3   z-dz--output-dir	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                     g | ]?}t           j                            t           j                            |                    @S  )ospathjoinbasename).0p
output_dirs     r&   
<listcomp>z_main.<locals>.<listcomp>k   sF     
 
 
>?BGLLRW%5%5a%8%899
 
 
r(   c                 2    g | ]}t          |d d          S )Tz.cubic)	overWritesuffixr   )rE   rF   s     r&   rH   z_main.<locals>.<listcomp>q   s7     
 
 
 qDBBB
 
 
r(   )r	   r
   r   )argparseArgumentParseradd_argument	fontTools__version__floatadd_mutually_exclusive_group
parse_argsverboseloggingbasicConfiglenr.   output_fileerrorrG   rA   rB   existsmkdirisdirdictconversion_errorr   zipr'   )
argsparseroutput_parseroptionsr>   output_pathsr   r   r   rG   s
            @r&   _mainre   -   s   $'222F
Iy?TUUU
4	     k'1EEE
K     /     7799M6     <     %%G? 	A		e$$$$
7?aG$7IJJJ 
'
w~~j)) 	AHZ    z** 	ALL2Z?@@@
 
 
 
CJ?
 
 
 
	 
+,
 
_
 
 

 ?Q&+#  F $'w#E#E : :
Kz;99&9999: :r(   )N)rA   rL   rU   fontTools.misc.cliToolsr   fontTools.ttLibr   fontTools.pens.qu2cuPenr   fontTools.pens.ttGlyphPenr   rO   	getLoggerr   r'   re   r@   r(   r&   <module>rk      s    				   6 6 6 6 6 6 " " " " " " , , , , , , 0 0 0 0 0 0     
	,	-	-   >P: P: P: P: P: P:r(   