ó
    oñ:i‡'  ã                   ó$  • S r SSKJrJr  SSKJr  SSKJr  SSKJ	r	J
r
JrJrJrJrJrJr  SSKJr  SSKrSS	/r\R*                  " S
5      r " S S\5      rS rS rSS jr\S:X  a*  SSKr\R<                  " \" \R>                  SS 5      5        gg)zCFF to CFF2 converter.é    )ÚTTFontÚnewTable)ÚmakeOutputFileName)ÚT2WidthExtractor)ÚTopDictIndexÚFDArrayIndexÚFontDictÚ
buildOrderÚtopDictOperatorsÚprivateDictOperatorsÚtopDictOperators2ÚprivateDictOperators2)ÚBytesIONÚconvertCFFToCFF2ÚmainzfontTools.cffLibc                   ó    • \ rS rSrS rS rSrg)Ú_NominalWidthUsedErroré   c                 ó   • U e©N© ©ÚselfÚothers     Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/fontTools/cffLib/CFFToCFF2.pyÚ__add__Ú_NominalWidthUsedError.__add__   ó   € Øˆ
ó    c                 ó   • U er   r   r   s     r   Ú__radd__Ú_NominalWidthUsedError.__radd__   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r!   Ú__static_attributes__r   r   r   r   r      s   † òõr   r   c                 ó0  • U R                   S   n[        US5      (       a  UR                  OSnUR                  nU R                  nU(       a(  U Vs/ s H  n[        UR                  S/ 5      PM     snOD[        US5      (       a2  [        UR                  S5      (       a  UR                  R                  /O/ nUR                  5        H&  nUR                  U5      u  pšU	R                  5         M(     U/U-    HV  nU HM  nUR                  n[        U5      =pï UR                  S5      n UR                  S5      n/ U[        Xï5      S& MO     MX     Sn[!        5       nUR                  5        H—  nUR                  U5      u  pšU	R                  nU
b  Xz   O)[        US5      (       a  [        UR                  S/ 5      O/ n[#        UUUS5      n UR%                  U	5        U(       d  M|  US   S:X  d  M‡  UR'                  5         M™     U(       a  U R1                  5         S	U l        U R4                  R6                  n[9        SU5      nU R                    H  nUR;                  U5        M     UU l         US   n[        US5      (       a  UR                  nOSn[=        [>        5      nUUl         UUl!        [        US5      (       Gd	  [E        5       =o2l        SUl#        UR                  Ul        X2R                  l$        UR                  nURJ                  (       a  X4RL                  l$        OX4l$        [O        5       nURQ                  S5        UR;                  U5        UUl        [=        [R        5      nUbV  [T         HL  n U S
   n!U!U;  d  M  U!URV                  ;   a  URV                  U!	 [        UU!5      (       d  M@  [Y        UU!5        MN     GOUR                  n[=        [R        5      nU Hõ  nURQ                  S5        [[        URV                  R                  5       5       HA  n!U!UR@                  ;  d  M  URV                  U!	 [        UU!5      (       d  M5  [Y        UU!5        MC     UR                  n[T         Hc  n U S
   n!U!U;  d  M  U![[        URV                  R                  5       5      ;   a  URV                  U!	 [        UU!5      (       d  MW  [Y        UU!5        Me     M÷     [\         HT  n U S
   n!U!S:X  a  M  U!U;  d  M  U!URV                  ;   a  URV                  U!	 [        UU!5      (       d  MH  [Y        UU!5        MV     [_        5       n"U Ra                  U"USS9  U"Rc                  S5        U R                  U"USS9  gs  snf ! [         a     GNkf = f! [         a     GNjf = f! [          aÞ    [        U5      S	:¼  a¤  US
   S;   a›  SnUR'                  S5      n[)        U[*        5      (       d   U5       eUR'                  S5      nUS:X  a  UR,                  OUR.                  nUU-  nUS:X  a  UOUnUU   R                  nUUSS& [        U5      S	:¼  a  US
   S;   a  M›  [        U5      S
:¼  d   U5       eUR'                  S5         GN°f = f)züConverts this object from CFF format to CFF2 format. This conversion
is done 'in-place'. The conversion cannot be reversed.

This assumes a decompiled CFF table. (i.e. that the object has been
filled via :meth:`decompile` and e.g. not loaded from XML.)r   ÚFDArrayNÚSubrsÚPrivateÚreturnÚendcharFé   é   )ÚcallsubrÚ	callgsubrTr0   éÿÿÿÿÚcharset)ÚisCFF2)2ÚtopDictIndexÚhasattrr)   ÚCharStringsÚGlobalSubrsÚgetattrr+   r*   ÚkeysÚgetItemAndSelectorÚ	decompileÚprogramÚlenÚindexÚ
ValueErrorÚminr   r   ÚexecuteÚpopÚ
isinstanceÚintÚ	localBiasÚ
globalBiasÚremove_unused_subroutinesÚmajorÚotFontÚgetGlyphOrderr   Úappendr
   r   ÚorderÚcff2GetGlyphOrderr   ÚstringsÚfdArrayÚcharStringsAreIndexedÚcharStringsIndexr	   ÚsetCFF2r   r   ÚrawDictÚdelattrÚlistr   r   ÚcompileÚseek)#ÚcffrJ   ÚtopDictrP   ÚcharStringsÚglobalSubrsÚfdÚ
localSubrsÚ	glyphNameÚcsÚfdIndexÚsubrsÚsubrr=   ÚiÚjÚremoveUnusedSubrsÚnominalWidthXErrorÚthisLocalSubrsÚ	extractorÚ
subrNumberÚopÚbiasÚsubrSetÚsubrProgramrN   ÚtopDictDataÚitemÚprivateDictÚopOrderÚfontDictÚprivateOpOrderÚentryÚkeyÚfiles#                                      r   Ú_convertCFFToCFF2rx   !   s  € ð ×Ñ˜qÑ!€GÜ!(¨°)×!<Ñ!<ˆg�oŠoÀ$€GØ×%Ñ%€KØ—/‘/€Kö ñ 5<Ó<²G¨bŒ�—‘˜W bÖ	)±GÒ<ô �w 	×*Ñ*¬w°w·±È×/PÑ/Pð �_‰_×"Ñ"Ñ#àð ð !×%Ñ%Ö'ˆ	Ø!×4Ñ4°YÓ?‰ˆØ
�‰Žñ (ð
 � Ô+ˆÛˆDØ—l‘lˆGÜ˜“LÐ ˆAðØ—M‘M (Ó+�ðØ—M‘M )Ó,�ð $&ˆG”C˜“I�KÒ ó ñ ,ð ÐÜ/Ó1ÐØ ×%Ñ%Ö'ˆ	Ø!×4Ñ4°YÓ?‰ˆØ—*‘*ˆð Ñ"ð Òô ˜7 I×.Ñ.ô ˜Ÿ™¨°"Ô5àð 	ô %ØØØØó	
ˆ	ð	Ø×Ñ˜bÔ!÷( ˆ7�w˜r‘{ iÕ/Ø�K‰KŽMñY (ö\ Ø×%Ñ%Ô'ð €C„IØŸ
™
×0Ñ0ÐÜ˜tÐ%6Ó7€KØ× Ô ˆà×Ñ˜4Ö ñ !ð #€CÔØ˜!‰n€GÜˆw˜	×"Ñ"Ø—o‘o‰àˆÜÔ*Ó+€GØ€G„MØ 1€GÔä�7˜I×&Ò&Ü$0£NÐ2ˆ”/ØˆŒØ%×1Ñ1ˆÔØ&-×ÑÔ#Ø×)Ñ)ˆØ×,×,Ø3:×(Ñ(Õ0à")ÔÜ“:ˆØ×Ñ˜ÔØ�‰�xÔ Ø&ˆÔÜ#Ô$9Ó:ˆØÑ"ß-�Ø˜A‘h�Ø˜nÕ,Ø˜k×1Ñ1Ó1à'×/Ñ/°Ð4Ü˜{¨C×0Ó0Ü ¨SÖ1ñ .ùð —/‘/ˆÜ#Ô$9Ó:ˆÛˆHØ×Ñ˜TÔ"Ü˜H×,Ñ,×1Ñ1Ó3Ö4�Ø˜hŸn™nÕ,Ø ×(Ñ(¨Ð-Ü˜x¨×-Ó-Ü ¨#Ö.ñ	 5ð #×*Ñ*ˆKß-�Ø˜A‘h�Ø˜nÕ,Øœd ;×#6Ñ#6×#;Ñ#;Ó#=Ó>Ó>à'×/Ñ/°Ð4Ü˜{¨C×0Ó0Ü ¨SÖ1ó .ñ  ÷( "ˆØ�A‰hˆð �)ÓÙØ�gÕØ�g—o‘oÓ%Ø—O‘O CÐ(Ü�w ×$Ó$Ü˜ Ö%ñ "ô6 ‹9€DØ‡K�K��f T€KÑ*Ø‡I�Iˆa„LØ‡M�M�$˜ t€MÒ,ùòc 	=øô( ó Úðûô ó Úðûô> &ó 	ô
 �g“, !Ó#¨°©
Ð6OÓ(OØ$(Ð!Ø$Ÿ[™[¨›^�
Ü! *¬c×2Ñ2Ð>°JÓ>Ð2Ø—[‘[ “^�Ø.0°JÓ.>�y×*Ò*ÀI×DXÑDX�Ø˜dÑ"�
Ø,.°*Ó,<™.À+�Ø% jÑ1×9Ñ9�Ø)�˜˜�ô �g“, !Ó#¨°©
Ð6OÕ(Oô �w“< 1Ó$Ð- gÓ-Ð$Ø�K‰K˜�Nð#	úsC   Á!VÄVÄ.VÇV-Ö
VÖVÖ
V*Ö)V*Ö-B;ZÙ*'ZÚZc                 óh   • U S   R                   nU S	 [        X5        [        S5      =o S'   Xl         g )NzCFF ÚCFF2)rY   rx   r   )ÚfontrY   Útables      r   r   r   ã   s6   € Ø
ˆv‰,×
Ñ
€CØˆVˆÜ�cÔ Ü# FÓ+Ð+€E�‰LØ…Ir   c                 ó,  • U c  SSK nUR                  SS n SSKnUR                  SSS9nUR	                  SSS	S
9  UR	                  SSSSSS9  UR	                  SSSSS9  UR                  SS9nUR	                  SSSSS9  UR	                  SSSSS9  UR                  U 5      nSSKJn  U" UR                  (       a  S OUR                  (       a  S!OS"S#9  SSKnUR                  nUR                  R                  U5      (       d   UR                  S$R!                  U5      5        UR"                  (       d  [%        US%S&S'9OUR"                  n	['        X…R(                  SS(9n
[+        U
5        [,        R/                  S)U	5        U
R1                  U	5        g)*z%Convert CFF OTF font to CFF2 OTF fontNr   r/   zfonttools cffLib.CFFToCFF2zUpgrade a CFF font to CFF2.)ÚdescriptionÚinputz	INPUT.ttfzInput OTF file with CFF table.)ÚmetavarÚhelpz-oz--outputz
OUTPUT.ttfz3Output instance OTF file (default: INPUT-CFF2.ttf).)r€   Údefaultr�   z--no-recalc-timestampÚrecalc_timestampÚstore_falsez:Don't set the output font's timestamp to the current time.)ÚdestÚactionr�   F)Úrequiredz-vz	--verboseÚ
store_truezRun more verbosely.)r†   r�   z-qz--quietzTurn verbosity off.)ÚconfigLoggerÚDEBUGÚERRORÚINFO)ÚlevelzNo such file '{}'Tz-CFF2)Ú	overWriteÚsuffix)ÚrecalcTimestampÚrecalcBBoxesz	Saving %s)ÚsysÚargvÚargparseÚArgumentParserÚadd_argumentÚadd_mutually_exclusive_groupÚ
parse_argsÚ	fontToolsr‰   ÚverboseÚquietÚosr   ÚpathÚisfileÚerrorÚformatÚoutputr   r   rƒ   r   ÚlogÚinfoÚsave)Úargsr’   r”   ÚparserÚloggingGroupÚoptionsr‰   rœ   ÚinfileÚoutfiler{   s              r   r   r   ë   s³  € à�|Ûà�x‰x˜˜ˆ|ˆãà×$Ñ$Ø$Ø1ð %ð €Fð ×ÑØ˜Ð+Kð ñ ð ×ÑØØØØØBð ñ ð ×ÑØØØØIð	 ñ ð ×6Ñ6ÀÐ6ÐF€LØ×ÑØˆk ,Ð5Jð ñ ð ×ÑØˆi Ð3Hð ñ ð ×Ñ Ó%€Gå&áØ!Ÿ/Ÿ/‰w¸'¿-¿-©wÈVòó à�]‰]€FØ�7‰7�>‰>˜&×!Ñ!Ø�‰Ð(×/Ñ/°Ó7Ô8ð �~�~ô 	˜6¨T¸'ÒBà�^‰^ð ô �&×*BÑ*BÐQVÑW€Dä�TÔä‡H�HØØôð 	‡I�IˆgÕr   Ú__main__r/   r   ) Ú__doc__ÚfontTools.ttLibr   r   ÚfontTools.misc.cliToolsr   ÚfontTools.misc.psCharStringsr   ÚfontTools.cffLibr   r   r	   r
   r   r   r   r   Úior   ÚloggingÚ__all__Ú	getLoggerr¢   Ú	Exceptionr   rx   r   r   r#   r’   Úexitr“   r   r   r   Ú<module>r·      s‘   ðÙ ç ,Ý 6Ý 9÷	÷ 	ó 	õ Û à˜vÐ
&€ð ×ÒÐ*Ó+€ô˜Yô ò-òDô@ðF ˆzÓÛà‡H‚H‰T�#—(‘(˜1˜2�,ÓÕ ð r   