
    jke                         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sJ 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getGlyphSetgetGlyphOrderr   r   drawglyphglyphDataFormatsave)
input_pathoutput_pathkwargsfontr   qu2cu_kwargsglyphSet
glyphOrderr   	glyphNamer   ttpenpens                5/usr/lib/python3/dist-packages/fontTools/qu2cu/cli.py_font_to_cubicr&      s   *D
KK*J7&BDE,'$v,*A*AAK(L ===!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                  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]  }t/        |d-d./       }}t1        |j                  dkD  |j2                  |j4                  0      }t7        |j                  |      D ]  \  }	}
t9        |	|
fi |  yc c}w c c}w )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))typer1   r4   r2   z-cz--all-cubicF
store_truez whether to only use cubic curves)r4   r,   r2   z-oz--output-fileNOUTPUTz&output filename for the converted TTF.)r4   r1   r2   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 directoryTz.cubic)	overWritesuffix)r   r	   r   )argparseArgumentParseradd_argument	fontTools__version__floatadd_mutually_exclusive_group
parse_argsverboseloggingbasicConfiglenr-   output_fileerror
output_dirospathexistsmkdirisdirjoinbasenamer   dictconversion_errorr   zipr&   )argsparseroutput_parseroptionsr=   rN   poutput_pathsr   r   r   s              r%   mainr_   -   s   $$'2F
Iy?T?TU
4	   k'1E
K   /   779M6   <   %G??	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J>K)N)rO   r@   rI   fontTools.misc.cliToolsr   fontTools.ttLibr   fontTools.pens.qu2cuPenr   fontTools.pens.ttGlyphPenr   rC   	getLoggerr   r&   r_    r'   r%   <module>rf      s=    	   6 " , 0  
		,	->P:r'   