
    Li                          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y)
    N)makeOutputFileName)TTFont)Qu2CuPen)
TTGlyphPenzfontTools.qu2cuc                 "   t        |       }t        j                  d|        |d   ri nd }||d   |d   j                  z  |d   d}d|v rt	        d      |j                         }|j                         }|d	   }|D ]D  }	||	   }
t        |      }t        |fi |}|
j                  |       |j                  d
      ||	<   F d|d   _        |d   rt        j                  d|       t        j                  d|       |j                  |       y )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                Y/home/ubuntu/crypto_trading_bot/.venv/lib/python3.12/site-packages/fontTools/qu2cu/cli.py_font_to_cubicr'      s   *D
KK*J7&BDE,'$v,*A*AAK(L ~788!H##%J<D @	#8$u--

3++$+?Y@ $%DL lK'
KK[)IIk    c           	         t        j                  d      }|j                  ddt        j                         |j                  dddd	
       |j                  dddd       |j                  ddt
        ddd       |j                  ddddd       |j                         }|j                  ddddd !       |j                  d"d#dd$d%!       |j                  |       }|j                  dk  r|j                  d&       |j                  sd'}n|j                  d(k(  rd)}nd*}t        j                  |+       t        |j                        d(kD  r|j                  r|j                  d,       |j                   r|j                   }t"        j$                  j'                  |      st#        j(                  |       n3t"        j$                  j+                  |      s|j                  d-|z         |j                  D cg c]?  }t"        j$                  j-                  |t"        j$                  j/                  |            A }}n?|j                  r|j                  g}n%|j                  D cg c]  }t1        |d.d/0       }}t3        |j                  dkD  |j                  |j4                  1      }t7        |j                  |      D ]  \  }	}
t9        |	|
fi |  yc c}w c c}w )2z7Convert 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 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 directoryTz.cubic)	overWritesuffix)r   r	   r   )argparseArgumentParseradd_argument	fontTools__version__floatadd_mutually_exclusive_group
parse_argsconversion_errorerrorverboseloggingbasicConfiglenr.   output_file
output_dirospathexistsmkdirisdirjoinbasenamer   dictr   zipr'   )argsparseroutput_parseroptionsr>   rP   poutput_pathsr   r   r   s              r&   _mainr`   .   s   $$'2F
Iy?T?TU
4	   k'1E
K   /   779M6   <   %G1$CD??	A	e$
7??aG$7$7IJ''
ww~~j)HHZ z*LL2Z?@CJ??
>?BGGLLRWW%5%5a%89
 
 
		++, __
 qDB
 

 ??Q&++##F $'w#E :
Kz;9&9:#

s   =AK,K#)N)rQ   rA   rL   fontTools.misc.cliToolsr   fontTools.ttLibr   fontTools.pens.qu2cuPenr   fontTools.pens.ttGlyphPenr   rD   	getLoggerr   r'   r`    r(   r&   <module>rg      s>    	   6 " , 0  
		,	-@S:r(   