§
    ¢”j»  ã                   óü   — 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n## e$ r 	 d dlZn# e$ r
ZY dZ[ndZ[ww xY wY nw xY w ej        d¦  «        Zd„ Zd„ Zdd	„Zd
„ Zd„ Zdd„ZdS )é    N)Úclosing)Úpartialé   )Úfont_to_quadraticÚfonts_to_quadraticzfontTools.cu2quc                  óL   — 	 t          j        ¦   «         S # t          $ r Y dS w xY w)Nr   )ÚmpÚ	cpu_countÚNotImplementedError© ó    úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/cu2qu/cli.pyÚ
_cpu_countr      s5   € ðÝŒ|‰~Œ~ÐøÝð ð ð Øˆqˆqðøøøs   ‚ •
#¢#c                 óœ   — t          t          j        d¦  «        rt          j                             | ¦  «        S t          j        | ¦  «        S )NÚopen)ÚhasattrÚ
ufo_moduleÚFontr   )Úpaths    r   Úopen_ufor       s<   € Ý�zŒ Ñ'Ô'ð *ÝŒ×#Ò# DÑ)Ô)Ð)ÝŒ?˜4Ñ Ô Ð r   c                 ó0  — t          | ¦  «        }t                               d| ¦  «         t          |fi |¤ŽrJt                               d|¦  «         |r|                     |¦  «         d S |                     ¦   «          d S |rt          | |¦  «         d S d S )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Ô7Ð7Ý˜Ð'Ð' Ð'Ð'ð +Ý�Š�K Ñ-Ô-Ð-Øð 	Ø�HŠH�[Ñ!Ô!Ð!Ð!Ð!à�HŠH‰JŒJˆJˆJˆJØ	ð +Ý�*˜kÑ*Ô*Ð*Ð*Ð*ð+ð +r   c                 ór  — t           j                             t           j                             t           j                             | ¦  «        ¦  «        ¦  «        } t           j                             t           j                             t           j                             |¦  «        ¦  «        ¦  «        }| |k    S ©N)Úosr   ÚnormcaseÚabspathÚrealpath)Úpath1Úpath2s     r   Ú	_samepathr*   3   sr   € åŒG×Ò�RœWŸ_š_­R¬W×-=Ò-=¸eÑ-DÔ-DÑEÔEÑFÔF€EÝŒG×Ò�RœWŸ_š_­R¬W×-=Ò-=¸eÑ-DÔ-DÑEÔEÑFÔF€EØ�EŠ>Ðr   c                 óî   — t          | |¦  «        rt                               d¦  «         d S t          j                             |¦  «        rt          j        |¦  «         t          j        | |¦  «         d S )Nz6input and output paths are the same file; skipped copy)	r*   r   Údebugr$   r   ÚexistsÚshutilÚrmtreeÚcopytree)r   r   s     r   r   r   :   sj   € Ý�˜[Ñ)Ô)ð Ý�ŠÐMÑNÔNÐNØˆÝ	„w‡~‚~�kÑ"Ô"ð #ÝŒ�kÑ"Ô"Ð"Ý
„O�J Ñ,Ô,Ð,Ð,Ð,r   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&t          d'd(t          ¦   «         d)d*¬+¦  «         |                     ¦   «         }|                     d,d-dd.d/¬0¦  «         |                     d1d2dd3d4¬0¦  «         | 	                    | ¦  «        }t          €|                     d5¦  «         |j        sd6}n|j        d(k    rd7}nd8}t          j        |¬9¦  «         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gt          |j        ¦  «        z  }t1          |j        dk    |j        |j        |j        rdnd=¬>¦  «        }|j        rÆt:                               d?¦  «         d@„ |j        D ¦   «         }t?          |fi |¤Žr_tA          ||¦  «        D ]L\  }	}
t:                               dA|
¦  «         |
r|	 !                    |
¦  «         Œ8|	 !                    ¦   «          ŒMdS tA          |j        |¦  «        D ]\  }}
|
rtE          ||
¦  «         ŒdS |j#        d(k    r'tI          t          |j        ¦  «        |j#        ¦  «        nd(}|d(k    r’tK          tL          fi |¤Ž}t:                               dB|¦  «         tO          tQ          j)        |¦  «        ¦  «        5 }| *                    |tA          |j        |¦  «        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS tA          |j        |¦  «        D ]\  }}
tM          ||
fi |¤Ž ŒdS )Cz1Convert 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;maximum 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 directoryc                 óŠ   •— g | ]?}t           j                             ‰t           j                             |¦  «        ¦  «        ‘Œ@S r   )r$   r   ÚjoinÚbasename)Ú.0ÚpÚ
output_dirs     €r   ú
<listcomp>z_main.<locals>.<listcomp>Ÿ   sF   ø€ ð 
ð 
ð 
Ø>?�BŒG�LŠL˜¥R¤W×%5Ò%5°aÑ%8Ô%8Ñ9Ô9ð
ð 
ð 
r   T)Ú
dump_statsÚ
max_err_emrA   Úall_quadraticzConverting curves compatiblyc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )r   )rP   Úinfiles     r   rS   z_main.<locals>.<listcomp>±   s    € Ð?Ð?Ð? V•˜Ñ Ô Ð?Ð?Ð?r   r   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_filerR   r$   r   r-   ÚmkdirÚisdirÚdictÚconversion_errorrA   ÚmixedÚinterpolatabler   r   r   Úzipr   r   ÚjobsÚminr   r!   r   r	   ÚPoolÚstarmap)ÚargsÚparserÚmode_parserÚoutput_parserÚoptionsrL   Úoutput_pathsr   Úufosr    r   r   ro   ÚfuncÚpoolrR   s                  @r   Ú_mainr|   C   sÝ  ø€ åÔ$¨'Ð2Ñ2Ô2€FØ
×Ò˜¨I½yÔ?TÐÑUÔUÐUØ
×ÒØØØØ4ð	 ñ ô ð ð ×Ò˜˜k°'À1ÐÑEÔEÐEØ
×ÒØØÝØØØJð ñ ô ð ð ×ÒØØØØØ?ð ñ ô ð ð ×ÒØØ ØØ3ð	 ñ ô ð ð ×5Ò5Ñ7Ô7€KØ×ÒØØØØOð	 ñ ô ð ð ×ÒØØÝØØÝ‰lŒlØØHð ñ 	ô 	ð 	ð ×7Ò7Ñ9Ô9€MØ×ÒØØØØðFð ñ 	ô 	ð 	ð ×ÒØØØØØ<ð ñ ô ð ð ×Ò Ñ%Ô%€GåÐØ�ŠÐPÑQÔQÐQàŒ?ð ØˆˆØ	Œ˜AÒ	Ð	ØˆˆàˆÝÔ˜eÐ$Ñ$Ô$Ð$å
ˆ7Œ?ÑÔ˜aÒÐ GÔ$7ÐØ�ŠÐIÑJÔJÐJàÔð 5ØÔ'ˆ
ÝŒw�~Š~˜jÑ)Ô)ð 	AÝŒH�ZÑ Ô Ð Ð Ý”—’˜zÑ*Ô*ð 	AØ�LŠLÐ2°ZÑ?Ñ@Ô@Ð@ð
ð 
ð 
ð 
ØCJÄ?ð
ñ 
ô 
ˆˆð 
Ô	ð 5ØÔ+Ð,ˆˆð �v¥ G¤OÑ 4Ô 4Ñ4ˆåØ”? QÒ&ØÔ+Ø!Ô3Ø&œ}Ð6�e�e°$ð	ñ ô €Fð Ôð FÝ�ŠÐ2Ñ3Ô3Ð3Ø?Ð?¨w¬Ð?Ñ?Ô?ˆÝ˜dÐ-Ð- fÐ-Ð-ð 
	7Ý$'¨¨lÑ$;Ô$;ð ð Ñ ��[Ý—’˜K¨Ñ5Ô5Ð5Øð Ø—H’H˜[Ñ)Ô)Ð)Ð)à—H’H‘J”J�J�Jðð õ ,/¨w¬ÀÑ+MÔ+Mð 7ð 7Ñ'�
˜KØð 7Ý˜j¨+Ñ6Ô6Ð6øð7ð 7ð ;B¼,ÈÒ:JÐ:J�s•3�w”Ñ'Ô'¨¬Ñ6Ô6Ð6ÐPQˆØ�!Š8ˆ8ÝÕ-Ð8Ð8°Ð8Ð8ˆDÝ�KŠKÐ7¸Ñ>Ô>Ð>Ý�œ ™œÑ'Ô'ð G¨4Ø—’˜T¥3 w¤¸Ñ#EÔ#EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gõ ,/¨w¬ÀÑ+MÔ+Mð Fð FÑ'�
˜KÝ" :¨{ÐEÐE¸fÐEÐEÐEÐEðFð Fs   Ð.*Q%Ñ%Q)Ñ,Q)r#   )r$   rY   rd   r.   Úmultiprocessingr	   Ú
contextlibr   Ú	functoolsr   r\   r    r   r   r   ÚufoLib2ÚImportErrorÚdefconÚeÚ	getLoggerr   r   r   r!   r*   r   r|   r   r   r   ú<module>r…      s€  ðØ 	€	€	€	Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à€
ðØ Ð Ð Ð Ð øØð ð ð ðØ#Ð#Ð#Ð#Ð#øØð ð ð Øˆˆˆˆøøøøðøøøøøðøøøð 
ˆÔ	Ð,Ñ	-Ô	-€ðð ð ð!ð !ð !ð
+ð 
+ð 
+ð 
+ðð ð ð-ð -ð -ðCFð CFð CFð CFð CFð CFs1   °5 µA»A ¿AÁ AÁAÁ
AÁAÁA