+
    f7i*  c                   s   ^ RI HtHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RI5 ^ RIt]P                  ! R4      tR	]R
]R]R]R]R]R]/]P(                  ! R4      n        R^R	]^]^]^]^]^R ^]^]^]^R /t/ R
]bR]bR]bRR bR]bR]! ]4      bR]bR]bR]bR]bR]bR]bR]bR ]bR!]bR"R# bR$]bR%]/C]P(                  ! R&4      n        R	]R
]R]R']R(]R)]R*]R+]R,]R-]R.]R/]R0]R1]/]P(                  ! R24      n        R	]R
]R]R']R(]R)]R3]R4]R5]R6]R.]R/]R0]R7]/]P(                  ! R84      n        R^R	R9 ^]^]^]^]^	]/tR: t/ R	]bR
]bR;]bR<]bR=]bR>]bR?]bR@]bRA]bRB]bRC]bRD]bRE]bRF]bRG]bRH]bRI]bRJ]! ]4      RK]! ]4      RL]! ]4      RM]! ]4      RN]! ]4      RO]! ]4      RP]! ]4      RQ]! ]4      RR]! ]4      /	C]P(                  ! RS4      n        ]! ]P(                  ! RS4      4      RT 4       t R	]R
]RU]RV]RW]RXRY RZ]R[R\ R]]! ]!4      R^R_ /
]P(                  ! R`4      n        R
]Ra]!/;]P(                  ! Rb4      n        ]P(                  ! Rc4      n        R
]Rd]/]P(                  ! Re4      n        R	]R
]/]P(                  ! Rf4      n        R
]Rg]!Rh]"Ri]Rj]/]P(                  ! Rk4      n        ]! ]P(                  ! Rk4      4      Rl 4       t Rm ]P(                  ! Rn4      n        Ro ]P(                  ! Rp4      n        Rq ]P(                  ! Rr4      n        Rs ]P(                  ! Rt4      n        ]! ]P(                  ! Ru4      4      Rv 4       t ]! ]P(                  ! Rw4      4      Rx 4       t R# )y    )ttLibcffLib)T2WidthExtractor)DefaultTable)
add_methodmergeObjects)computeMegaCmap)*NzfontTools.merger   ZtableTagtableVersion	numGlyphsZ
maxStorageZmaxFunctionDefsZmaxInstructionDefsZmaxpZsizec                     ^ # r     Zbit   &=/usr/lib64/python3.14/site-packages/fontTools/merge/tables.py<lambda>r   $   s    1    c                 r   r   r   r   r   r   r   r   (   s    Ar   ZfontRevisionZcheckSumAdjustmentc                 r   r   r   lstr   r   r   r   /   s    ar   ZmagicNumberZflagsZ
unitsPerEmZcreatedZmodifiedZxMinZyMinZxMaxZyMaxZmacStyleZlowestRecPPEMZfontDirectionHintc                 s    ^# )   r   r   r   r   r   r   ;   s    Qr   ZindexToLocFormatZglyphDataFormatZheadZascentZdescentZlineGapZadvanceWidthMaxZminLeftSideBearingZminRightSideBearingZ
xMaxExtentZcaretSlopeRiseZcaretSlopeRunZcaretOffsetZnumberOfHMetricsZhheaZadvanceHeightMaxZminTopSideBearingZminBottomSideBearingZ
yMaxExtentZnumberOfVMetricsZvheac                 r   r   r   r   r   r   r   r   d   s    Qr   c                 s   \        V 4      p \        ;QJ d    R  V  4       F  '       d   K   RM	  RM! R  V  4       4      '       d   ^ # \        \        V 4      4       Fl  pW,          ^,          '       d   W;;,          R,          uu&   K.  W,          ^,          '       d   W;;,          ^,          uu&   KY  W,          ^ 8X  g   Kh  ^W&   Kn  	  \	        \
        4      ! V 4      pV^,          '       d
   VR,          pV# )c              3   s*   "   T F	  q^ 8H  x  K  	  R# 5i)r    Nr   ).0Zitem   & r   	<genexpr>Z!mergeOs2FsType.<locals>.<genexpr>o   s     
%19s   FTii)listZallZrangelen	mergeBitsos2FsTypeMergeBitMap)r   ifsTypes   &  r   mergeOs2FsTyper   m   s    
s)C
s
%
%sss
%
%%% 3s8_6F??FgFVf__FfFVq[CF  +,S1F'Mr   versionZxAvgCharWidthr   ZpanoseZulUnicodeRange1ZulUnicodeRange2ZulUnicodeRange3ZulUnicodeRange4ZfsFirstCharIndexZfsLastCharIndexZsTypoAscenderZsTypoDescenderZsTypoLineGapZusWinAscentZusWinDescentZulCodePageRange1ZulCodePageRange2ZsxHeightZ
sCapHeightZusDefaultCharZusBreakCharZusMaxContextZusLowerOpticalPointSizeZusUpperOpticalPointSizezOS/2c                 s   \         P                  ! WV4       V P                  ^8  d   V ;P                  R,          un        V P                  ^8  d3   V P                  ^,          '       d   V ;P                  R,          un        V # )r   ii)r   merger    r   )selfmtabless   &&&r   r!   r!      s\    t'||aw||q ;;KK7"KKr   Z
formatTypeZisFixedPitchZminMemType42ZmaxMemType42c                 r   r   r   r   r   r   r   r      s    r   ZminMemType1ZmaxMemType1c                 r   r   r   r   r   r   r   r      s    qr   ZmappingZ
extraNamesc                 s    . # Nr   r   r   r   r   r      s    br   ZpostZmetricsZvmtxZhmtxZnamesnameZlocaglyphs
glyphOrderZ_reverseGlyphOrderZaxisTagsZglyfc                 s   \        V4       Fg  w  r4VP                  P                  4        FD  pV'       d   VP                  4        VP	                  4       '       g   K3  VP                  V4       KF  	  Ki  	  \        P                  ! WV4      # r%   )	enumerater'   ZvaluesZremoveHintingZisCompositeZexpandr   r!   )r"   r#   r$   r   tableZgs   &&&   r   r!   r!      sf    f%$$&A ! }} ' & dv..r   c                     \        V4      # r%   firstr"   r      &&r   r   r          sr   Zprepc                 r+   r%   r,   r.   r/   r   r   r      r0   r   Zfpgmc                 r+   r%   r,   r.   r/   r   r   r      r0   r   zcvt c                 r+   r%   r,   r.   r/   r   r   r      s    :r   ZgaspzCFF c                 s~   \         ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d   \        R4      hV F  pVP                  P                  4        K  	  V^ ,          pVP                  ^ ,          pVP                  pVP
                  VP                  r. p	. p
\        VP                  4       4      pVP                  P                   F-  pW9  d   V	P                  V4       K  V
P                  V4       K/  	  \        VP                  4      pVP                  p\        P                  R\!        V4      4       \#        VR,          ^R7       EF+  w  rVP                  ^ ,          pVP                  P
                  VP                  P                  ppVV8g  ;'       g    VV8g  pVVn        \        VP                  4       4      pVP                  P                   F  pVV9   g   K  V
P                  V4       K  	  VP                  pVP                  P$                  p\        P                  RV\!        V4      4       VP'                  VP                  4       VP(                  '       d]   \#        VP*                  \!        V4      R7       F8  w  rWP*                  V&   VP,                  P.                  P                  R4       K:  	  VP*                   F  pV'       d   VV,          p\1        4       p\3        . . VV4      pVP5                  V4       VP6                  pVVJd   VP8                  P;                  ^ 4       MTpVV8w  d$   VP8                  P=                  ^ VV,
          4       VV,          W&   K  	  EK.  	  Wn        \!        V4      Vn        W,           VP                  n	        V# )	c              3   s\   "   T F"  p\        VP                  ^ ,          R4      x  K$  	  R# 5i)r    ZFDSelectN)hasattrcff)r   r*   r   r   r   Zmerge.<locals>.<genexpr>   s"     
A&7599Q<,,&s   *,TFz1Merging CID-keyed CFF tables is not supported yetzFONT 0 CharStrings: %d.:i   NN)ZstartzFont %d CharStrings: %d.N) ZanyZNotImplementedErrorr2   ZdesubroutinizeZPrivatedefaultWidthXnominalWidthXZsetZgetGlyphOrderZstringsappendr   ZcharsetZCharStringslogZdebugr   r)   ZGlobalSubrsZextendZcharStringsAreIndexedZcharStringsZcharStringsIndexitemsZobjectr   ZexecutewidthZprogramZpopinsertr
   )r"   r#   r$   r*   ZnewcffZnewfontZprivateZnewDefaultWidthXZnewNominalWidthXZstoredNamesStringsZglyphOrderStringsr(   r&   ZchrsetZnewcsr   Zfontr3   r4   ZwidthsDifferZfontGlyphOrderZcsZgsZcZdefaultWidthXTokenZ	extractorr8   s   &&&                        r   r!   r!      s    
s
A&
Asss
A&
AAA!"UVV		  "  AYFjjmGooG)0)>)>@U@U&W**,-J''!%%d+$$T*	 ( '//"FEII'U4fRj22yy|LL&&LL&& %
 --RRBR1R 	 T//12LL((D~%!((. ) YY""		,aR9dll#&&&$R^^3u:F*+!!$'&&,,33D9 G NNDtH%+X",R]DVW	!!!$! 22 IIMM!$)E,,II$$Q0@(@AT(EK #- 3N OFG/DGOOMr   cmapc                 s~   \        VR 4      '       g   \        W4       VP                  pVP                  4        UUu/ uF  w  rEVR8:  g   K  WEbK  	  ppp. V n        \
        P                  ! R 4      p\        V4      \        V4      8w  dP   VP                  ^,          ! ^4      p^Vn	        ^
Vn
        ^ Vn        W8n        V P                  P                  V4       VP                  ^,          ! ^4      p^Vn	        ^Vn
        ^ Vn        Whn        V P                  P                  ^ V4       VP                  p	V	'       dX   VP                  ^,          ! ^4      p
^ V
n	        ^V
n
        ^ V
n        / V
n        Wn        V P                  P                  ^ V
4       ^ V n        \        V P                  4      V n        V # u uppi )r:   i  )r1   r   r:   r7   r$   r   ZgetTableModuler   Zcmap_classesZ
platformIDZ	platEncIDZlanguager5   r9   uvsDictr	   ZnumSubTables)r"   r#   r$   r:   ZuniZgidZcmapBmpOnlyZmoduleZ	cmapTabler;   ZuvsTables   &&&        r   r!   r!   9  sw   1f"66D,0JJLJLC6M838LKJDK!!&)F
;3t9$''+B/	 	 		9%##A&q)IIII NKKq)$iiG&&r*2."1h'DDKK(DKC Ks   F9F9)#Z	fontToolsr   r   ZfontTools.misc.psCharStringsr   Z#fontTools.ttLib.tables.DefaultTabler   ZfontTools.merge.baser   r   ZfontTools.merge.cmapr   ZfontTools.merge.utilZloggingZ	getLoggerr6   ZmaxZequalZsumr-   ZgetTableClassZmergeMapZ
bitwise_orZbitwise_andZheadFlagsMergeBitMapr   Zcurrent_timeZminZrecalculater   r   ZonlyExistingr!   ZsumDictsZsumListsr   r   r   <module>r<      s  
 $ 9 < 9 0 "  )* E%u%
(  F  $ B{{{{} ((C( C( -	(
 5( Y+,( %( |( ( C( C( C( C( ( S(  !(" #($ u%(  F  $, Ccsss#3#eU5(  F  $$ CcssC#eU5(  F  $$ Bz{{zz 0((( s( U	(
 n( e( z( z( z( z( ( s( S( c( C(  3!(" C#(& Z0Z0S!,s#\%(<&L%|C0|C0;(  F  $B E'( ) #CCM3=|H%.(  F  $ xO   F  $u':':6'B'K U(  F  $ (  F  $ h(+(  F  $ E'(/ )/ (D  F  $'C  F  $'C  F  $(  F  $
 E'(D )DN E'(& )&r   