Ë
    £eh¼  ã                   óü   — d dl Z d dlZ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
Z
ddlmZmZ dZ	 d dlZ ej&                  d«      Zd„ Zd„ Zdd	„Zd
„ Zd„ Zdd„Zy# e$ r 	 d dlZn# e$ r
ZY dZ[ndZ[ww xY wY ŒFw xY w)é    N)Úclosing)Úpartialé   )Úfont_to_quadraticÚfonts_to_quadraticzfontTools.cu2quc                  óJ   — 	 t        j                  «       S # t        $ r Y yw xY w)Nr   )ÚmpÚ	cpu_countÚNotImplementedError© ó    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/cu2qu/cli.pyÚ
_cpu_countr      s%   € ðÜ�|‰|‹~ÐøÜò Ùðús   ‚ –	"¡"c                 óž   — t        t        j                  d«      rt        j                  j                  | «      S t        j                  | «      S )NÚopen)ÚhasattrÚ
ufo_moduleÚFontr   )Úpaths    r   Úopen_ufor       s4   € ÜŒz�‰ Ô'Ü�‰×#Ñ# DÓ)Ð)Ü�?‰?˜4Ó Ð r   c                 óò   — t        | «      }t        j                  d| «       t        |fi |¤Žr;t        j                  d|«       |r|j	                  |«       y |j	                  «        y |rt        | |«       y y )NzConverting curves for %sú	Saving %s)r   ÚloggerÚinfor   ÚsaveÚ	_copytree)Ú
input_pathÚoutput_pathÚkwargsÚufos       r   Ú_font_to_quadraticr!   &   s`   € Ü
�:Ó
€CÜ
‡K�KÐ*¨JÔ7Ü˜Ñ' Ò'Ü�‰�K Ô-ÙØ�H‰H�[Õ!à�H‰H�JÙ	Ü�*˜kÕ*ð 
r   c                 óp  — t         j                  j                  t         j                  j                  t         j                  j	                  | «      «      «      } t         j                  j                  t         j                  j                  t         j                  j	                  |«      «      «      }| |k(  S ©N)Úosr   ÚnormcaseÚabspathÚrealpath)Úpath1Úpath2s     r   Ú	_samepathr*   3   sl   € ä�G‰G×ÑœRŸW™WŸ_™_¬R¯W©W×-=Ñ-=¸eÓ-DÓEÓF€EÜ�G‰G×ÑœRŸW™WŸ_™_¬R¯W©W×-=Ñ-=¸eÓ-DÓEÓF€EØ�E‰>Ðr   c                 óÜ   — t        | |«      rt        j                  d«       y t        j                  j                  |«      rt        j                  |«       t        j                  | |«       y )Nz6input and output paths are the same file; skipped copy)	r*   r   Údebugr$   r   ÚexistsÚshutilÚrmtreeÚcopytree)r   r   s     r   r   r   :   sF   € Ü�˜[Ô)Ü�‰ÐMÔNØÜ	‡w�w‡~�~�kÔ"Ü�‰�kÔ"Ü
‡O�O�J Õ,r   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                  dddd¬ «       |j                  «       }|j                  d!d"dd#¬$«       |j                  d%d&t        d'd(t        «       d)d*¬+«       |j                  «       }|j                  d,d-dd.d/¬0«       |j                  d1d2dd3d4¬0«       |j                  | «      }t        €|j                  d5«       |j                  sd6}n|j                  d(k(  rd7}nd8}t        j                  |¬9«       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(                  j1                  |t&        j(                  j3                  |«      «      ‘ŒA }}n3|j"                  r|j"                  g}ndgt        |j                   «      z  }t5        |j                  dkD  |j6                  |j8                  |j:                  rdnd<¬=«      }	|j<                  rÀt>        jA                  d>«       |j                   D �
cg c]  }
tC        |
«      ‘Œ }}
tE        |fi |	¤ŽrOtG        ||«      D ]?  \  }}t>        jA                  d?|«       |r|jI                  |«       Œ0|jI                  «        ŒA ytG        |j                   |«      D ]  \  }}|sŒ	tK        ||«       Œ y|jL                  d(kD  r)tO        t        |j                   «      |jL                  «      nd(}|d(kD  rttQ        tR        fi |	¤Ž}t>        jA                  d@|«       tU        tW        jX                  |«      «      5 }|j[                  |tG        |j                   |«      «       ddd«       ytG        |j                   |«      D ]  \  }}tS        ||fi |	¤Ž Œ yc c}w c c}
w # 1 sw Y   yxY w)Az1Convert a UFO font from cubic to quadratic curvesÚcu2qu)Úprogz	--versionÚversion)Úactionr4   Úinfilesú+ÚINPUTz%one or more input UFO source file(s).)ÚnargsÚmetavarÚhelpz-vz	--verboseÚcountr   )r5   Údefaultz-ez--conversion-errorÚERRORNz<maxiumum approximation error measured in EM (default: 0.001))Útyper:   r=   r;   z-mz--mixedFÚ
store_truez0whether to used mixed quadratic and cubic curves)r=   r5   r;   z--keep-directionÚreverse_directionÚstore_falsez$do not reverse the contour direction)Údestr5   r;   z-iz--interpolatablez@whether curve conversion should keep interpolation compatibility)r5   r;   z-jz--jobsú?r   ÚNz9Convert using N multiple processes (default: %(default)s))r?   r9   r=   Úconstr:   r;   z-oz--output-fileÚOUTPUTzsoutput filename for the converted UFO. By default fonts are modified in place. This only works with a single input.)r=   r:   r;   z-dz--output-dirÚ	DIRECTORYz-output directory where to save converted UFOsz9Either ufoLib2 or defcon are required to run this script.ÚWARNINGÚINFOÚDEBUG)Úlevelz2-o/--output-file can't be used with multile inputsz'%s' is not a directoryT)Ú
dump_statsÚ
max_err_emrA   Úall_quadraticzConverting curves compatiblyr   zRunning %d parallel processes).ÚargparseÚArgumentParserÚadd_argumentÚ	fontToolsÚ__version__ÚfloatÚadd_mutually_exclusive_groupÚintr   Ú
parse_argsr   ÚerrorÚverboseÚloggingÚbasicConfigÚlenr6   Úoutput_fileÚ
output_dirr$   r   r-   ÚmkdirÚisdirÚjoinÚbasenameÚdictÚconversion_errorrA   ÚmixedÚinterpolatabler   r   r   r   Úzipr   r   ÚjobsÚminr   r!   r   r	   ÚPoolÚstarmap)ÚargsÚparserÚmode_parserÚoutput_parserÚoptionsrL   r_   ÚpÚoutput_pathsr   ÚinfileÚufosr    r   r   ri   ÚfuncÚpools                     r   Ú_mainrx   C   sz  € ä×$Ñ$¨'Ô2€FØ
×Ñ˜¨I¼y×?TÑ?TÐÔUØ
×ÑØØØØ4ð	 ô ð ×Ñ˜˜k°'À1ÐÔEØ
×ÑØØÜØØØKð ô ð ×ÑØØØØØ?ð ô ð ×ÑØØ ØØ3ð	 ô ð ×5Ñ5Ó7€KØ×ÑØØØØOð	 ô ð ×ÑØØÜØØÜ‹lØØHð ô 	ð ×7Ñ7Ó9€MØ×ÑØØØØðFð ô 	ð ×ÑØØØØØ<ð ô ð ×Ñ Ó%€GäÐØ�‰ÐPÔQà�?Š?Ø‰Ø	�‰˜AÒ	Ø‰àˆÜ×Ñ˜eÕ$ä
ˆ7�?‰?Ó˜aÒ G×$7Ò$7Ø�‰ÐIÔJà×ÒØ×'Ñ'ˆ
Ü�w‰w�~‰~˜jÔ)Ü�H‰H�ZÕ Ü—‘—‘˜zÔ*Ø�L‰LÐ2°ZÑ?Ô@àCJÇ?Á?ö
Ø>?ŒB�G‰G�L‰L˜¤R§W¡W×%5Ñ%5°aÓ%8Õ9ð
ˆñ 
ð 
×	Ò	Ø×+Ñ+Ð,‰ð �v¤ G§O¡OÓ 4Ñ4ˆäØ—?‘? QÑ&Ø×+Ñ+Ø!×3Ñ3Ø&Ÿ}š}‘e°$ô	€Fð ×ÒÜ�‰Ð2Ô3Ø/6¯©Ö? V”˜Õ Ð?ˆÐ?Ü˜dÑ- fÒ-Ü$'¨¨lÓ$;ò Ñ ��[Ü—‘˜K¨Ô5ÙØ—H‘H˜[Õ)à—H‘H•Jñô ,/¨w¯©ÀÓ+Mò 7Ñ'�
˜KÚÜ˜j¨+Õ6ñ7ð ;B¿,¹,ÈÒ:JŒs”3�w—‘Ó'¨¯©Ô6ÐPQˆØ�!Š8ÜÔ-Ñ8°Ñ8ˆDÜ�K‰KÐ7¸Ô>ÜœŸ™ ›Ó'ð G¨4Ø—‘˜T¤3 w§¡¸Ó#EÔF÷Gð Gô ,/¨w¯©ÀÓ+Mò FÑ'�
˜KÜ" :¨{ÑE¸fÓEñFùòM
ùò$ @÷"Gð Gús   ÉAR6Ì:R;Ñ'S Ó S	r#   )r$   rP   r[   r.   Úmultiprocessingr	   Ú
contextlibr   Ú	functoolsr   rS   r    r   r   r   ÚufoLib2ÚImportErrorÚdefconÚeÚ	getLoggerr   r   r   r!   r*   r   rx   r   r   r   ú<module>r�      s�   ðÛ 	Û Û Û Û Ý Ý ã ß 6à€
ðÛ ð 
ˆ×	Ñ	Ð,Ó	-€òò!ó
+òò-ôCFøði ò ðÜ#øØò Üûðüðús5   °A ÁA;Á!A&Á%A;Á&A5Á+A;Á0A5Á5A;Á:A;