Ë
    £eh9  ã                   ó  — d Z ddlmZ ddlmZ ddlmc mc mZ ddlmc mc m	Z	 ddl
mZ ddlmc 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gZ G d„ de«      Zej9                   ej:                  d«      df ej:                  d«      df ej:                  d«      df ej:                  d«      df ej:                  d«      df ej:                  d«      dfe	j<                  dfe	j>                  dfe	j@                  dfe	jB                  dfe	jD                  dfe	jF                  dff«      d„ «       Z$ejK                   ej:                  d«       ej:                  d «      fd!«      d"„ «       Z$ejK                   ej:                  d#«      d$«      d%„ «       Z$ejK                   ej:                  d&«      d'«      d(„ «       Z$ejK                   ej:                  d)«      d*«      d+„ «       Z$ejK                   ej:                  d,«      d-«      d.„ «       Z$ejK                   ej:                  d/«      d0«      d1„ «       Z$d2„ Z&ejK                   ej:                  d3«       ej:                  d4«      fd5«      d6„ «       Z$ejO                  e	jP                  «      d7„ «       Z$d8„ Z)ejO                  e	jT                  «      d9„ «       Z$ejO                  e	jV                  «      d:„ «       Z$d;„ Z,d>d<„Z-e.d=k(  rddl/Z/ e/j`                   e-«       «       yy)?zsChange the units-per-EM of a font.

AAT and Graphite tables are not supported. CFF/CFF2 fonts
are de-subroutinized.é    )Ú	TTVisitorN)ÚVarStoreData)Úbuilder)ÚOnlineMultiVarStoreBuilder)ÚVector)ÚotRound)ÚbatchedÚ
scale_upemÚScalerVisitorc                   ó   — e Zd Zd„ Zd„ Zy)r   c                 ó   — || _         y ©N)ÚscaleFactor)Úselfr   s     úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/ttLib/scaleUpem.pyÚ__init__zScalerVisitor.__init__   s
   € Ø&ˆÕó    c                 ó2   — t        || j                  z  «      S r   )r   r   )r   Úvs     r   ÚscalezScalerVisitor.scale   s   € Ü�q˜4×+Ñ+Ñ+Ó,Ð,r   N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r      s   „ ò'ó-r   Úhead)Ú
unitsPerEmÚxMinÚyMinÚxMaxÚyMaxÚpost)ÚunderlinePositionÚunderlineThicknessÚVORGÚdefaultVertOriginYÚhhea)ÚascentÚdescentÚlineGapÚadvanceWidthMaxÚminLeftSideBearingÚminRightSideBearingÚ
xMaxExtentÚcaretOffsetÚvhea)r'   r(   r)   ÚadvanceHeightMaxÚminTopSideBearingÚminBottomSideBearingÚ
yMaxExtentr.   zOS/2)ÚxAvgCharWidthÚySubscriptXSizeÚySubscriptYSizeÚySubscriptXOffsetÚySubscriptYOffsetÚySuperscriptXSizeÚySuperscriptYSizeÚySuperscriptXOffsetÚySuperscriptYOffsetÚyStrikeoutSizeÚyStrikeoutPositionÚsTypoAscenderÚsTypoDescenderÚsTypoLineGapÚusWinAscentÚusWinDescentÚsxHeightÚ
sCapHeight)ÚXAdvanceÚYAdvanceÚ
XPlacementÚ
YPlacement)ÚXCoordinateÚYCoordinateÚ
CoordinateÚValue)r   r   r   r    c                 ó<   — t        ||| j                  |«      «       y r   )Úsetattrr   )ÚvisitorÚobjÚattrÚvalues       r   ÚvisitrT      s   € ôD ˆC��w—}‘} UÓ+Õ,r   ÚhmtxÚvmtxÚmetricsc                 ól   — |D ]/  }||   \  }}| j                  |«      | j                  |«      f||<   Œ1 y r   ©r   )rP   rQ   rR   rW   ÚgÚadvanceÚlsbs          r   rT   rT   c   sB   € ð ò @ˆØ˜q‘z‰ˆ�Ø—]‘] 7Ó+¨W¯]©]¸3Ó-?Ð?ˆ�Š
ñ@r   ÚVMTXÚVOriginRecordsc                 ó@   — |D ]  }| j                  ||   «      ||<   Œ y r   rY   )rP   rQ   rR   r^   rZ   s        r   rT   rT   l   s)   € àò =ˆØ#ŸM™M¨.¸Ñ*;Ó<ˆ�qÒñ=r   ÚglyfÚglyphsc           	      ó   — |j                  «       D ]ë  }dD ].  }t        ||d «      }|€Œt        ||| j                  |«      «       Œ0 |j	                  «       rR|j
                  D ]B  }| j                  |j                  «      |_        | j                  |j                  «      |_        ŒD Œ˜t        |d«      sŒ¥|j                  }t        |«      D ]-  \  }\  }	}
| j                  |	«      | j                  |
«      f||<   Œ/ Œí y )N)r   r   r   r    Úcoordinates)ÚvaluesÚgetattrrO   r   ÚisCompositeÚ
componentsÚxÚyÚhasattrrc   Ú	enumerate)rP   rQ   rR   ra   rZ   r   Ú	componentrc   Úirh   ri   s              r   rT   rT   r   sì   € à�]‰]‹_ò DˆØ4ò 	3ˆDÜ˜˜4 Ó&ˆAØ‰}Ü˜˜4 §¡¨qÓ!1Õ2ð	3ð
 �=‰=Œ?ØŸ\™\ò 9�	Ø%Ÿm™m¨I¯K©KÓ8�	”Ø%Ÿm™m¨I¯K©KÓ8�	•ð9ð ä�1�mÕ$ØŸ-™-ˆKÜ& {Ó3ò D‘	�‘6�A�qØ!(§¡¨qÓ!1°7·=±=ÀÓ3CÐ!C�˜A’ñDñDr   ÚgvarÚ
variationsc                 ó  — | j                   d   }|j                  «       D ]^  \  }}||   }|D ]O  }|j                  }	t        |	«      D ]3  \  }
}|€Œ	| j	                  |d   «      | j	                  |d   «      f|	|
<   Œ5 ŒQ Œ` y )Nr`   r   é   )ÚfontÚitemsrc   rk   r   )rP   rQ   rR   ro   Ú	glyfTableÚ	glyphNameÚvarlistÚglyphÚvarrc   rm   Úxys               r   rT   rT   †   s�   € à—‘˜VÑ$€Ià(×.Ñ.Ó0ò LÑˆ	�7Ø˜)Ñ$ˆØò 	LˆCØŸ/™/ˆKÜ" ;Ó/ò L‘��2Ø�:ØØ!(§¡¨r°!©uÓ!5°w·}±}ÀRÈÁUÓ7KÐ!K�˜A’ñLñ	LñLr   ÚVARCÚtablec                 ó
  — | j                   d   }|j                  D �cg c]  }|j                  ‘Œ }}|j                  }t	        |«      }|j
                  j                  D �]~  }	|	j                  D �]k  }
|
j                  }| j                  |j                  «      |_
        | j                  |j                  «      |_        | j                  |j                  «      |_        | j                  |j                  «      |_        |
j                  t        j                   k7  rå|
j                  }|t        j                   k7  rÆ|dz	  }|dz  }|j"                  |   }|j$                  |   }|j'                  |j)                  ||j                  «      «       |r\t+        |«      |j,                  z  }t/        t1        ||«      «      }|D �cg c]  }t3        |«      ‘Œ }}|j5                  |«      |
_        nt        j                   |
_        |
j6                  t        j                   k7  s�Œ±|
j6                  }|t        j                   k7  s�ŒÒ|dz	  }|dz  }j$                  |dz     }|dz	  }|dz  }|j"                  |   }|j$                  |   }|j'                  |j)                  ||j                  «      «       |�rt+        |«      |j,                  z  }|
j8                  }t/        t1        ||«      «      }g }|D �]¸  }t/        |«      }d}|t        j:                  j<                  z  r| j                  ||   «      ||<   |dz  }|t        j:                  j>                  z  r| j                  ||   «      ||<   |dz  }|t        j:                  j@                  z  r|dz  }|t        j:                  jB                  z  r|dz  }|t        j:                  jD                  z  r|dz  }|t        j:                  jF                  z  r|dz  }|t        j:                  jH                  z  r|dz  }|t        j:                  jJ                  z  r| j                  ||   «      ||<   |dz  }|t        j:                  jL                  z  r| j                  ||   «      ||<   |dz  }|jO                  t3        |«      «       �Œ» |}|j5                  |«      |
_        �ŒWt        j                   |
_        �Œn �Œ� |jQ                  «       |_        y c c}w c c}w )NÚfvaré   iÿÿ  r   rq   ))rr   ÚaxesÚaxisTagÚMultiVarStorer   ÚVarCompositeGlyphsÚVarCompositeGlyphrg   Ú	transformr   Ú
translateXÚ
translateYÚtCenterXÚtCenterYÚaxisValuesVarIndexÚotTablesÚNO_VARIATION_INDEXÚMultiVarDataÚItemÚsetSupportsÚget_supportsÚlenÚVarRegionCountÚlistr	   r   ÚstoreDeltasÚtransformVarIndexÚflagsÚVarComponentFlagsÚHAVE_TRANSLATE_XÚHAVE_TRANSLATE_YÚHAVE_ROTATIONÚHAVE_SCALE_XÚHAVE_SCALE_YÚHAVE_SKEW_XÚHAVE_SKEW_YÚHAVE_TCENTER_XÚHAVE_TCENTER_YÚappendÚfinish)rP   rQ   rR   Úvarcr}   ÚaÚfvarAxesÚstoreÚstoreBuilderrZ   rl   ÚtÚvarIdxÚmajorÚminorÚvarDataÚvecÚmr   r•   ÚnewVecrm   s                         r   rT   rT   ”   sX  € ð �<‰<˜Ñ€DØ#'§9¡9Ö-˜a�—	“	Ð-€HÐ-à×Ñ€EÜ-¨hÓ7€Là×$Ñ$×6Ñ6ó JRˆØŸ™ó I	RˆIØ×#Ñ#ˆAØ"Ÿ=™=¨¯©Ó6ˆAŒLØ"Ÿ=™=¨¯©Ó6ˆAŒLØ Ÿ™ q§z¡zÓ2ˆAŒJØ Ÿ™ q§z¡zÓ2ˆAŒJà×+Ñ+¬x×/JÑ/JÒJØ"×5Ñ5�ð œX×8Ñ8Ò8Ø" b™L�EØ" V™O�EØ#×0Ñ0°Ñ7�GØ!Ÿ,™, uÑ-�CØ ×,Ñ,¨U×-?Ñ-?ÀÀtÇyÁyÓ-QÔRÙÜ ›H¨×(>Ñ(>Ñ>˜Ü"¤7¨3°£?Ó3˜Ø25Ö6¨Qœv a�yÐ6˜Ð6Ø7C×7OÑ7OÐPSÓ7T˜	Õ4ä7?×7RÑ7R˜	Ô4à×*Ñ*¬h×.IÑ.IÔIØ"×4Ñ4�ØœX×8Ñ8Ô8Ø" b™L�EØ" V™O�EØ!Ÿ,™, v°¡Ñ7�CØ" b™L�EØ" V™O�EØ#×0Ñ0°Ñ7�GØ!Ÿ,™, uÑ-�CØ ×,Ñ,¨U×-?Ñ-?ÀÀtÇyÁyÓ-QÔRÚÜ ›H¨×(>Ñ(>Ñ>˜Ø )§¡˜Ü"¤7¨3°£?Ó3˜Ø!#˜Ø!$ó 5˜AÜ $ Q£˜AØ !˜Aà$¤x×'AÑ'A×'RÑ'RÒRØ'.§}¡}°Q°q±TÓ':  !¡Ø ! Q¡ Ø$¤x×'AÑ'A×'RÑ'RÒRØ'.§}¡}°Q°q±TÓ':  !¡Ø ! Q¡ Ø$¤x×'AÑ'A×'OÑ'OÒOØ ! Q¡ Ø$¤x×'AÑ'A×'NÑ'NÒNØ ! Q¡ Ø$¤x×'AÑ'A×'NÑ'NÒNØ ! Q¡ Ø$¤x×'AÑ'A×'MÑ'MÒMØ ! Q¡ Ø$¤x×'AÑ'A×'MÑ'MÒMØ ! Q¡ Ø$¤x×'AÑ'A×'PÑ'PÒPØ'.§}¡}°Q°q±TÓ':  !¡Ø ! Q¡ Ø$¤x×'AÑ'A×'PÑ'PÒPØ'.§}¡}°Q°q±TÓ':  !¡Ø ! Q¡ à"ŸM™M¬&°«)Ö4ð75ð8 %˜à6B×6NÑ6NÈsÓ6S˜	Ö3ä6>×6QÑ6Q˜	Ö3òSI	RðJRðX &×,Ñ,Ó.€DÕùòc .ùò4 7s   žS8ÇS=ÚkernÚ
kernTablesc                 ó‚   — |D ]:  }|j                   }|j                  «       D ]  }| j                  ||   «      ||<   Œ Œ< y r   )Ú	kernTableÚkeysr   )rP   rQ   rR   r°   r{   r²   Úks          r   rT   rT   í   sF   € àò 7ˆØ—O‘Oˆ	Ø—‘Ó!ò 	7ˆAØ"Ÿ=™=¨°1©Ó6ˆI�aŠLñ	7ñ7r   c                 óÂ   — t        |«      D ]Q  \  }}t        |t        «      s&t        |t        «      rŒ'| j	                  |«      ||<   Œ<|d   }t        | |«       ||d<   ŒS y )Néÿÿÿÿ)rk   Ú
isinstancer’   Úbytesr   Ú
_cff_scale)rP   Úargsrm   ÚargÚ
num_blendss        r   r¹   r¹   õ   s[   € Ü˜D“/ò !‰ˆˆ3Ü˜#œtÔ$Ü˜c¤5Õ)Ø!Ÿ-™-¨Ó,��Q’à˜R™ˆJÜ�w Ô$Ø ˆC�ŠGñ!r   zCFF ÚCFF2Úcffc           
      óÎ  — |j                  «        |j                  d   }t        |dd «      }|�|j                  nd }t	        «       }|j                  «       D �]‹  }||   }	|	j                  }
|	j                  D ]�  }|
j                  |«      \  }}|j                  |j                  «       t        j                  |j                  |¬«      }|D ]  \  }}|dk(  rŒt        | |«       Œ t        j                  |«      |j                  d d  Œ’ dD ]K  }t        ||d «      }|€Œt!        |t"        «      rt        | |«       Œ0t%        ||| j'                  |«      «       ŒM t)        d«      D ]#  }|j*                  |xx   | j,                  z  cc<   Œ% |D ]R  }dD ]K  }t        ||d «      }|€Œt!        |t"        «      rt        | |«       Œ0t%        ||| j'                  |«      «       ŒM ŒT �ŒŽ y )Nr   ÚVarStore)ÚgetNumRegionsÚvsindex)ÚUnderlinePositionÚUnderlineThicknessÚFontBBoxÚStrokeWidthé   )
Ú
BlueValuesÚ
OtherBluesÚFamilyBluesÚFamilyOtherBluesÚStdHWÚStdVWÚ	StemSnapHÚ	StemSnapVÚdefaultWidthXÚnominalWidthX)ÚdesubroutinizeÚtopDictIndexre   rÁ   Úsetr³   ÚCharStringsÚcharsetÚgetItemAndSelectorÚaddÚprivateÚcffSpecializerÚprogramToCommandsÚprogramr¹   ÚcommandsToProgramr·   r’   rO   r   ÚrangeÚ
FontMatrixr   )rP   rQ   rR   r¾   ÚtopDictÚvarStorerÁ   ÚprivatesÚfontnamerr   ÚcsrZ   ÚcÚ_ÚcommandsÚoprº   rS   rm   rÙ   s                       r   rT   rT      sò  € ð ×ÑÔØ×Ñ˜qÑ!€GÜ�w 
¨DÓ1€HØ.6Ð.B�H×*Ò*È€MÜ‹u€HØ—H‘H“Jó 9AˆØ�8‰}ˆØ×ÑˆØ—‘ò 	FˆAØ×(Ñ(¨Ó+‰DˆAˆqØ�L‰L˜Ÿ™Ô#ä%×7Ñ7Ø—	‘	¨ôˆHð %ò *‘��DØ˜’?ØÜ˜7 DÕ)ð*ô *×;Ñ;¸HÓEˆA�I‰I‘a‰Lð	Fð
ò 	=ˆDô ˜G T¨4Ó0ˆEØˆ}ØÜ˜%¤Ô&Ü˜7 EÕ*ä˜  w§}¡}°UÓ';Õ<ð	=ô �q“ò 	9ˆAØ×Ñ˜qÓ! W×%8Ñ%8Ñ8Ô!ð	9ð  ò 	AˆGðò A�ô   ¨¨tÓ4�Ø�=ØÜ˜e¤TÔ*Ü˜w¨Õ.ä˜G T¨7¯=©=¸Ó+?Õ@ñ+Aò	AñG9Ar   c                 ó”   — |j                   D ])  }t        |«      D ]  \  }}| j                  |«      ||<   Œ Œ+ |j                  «        y r   )r�   rk   r   ÚcalculateNumShorts)rP   r«   Úitemrm   r   s        r   rT   rT   H  sL   € à—‘ò 'ˆÜ˜d“Oò 	'‰DˆAˆqØ—m‘m AÓ&ˆD�ŠGñ	'ð'ð ×ÑÕ r   c                 óV  — d|cxk  rdk  r*n n't         j                  j                  | _        || _        y t        j
                  «       }|j                  «        dx|_        x|_        x|_	        |_
        |x|_        |_        t         j                  j                  | _        || _        y )Néþÿÿÿé   r   )rŠ   ÚPaintFormatÚPaintScaleUniformÚFormatr   Ú	Affine2x3ÚpopulateDefaultsry   ÚyxÚdxÚdyÚxxÚyyÚPaintTransformÚ	Transform)Úpaintr   r„   s      r   Ú_setup_scale_paintrü   S  sŠ   € Ø	ˆUÔ#�mÕ#Ü×+Ñ+×=Ñ=ˆŒØˆŒØä×"Ñ"Ó$€IØ×ÑÔ Ø@AÐA€I„LÐA�9”<ÐA )¤,°´Ø"'Ð'€I„L�9”<ä×'Ñ'×6Ñ6€E„LØ€E…Or   c                 óŒ   — |j                   }t        j                   «       }t        || j                  «       ||_         ||_         y)NT)ÚPaintrŠ   rü   r   )rP   ÚrecordÚoldPaintr   s       r   rT   rT   b  s8   € à�|‰|€Hä�N‰NÓ€EÜ�u˜g×1Ñ1Ô2Ø€E„Kà€F„Làr   c                 ó`  — |j                   t        j                  j                  k7  ryt        j                  «       }|j                   |_         |j                  |_        |j
                  |_        |`|`t        |d| j                  z  «       ||_        | j                  |j                  «       y)NTrq   F)	rñ   rŠ   rï   Ú
PaintGlyphrþ   ÚGlyphrü   r   rT   )rP   rû   ÚnewPaints      r   rT   rT   o  sƒ   € à‡|�|”x×+Ñ+×6Ñ6Ò6Øä�~‰~Ó€HØ—l‘l€H„OØ—[‘[€H„NØ—[‘[€H„NØˆØˆä�u˜a '×"5Ñ"5Ñ5Ô6Ø€E„Kà‡M�M�(—.‘.Ô!àr   c                 ó`   — | d   j                   }t        ||z  «      }|j                  | «       y)z1Change the units-per-EM of font to the new value.r   N)r   r   rT   )rr   Únew_upemÚupemrP   s       r   r
   r
   ƒ  s+   € à�‰<×"Ñ"€DÜ˜H t™OÓ,€GØ‡M�M�$Õr   c                 ó  — | €ddl }|j                  dd } ddlm} ddlm} ddl}|j                  dd ¬«      }|j                  ddd	¬
«       |j                  ddd¬
«       |j                  dddd¬«       |j                  | «      } ||j                  «      }t        |j                  «      }|j                  �|j                  n ||j                  dd¬«      }	t        ||«       t        d|	z  «       |j!                  |	«       y)z Change the units-per-EM of fontsNr   rq   )ÚTTFont)ÚmakeOutputFileNamezfonttools ttLib.scaleUpem)Údescriptionrr   z
Font file.)ÚmetavarÚhelpr  znew-upemzNew units-per-EM integer value.z--output-fileÚpathzOutput file.)r  Údefaultr  Tz-scaled)Ú	overWriteÚsuffixz
Writing %s)ÚsysÚargvÚfontTools.ttLibr	  ÚfontTools.misc.cliToolsr
  ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsrr   Úintr  Úoutput_filer
   ÚprintÚsave)
rº   r  r	  r
  r  ÚparserÚoptionsrr   r  r  s
             r   Úmainr   Š  s  € ð €|Ûà�x‰x˜˜ˆ|ˆå&Ý:Ûà×$Ñ$Ø#Ð1Sð %ó €Fð ×Ñ˜¨°\ÐÔBØ
×ÑØ˜JÐ-Nð ô ð ×ÑØ °¸Nð ô ð ×Ñ Ó%€Gá�'—,‘,Ó€DÜ�7×#Ñ#Ó$€Hð ×ÑÐ*ð 	×Òá §¡¸ÀYÔOð ô ˆt�XÔä	ˆ,˜Ñ
$Ô%Ø‡I�IˆkÕr   Ú__main__r   )1Ú__doc__ÚfontTools.ttLib.ttVisitorr   r  ÚttLibÚfontTools.ttLib.tables.otBaseÚtablesÚotBaseÚfontTools.ttLib.tables.otTablesrŠ   ÚfontTools.cffLibr   ÚfontTools.cffLib.specializerÚcffLibÚspecializerrÚ   ÚfontTools.varLibr   ÚfontTools.varLib.multiVarStorer   ÚfontTools.misc.vectorr   ÚfontTools.misc.fixedToolsr   ÚfontTools.misc.iterToolsr	   Ú__all__r   Úregister_attrsÚgetTableClassÚValueRecordÚAnchorÚ
CaretValueÚ	BaseCoordÚMathValueRecordÚClipBoxrT   Úregister_attrr¹   ÚregisterÚVarDatarü   ÚBaseGlyphPaintRecordrþ   r
   r   r   r  Úexitr   r   r   ú<module>r@     s�  ðñõ
 0Ý ß .Ó .ß 2Ó 2Ý )ß 5Ð 5Ý $Ý EÝ (Ý -Ý ,ð ˜Ð
)€ô-�Iô -ð ×Ñà	ˆ×	Ñ	˜VÓ	$Ð&TÐUØ	ˆ×	Ñ	˜VÓ	$Ð&QÐRØ	ˆ×	Ñ	˜VÓ	$Ð';Ð=àˆE×Ñ Ó'ð	ð	
ð  ˆE×Ñ Ó'ð	ð	
ð  ˆE×Ñ Ó'ðð	
ð0 × Ñ Ø@ð	
ð 
�‰Ð8Ð9Ø	×	Ñ	˜|Ð-Ø	×	Ñ	˜lÐ,Ø	×	!Ñ	! GÐ-Ø	×	Ñ	Ð;Ð<ð{>ó@ñB-óC@ðB-ð ×ÑØ€U×Ñ˜Ó Ð"5 %×"5Ñ"5°fÓ"=Ð>À	óñ@óð@ð ×ÑÐ0˜U×0Ñ0°Ó8Ð:JÓKñ=ó Lð=ð
 ×ÑÐ0˜U×0Ñ0°Ó8¸(ÓCñDó DðDð& ×ÑÐ0˜U×0Ñ0°Ó8¸,ÓGñ
Ló Hð
Lð ×ÑÐ0˜U×0Ñ0°Ó8¸'ÓBñU/ó CðU/ðp ×ÑÐ0˜U×0Ñ0°Ó8¸,ÓGñ7ó Hð7ò!ð ×ÑØ€U×Ñ˜Ó Ð"5 %×"5Ñ"5°fÓ"=Ð>Àóñ?Aóð?AðJ ×Ñ˜×(Ñ(Ó)ñ!ó *ð!ò ð ×Ñ˜×5Ñ5Ó6ñ	ó 7ð	ð ×Ñ˜Ÿ™Ó'ñó (ðò&ó$ðN ˆzÒÛà€C‡H�H‰T‹VÕð r   