
     i                          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 rt	          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
ValueErrorgetGlyphSetgetGlyphOrderr   r   drawglyphglyphDataFormatsave)
input_pathoutput_pathkwargsfontr   qu2cu_kwargsglyphSet
glyphOrderr   	glyphNamer   ttpenpens                ]/srv/www/vhosts/g4struct/public_html/venv/lib/python3.11/site-packages/fontTools/qu2cu/cli.py_font_to_cubicr(      se   *D
KK*J777&0BBDE,'$v,*AAK( L ~~7888!!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        dk    r|	                    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        0          }t1          |j        |          D ]\  }}t3          ||fi | dS )1z7Convert 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))typer3   r6   r4   z-cz--all-cubicF
store_truez whether to only use cubic curves)r6   r.   r4   z-oz--output-fileNOUTPUTz&output filename for the converted TTF.)r6   r3   r4   z-dz--output-dir	DIRECTORYz-output directory where to save converted TTFsz,--conversion-error must be greater than zero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>o   sF     
 
 
>?BGLLRW%5%5a%8%899
 
 
r)   c                 2    g | ]}t          |d d          S )Tz.cubic)	overWritesuffixr   )rF   rG   s     r'   rI   z_main.<locals>.<listcomp>u   s7     
 
 
 qDBBB
 
 
r)   )r	   r
   r   )argparseArgumentParseradd_argument	fontTools__version__floatadd_mutually_exclusive_group
parse_argsconversion_errorerrorverboseloggingbasicConfiglenr/   output_filerH   rB   rC   existsmkdirisdirdictr   zipr(   )
argsparseroutput_parseroptionsr?   output_pathsr   r   r   rH   s
            @r'   _mainrf   .   s/   $'222F
Iy?TUUU
4	     k'1EEE
K     /     7799M6     <     %%G1$$CDDD? 	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)rB   rM   rX   fontTools.misc.cliToolsr   fontTools.ttLibr   fontTools.pens.qu2cuPenr   fontTools.pens.ttGlyphPenr   rP   	getLoggerr   r(   rf   rA   r)   r'   <module>rl      s    				   6 6 6 6 6 6 " " " " " " , , , , , , 0 0 0 0 0 0     
	,	-	-   @S: S: S: S: S: S:r)   