+
    i	                      @   R t ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	H
t
HtHtHtHt ^RIHt ^RIHt ^RIHt ^ RIHt ^ R	ItR
R.t]P2                  ! R4      tR tRR/R ltRR lt]R8X  d0   ^ R	It]P@                  ! ]! ]PB                  R,          4      4       R	# R	# )zCFF2 to CFF converter.)TTFontnewTable)makeOutputFileName)T2StackUseExtractor)TopDictIndex
buildOrderbuildDefaultstopDictOperatorsprivateDictOperatorsFDSelect)desubroutinizeCharString)specializeProgram)optimizeWidths)defaultdictNconvertCFF2ToCFFmainzfontTools.cffLibc           	        ^V n         \        R4      pV P                   F  pRVn        VP	                  V4       K  	  W n        V^ ,          p\        VR4      '       d   \        R4      h\        \        4      pWTn	        VP                  P                  4        F6  pWe9  g   K  VP                  V \        WF4      '       g   K+  \        WF4       K8  	  VP                  pVP                  p\        VR4      '       g3   \        4       ;qn        ^ .\!        VP"                  4      ,          V	n        \'        \(        4      p
\        \(        4      pV F  pVP+                  R4       VP,                  pWn	        V F2  pWmP                  9  g   K  Wj9   g   K  W,          VP                  V&   K4  	  VP                  P                  4        F6  pWk9  g   K  VP                  V \        W4      '       g   K+  \        W4       K8  	  K  	  VP/                  4        F.  pVP1                  4        VP2                  P	                  R4       K0  	  V P4                  .V Uu. uF  p\7        VP,                  R. 4      NK  	  up,            F'  pV F  pVP2                  P	                  R4       K   	  K)  	  \9        \:        4      pVR	,          P<                  pVP                  4        FF  pVP?                  V4      w  ppVR8X  d   ^ pVV,          P	                  VV,          ^ ,          4       KH  	  VPA                  4        F5  w  pp\C        V4      w  ppVV,          P,                  pVVn"        VVn#        K7  	  VP                  4        F  pVP?                  V4      w  ppVR8X  d   ^ pVV,          P,                  pVV,          ^ ,          pVVPD                  8w  g   KV  VP2                  PI                  ^ VVPF                  ,
          4       K  	  VP                  4        F  pVP?                  V4      w  ppVf   ^ pVV,          P,                  p\K        \7        VR. 4      V P4                  VR
7      pVPM                  V4      pV^08  g   Km  \O        V4       \Q        VP2                  4      Vn        K  	  V PS                  4        \U        VPV                  4       UUu/ uF2  w  ppTV'       d"   R\Y        V4      P[                  ^4      ,           MRbK4  	  ppp\]        \!        VPV                  4      4       Uu. uF.  pV'       d"   R\Y        V4      P[                  ^4      ,           MRNK0  	  upVn+        VP"                  PA                  4        UUu/ uF  w  ppVV,          VbK  	  uppVn        RVn/        R# u upi u uppi u upi u uppi )aY  Converts this object from CFF2 format to CFF format. This conversion
is done 'in-place'. The conversion cannot be reversed.

The CFF2 font cannot be variable. (TODO Accept those and convert to the
default instance?)

This assumes a decompiled CFF2 table. (i.e. that the object has been
filled via :meth:`decompile` and e.g. not loaded from XML.)NVarStorez5Variable CFF2 font cannot be converted to CFF format.r   FendcharSubrsreturnhmtx)privatecidz.notdef)AdobeIdentity    )0majorr   topDictIndexcff2GetGlyphOrderappendhasattr
ValueErrorr   r	   orderrawDictkeysdelattrCharStringsFDArrayr   lencharStringsgidArrayr   r
   setCFF2Privatevalues	decompileprogramGlobalSubrsgetattrr   listmetricsgetItemAndSelectoritemsr   defaultWidthXnominalWidthXinsertr   executer   r   remove_unused_subroutines	enumeratecharsetstrzfillrangeROS)cffotFonttopDictDataitemtopDictopOrderkeyr*   fdArrayfdSelectdefaultsr#   fdprivateDictcssubrSetswidthsr4   	glyphNamefdIndex	widthListbestDefaultbestNominalr   width	extractorstackUsennamemappingvs   &&                             z/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/cffLib/CFF2ToCFF.py_convertCFF2ToCFFr^      s    CIt$K  !%4  ! #!nGw
##PQQ)*GM##%$w$$%	 & %%KooG7J''&.j0#C#k&=&=">>12H+,E


5jj!C---#/+3=##C(  &&++-C'',;,,K-	 .    "



)$ # __%3:)3:R

GR(7)   BJJh'  FVn$$G %%'	!44Y?Gd?Gwwy1!45	 (
 %lln#1)#< ['"** + +	 -
 !%%'	!44Y?Gd?G'"**	"1%G)))JJa)>)>!>? ( !%%'	!44Y?G?G'"**'GWb)3??G
	 $$R(b=$R(*2::6BJ (" !!# !11GAt 	!us1v||A&:1  
 >C3wCW=X=X1AQ)3=XGO )4(?(?(E(E(G(GWT1q(GK +GKw)`s$    V1V6&'V60V<='V<	WupdatePostTableTc                   R V 9  d   \        R4      hV R ,          P                  p\        W 4       V R  \        R4      ;q0R&   W#n        V'       d/   RV 9   d&   V R,          pVP                  R8X  d
   RVn        R# R# R# R# )CFF2z)Input font does not contain a CFF2 table.zCFF postg       @g      @N)r"   rB   r^   r   
formatType)fontr_   rB   tablerb   s   &$   r]   r   r      s{    TDEE
v,

Cc V#F++ELI6T>F|??c!!DO " *    c                   V f   ^ RI pVP                  R,          p ^ RIpVP                  RRR7      pVP	                  RRRR	7       VP	                  R
RRRRR7       VP	                  RRRRR7       VP	                  RRRR7       VP	                  RRRR7       VP                  RR7      pVP	                  RRRRR7       VP	                  RR RR!R7       VP                  V 4      p^ R"IHp T! VP                  '       d   R#MVP                  '       d   R$MR%R&7       ^ RIpVP                  pVP                  P                  V4      '       g!   VP                  R'P!                  V4      4       VP"                  '       g   \%        VR(R)R*7      MVP"                  p	\'        WP(                  RR+7      p
\+        V
4       VP,                  '       dm   ^ R,IHp ^ R-IHp \6        P9                  R.4       V! 4       pV
P;                  V4       VP=                  ^ 4       \'        VRRR+7      p
V! V
VP>                  R/7       \6        PA                  R0V	4       V
P;                  V	4       R# )1z%Convert CFF2 OTF font to CFF OTF fontN   NNzfonttools cffLib.CFF2ToCFFz(Convert a non-variable CFF2 font to CFF.)descriptioninputz	INPUT.ttfzInput OTF file with CFF table.)metavarhelpz-oz--outputz
OUTPUT.ttfz3Output instance OTF file (default: INPUT-CFF2.ttf).)rl   defaultrm   z--no-recalc-timestamprecalc_timestampstore_falsez:Don't set the output font's timestamp to the current time.)destactionrm   z--remove-overlaps
store_truez@Merge overlapping contours and components. Requires skia-pathops)rr   rm   z--ignore-overlap-errorszCDon't crash if the remove-overlaps operation fails for some glyphs.F)requiredz-vz	--verbosezRun more verbosely.z-qz--quietzTurn verbosity off.)configLoggerDEBUGERRORINFO)levelzNo such file '{}'Tz-CFF)	overWritesuffix)recalcTimestamprecalcBBoxes)removeOverlaps)BytesIOzRemoving overlaps)ignoreErrorsz	Saving %s)!sysargvargparseArgumentParseradd_argumentadd_mutually_exclusive_group
parse_args	fontToolsru   verbosequietosrk   pathisfileerrorformatoutputr   r   ro   r   remove_overlapsfontTools.ttLib.removeOverlapsr~   ior   logdebugsaveseekignore_overlap_errorsinfo)argsr   r   parserloggingGroupoptionsru   r   infileoutfilerd   r~   r   streams   &             r]   r   r      sT   |xx|$$$> % F +K   B   I	   O  
 !R  
 666FLk,5J   i3H   %G&!///w'---wV ]]F77>>&!!(//78 ~~~ 	6T&A^^  &*B*BQVWDTA		%&		&Afe%H 66	

 HH 	IIgrf   __main__rh   )N)"__doc__fontTools.ttLibr   r   fontTools.misc.cliToolsr   fontTools.misc.psCharStringsr   fontTools.cffLibr   r   r   r	   r
   r   
transformsr   specializerr   rV   r   collectionsr   logging__all__	getLoggerr   r^   r   r   __name__r   exitr    rf   r]   <module>r      s     , 6 <  1 * ! #  v
& *+u+p"d " Yx zHHT#((2,  rf   