Ë
    £eh¯%  ã                   óÚ   — d dl mZmZ d dlm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	„ Zd
„ Zdd„Zdd„Zedk(  rd dlZ ej.                   e«       «       yy)é    )Ú	_add_avarÚload_designspace)ÚVariationModel)ÚVarStoreInstancer)ÚfixedToFloat)ÚmakeOutputFileName)ÚproductNzfontTools.varLib.avarc                 ó°   — | dk\  r)|j                   | |j                  |j                   z
  z  z   S |j                   | |j                   |j                  z
  z  z   S )Nr   )ÚdefaultValueÚmaxValueÚminValue)ÚvÚaxiss     úS/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/varLib/avar.pyÚ_denormalizer      sS   € ØˆA‚vØ× Ñ  1¨¯©¸×8IÑ8IÑ(IÑ#JÑJÐJà× Ñ  1¨×(9Ñ(9¸D¿M¹MÑ(IÑ#JÑJÐJó    c                 ó˜  — t        | |«      }|j                  }|j                  }|D �ci c]  }t        |j	                  «       «      d “Œ }}|D �]B  }| j                  |«      }	||	   }	||	   }
t        |
j                  «       «      }|
j	                  «       D ]ø  \  }\  }}}||fD ]è  }|dv rŒ|j                  «       D ];  }t        |«      }t        |j                  «       «      }||k7  rŒ-||vrŒ2||   |k(  sŒ; ŒU t        |	dz
  dd«      D ]z  }||   }t        |j                  «       «      }||k7  rŒ'||vrŒ,|j	                  «       D ���ci c]  \  }\  }}}||“Œ }}}}||   |k(  sŒ^d |t        |j	                  «       «      <    Œâ J d«       ‚ Œú �ŒE |j                  «       D �cg c]  }t        |«      ‘Œ c}S c c}w c c}}}w c c}w )N©éÿÿÿÿr   é   r   r   zNo pin found)
r   ÚmappingÚsupportsÚtupleÚitemsÚindexÚsetÚkeysÚdictÚrange)Ú	locationsÚpolesÚaxisTagsÚmodelÚmodelMappingÚmodelSupportsÚkÚpinsÚlocationÚiÚsupportÚsupportAxesÚaxisTagÚminVÚ_ÚmaxVr   ÚpinÚpinLocationÚpinAxesÚcandidateIdxÚ	candidateÚcandidateAxesÚdefaultVÚts                            r   Ú_pruneLocationsr8      s  € ô" ˜9 hÓ/€EØ—=‘=€LØ—N‘N€MØ,1Ö2 qŒE�!—'‘'“)Ó˜dÑ"Ð2€DÐ2Øó &5ˆØ�O‰O˜HÓ%ˆØ˜‰OˆØ Ñ"ˆÜ˜'Ÿ,™,›.Ó)ˆØ(/¯©«ò !	5Ñ$ˆG‘_�d˜A˜tØ˜D�\ò  5�Ø˜
‘?ØØŸ9™9›;ò 5�CÜ"& s£)�KÜ! +×"2Ñ"2Ó"4Ó5�GØ +Ò-Ø Ø gÑ-Ø Ø" 7Ñ+¨qÓ0Ùð5ô ).¨a°!©e°R¸Ó(<ò 5˜Ø$1°,Ñ$?˜	Ü(+¨I¯N©NÓ,<Ó(=˜Ø(¨KÒ7Ø$Ø"¨-Ñ7Ø$àCLÇ?Á?ÓCT÷%ð %Ù,?¨AÑ/?°°8¸Q˜A˜x™Kð%˜	ò %ð % WÑ-°Ó2Ø=A˜D¤ y§¡Ó'8Ó!9Ñ:Ù!ð5ð 5 nÓ4˜uñA 5ò!	5ð&5ðN "ŸY™Y›[Ö)˜ŒD��GÒ)Ð)ùòQ 3ùô@%ùò *s   ©!F;Å
G Æ&Gc                 óâ  ‡‡&‡'— | d   j                   }|D �ci c]  }|j                  |“Œ c}Š'|D �cg c]  }|j                  ‘Œ }}t        |«      D ��ci c]  \  }}|j                  |“Œ c}}Š&d| vri i fS | d   }|j                  j	                  «       D ��ci c]  \  }}|r|ddddœk7  r||“Œ }	}}g }
t        |dd«      dk(  �r‘|j                  j                  }|j                  j                  }d	d i}t        d	h«      }|j                  D �]  }|j                  }|D �]	  }g }g }||   }t        |j                  «      D ]¢  \  }}|j                  dk(  rŒ||   }|j                  ||j                  f«       g }|j                   dk7  r|j                  ||j                   f«       |j"                  dk7  r|j                  ||j"                  f«       |j                  |«       Œ¤ t        t%        |Ž «      }t'        |«      }d ||<   |j)                  |«       |j+                  |«       �Œ �Œ! t-        |ˆ&fd
„¬«      D �cg c]  }t/        |«      ‘Œ }}|j1                  «       D �cg c]  }t/        |«      ‘Œ }}t3        |t5        |«      |«      }|j                  j6                  }t9        ||«      }|D ]u  }|j;                  |«       i }t        |«      D ]?  \  }}|}|�||   }||   }|dk7  sŒ|j=                  |d«      } | t?        |d«      z   } | ||<   ŒA |
j                  ||f«       Œw |
d   d   i k(  sJ ‚|
d   d   i k(  r|
jA                  d«       |rà|	j	                  «       D ]P  \  Š}‰‰'vrtC        d‰› �«      ‚ˆ'ˆfd„}!|j	                  «       D �"� ci c]  \  }"}  |!|"«       |!| «      “Œ c} }"|	‰<   ŒR t        |
«      D ]o  \  }\  }#}$|#j	                  «       D ��%ci c]  \  }}%|tE        |%‰'|   «      “Œ }#}}%|$j	                  «       D ��%ci c]  \  }}%|tE        |%‰'|   «      “Œ }$}}%|#|$f|
|<   Œq |	|
fS c c}w c c}w c c}}w c c}}w c c}w c c}w c c} }"w c c}%}w c c}%}w )NÚfvarÚavarr   r   r   r   ÚmajorVersioné   © c                 óB   •— t        | «      t        ˆfd„| D «       «      fS )Nc              3   ó.   •K  — | ]  \  }}‰|   –— Œ y ­w©Nr>   )Ú.0Útagr.   ÚaxisIndexess      €r   ú	<genexpr>z7mappings_from_avar.<locals>.<lambda>.<locals>.<genexpr>ˆ   s   øè ø€ Ò,NÁ&À#Àq¨[¸Õ-=Ñ,Nùs   ƒ)Úlenr   )r7   rD   s    €r   ú<lambda>z$mappings_from_avar.<locals>.<lambda>ˆ   s   ø€ œs 1›v¤uÓ,NÈAÔ,NÓ'NÐO€ r   )Úkeyé   zUnknown axis tag c                 ó"   •— t        | ‰‰   «      S rA   )r   )r   ÚaxisMaprC   s    €€r   rG   z$mappings_from_avar.<locals>.<lambda>ª   s   ø€ œ|¨A¨w°s©|Ó<€ r   )#Úaxesr,   Ú	enumerateÚsegmentsr   ÚgetattrÚtableÚVarStoreÚVarRegionListÚRegionr   ÚVarDataÚVarRegionIndexÚVarRegionAxisÚ	PeakCoordÚappendÚ
StartCoordÚEndCoordr	   r   ÚaddÚupdateÚsortedr   r   r8   ÚlistÚ	VarIdxMapr   ÚsetLocationÚgetÚfi2flÚpopÚ
ValueErrorr   )(ÚfontÚdenormalizeÚfvarAxesÚar"   r)   r;   rC   ÚsegÚaxisMapsÚmappingsÚvarStoreÚregionsr!   ÚinputLocationsÚvarDataÚregionIndicesÚregionIndexÚpeakLocationÚcornersÚregionÚ	axisIndexr   r,   Úcornerr7   Ú	varIdxMapÚ	instancerr(   ÚoutputLocationÚvarIdxÚdeltar   Údenormr&   ÚinputLocÚ	outputLocÚvalrD   rK   s(          `                              @@r   Úmappings_from_avarr€   R   sÆ  ú€ Ø�F‰|× Ñ €HØ%-Ö. ˆq�y‰y˜!‰|Ò.€GØ#+Ö,˜a�—	“	Ð,€HÐ,Ü,5°hÓ,?×@¡D A q�1—9‘9˜a‘<Ó@€KØ�TÑØ�2ˆvˆØ�‰<€Dð Ÿ™×+Ñ+Ó-÷áˆC�Ù�3˜r a¨AÑ.Ò.ð 	ˆS‰ð€Hñ ð
 €Häˆt�^ QÓ'¨1Ó,Ø—:‘:×&Ñ&ˆØ×(Ñ(×/Ñ/ˆð �T�
ˆÜ˜b˜T›ˆØ×'Ñ'ó 	/ˆGØ#×2Ñ2ˆMØ,ó /�Ø!�Ø�Ø  Ñ-�Ü'0°×1EÑ1EÓ'Fò 
+‘O�I˜tØ—~‘~¨Ò*Ø Ø& yÑ1�GØ ×'Ñ'¨°$·.±.Ð(AÔBØ�FØ—‘¨!Ò+ØŸ™ w°·±Ð&@ÔAØ—}‘}¨Ò)ØŸ™ w°·±Ð&>Ô?Ø—N‘N 6Õ*ð
+ô œg wÐ/Ó0�Ü$ \Ó2�Ø&*��lÑ#Ø×"Ñ" <Ô0Ø×%Ñ% gÖ.ò'/ð	/ô4 ØÛOôö
àô ��Gð
ˆð 
ð #(§*¡*£,Ö/˜Q”�a•Ð/ˆÐ/Ü(¨¼¸e»ÀhÓOˆð —J‘J×(Ñ(ˆ	Ü% h°Ó9ˆ	Ø&ò 	8ˆHØ×!Ñ! (Ô+ØˆNÜ&/°Ó&9ò 
0Ñ"�	˜7Ø"�ØÐ(Ø& vÑ.�FØ! &Ñ)�Ø˜A“:Ø Ÿ™ W¨aÓ0�AØœE %¨Ó,Ñ,�Að /0�N 7Ò+ð
0ð �O‰O˜X ~Ð6Õ7ð	8ð" ˜‰{˜1‰~ Ò#Ð#Ð#Ø�A‰;�q‰>˜RÒØ�L‰L˜ŒOáØ Ÿ™Ó(ò 	K‰HˆC�Ø˜'Ñ!Ü Ð#4°S°EÐ!:Ó;Ð;Ü<ˆFØ>A¿i¹i»k×J±d°a¸™V A›Y©¨q«	Ñ1ÓJˆH�SŠMð		Kô )2°(Ó(;ò 	0Ñ$ˆAÑ$�˜)àEMÇ^Á^ÓEU÷Ù9A¸¸c�”\ # w¨s¡|Ó4Ñ4ðˆHñ ð FOÇ_Á_ÓEV÷Ù9A¸¸c�”\ # w¨s¡|Ó4Ñ4ðˆIñ ð $ YÐ/ˆH�QŠKð	0ð �XÐÐùòE /ùÚ,ùÛ@ùóùòT
ùò 0ùó@ Kùóùós4   —P?²QÁQ	ÂQÉQÉ*QÎQÏ%Q%ÐQ+c                 ó  — | €ddl }|j                  dd } ddlm} ddlm} ddlm} ddl}|j                  dd ¬«      }|j                  d	d
d¬«       |j                  ddddd¬«       |j                  ddt        d¬«       |j                  dddd¬«       |j                  | «      } ||j                  rdnd¬«        ||j                  «      }d|vrt        j!                  d«       y|j"                  €:dd lm}	 t'        |«      \  }
} |	|
«        |	|«       t)        t+        |«      d!«       y|d   j,                  D �cg c]  }|j.                  ‘Œ }}t1        |j"                  d"¬#«      }d$|v rt        j3                  d%«       |d$= t5        ||j,                  |j6                  |«       |j8                  €t;        |j                  d&d'¬(«      }n|j8                  }|r(t        j=                  d)|«       |j?                  |«       yyc c}w )*z8Add `avar` table from designspace file to variable font.Nr   r   )ÚconfigLogger)ÚTTFont)ÚDesignSpaceDocumentzfonttools varLib.avar)Údescriptionre   zvarfont.ttfzVariable-font file.)ÚmetavarÚhelpÚdesignspacezfamily.designspacezDesignspace file.ú?)r†   r‡   ÚnargsÚdefaultz-oz--output-filezOutput font file name.)Útyper‡   z-vz	--verboseÚ
store_truezRun more verbosely.)Úactionr‡   ÚINFOÚWARNING)Úlevelr:   zNot a variable font.)Úpprintrk   F)Úrequire_sourcesr;   z(avar table already present, overwriting.Tz.avar)Ú	overWriteÚsuffixz	Saving %s) ÚsysÚargvÚ	fontToolsr‚   ÚfontTools.ttLibrƒ   ÚfontTools.designspaceLibr„   ÚargparseÚArgumentParserÚadd_argumentÚstrÚ
parse_argsÚverbosere   ÚlogÚerrorrˆ   r’   r€   ÚprintrF   rL   r,   r   Úwarningr   ÚaxisMappingsÚoutput_filer   ÚinfoÚsave)Úargsr–   r‚   rƒ   r„   r›   ÚparserÚoptionsre   r’   rN   rk   rh   r"   ÚdsÚoutfiles                   r   Úmainr®   ¹   sö  € ð €|Ûà�x‰x˜˜ˆ|ˆå&Ý&Ý<Ûà×$Ñ$ØØNð %ó €Fð ×Ñ˜¨Ð<QÐÔRØ
×ÑØØ$Ø ØØð ô ð ×ÑØØÜØ%ð	 ô ð ×ÑØˆk ,Ð5Jð ô ð ×Ñ Ó%€Gá '§/¢/™°yÕBá�'—,‘,Ó€DØ�T‰>Ü�	‰	Ð(Ô)Øà×ÑÐ"Ý!ä/°Ó5Ñˆ�(ÙˆxÔÙˆxÔÜŒc�(‹m˜ZÔ(Øà#'¨¡<×#4Ñ#4Ö5˜a�—	“	Ð5€HÐ5ä	˜'×-Ñ-¸uÔ	E€Bà��~Ü�‰Ð>Ô?Ø�ˆLäˆd�B—G‘G˜RŸ_™_¨hÔ7à×ÑÐ"Ü$ W§\¡\¸TÈ'ÔR‰à×%Ñ%ˆÙÜ�‰�˜gÔ&Ø�	‰	�'Õð ùò 6s   ÅHÚ__main__)TrA   )ÚfontTools.varLibr   r   ÚfontTools.varLib.modelsr   ÚfontTools.varLib.varStorer   ÚfontTools.misc.fixedToolsr   rb   ÚfontTools.misc.cliToolsr   Ú	itertoolsr	   ÚloggingÚ	getLoggerr¡   r   r8   r€   r®   Ú__name__r–   Úexitr>   r   r   ú<module>rº      si   ðß 8Ý 2Ý 7Ý ;Ý 6Ý Û à€g×ÑÐ/Ó0€òKò<*ó~dóNEðP ˆzÒÛà€C‡H�H‰T‹VÕð r   