
    h)                     ^   S SK JrJr  S SKJr  S SKJr  S SKJrJ	r	  S SK
Jr  S SK7  S SKr\R                  " S5      r\\\\\\\S	.\R(                  " S
5      l        S\\\\\S \\\S S.r0 S\_S\_S\_SS _S\_S\" \5      _S\_S\_S\_S\_S\_S\_S\_S\_S\_SS  _S!\_S"\0E\R(                  " S#5      l        \\\\\\\\\\\\\\S$.\R(                  " S%5      l        \\\\\\\\\\\\\\S&.\R(                  " S'5      l        SS( \\\\\S).rS* r0 S+\_S\_S,\_S-\_S.\_S/\_S0\_S1\_S2\_S3\_S4\_S5\_S6\_S7\_S8\_S9\_S:\_\" \5      \" \5      \" \5      \" \5      \" \5      \" \5      \" \5      \" \5      \" \5      S;.	E\R(                  " S<5      l        \" \R(                  " S<5      5      S= 5       r \\\\\S> \S? \" \!5      S@ SA.
\R(                  " SB5      l        \\!SC.=\R(                  " SD5      l        \R(                  " SE5      l        \\SF.\R(                  " SG5      l        \\SH.\R(                  " SI5      l        \\!\"\\SJ.\R(                  " SK5      l        \" \R(                  " SK5      5      SL 5       r SM \R(                  " SN5      l        SO \R(                  " SP5      l        SQ \R(                  " SR5      l        SS \R(                  " ST5      l        \" \R(                  " SU5      5      SV 5       r \" \R(                  " SW5      5      SX 5       r g)Y    )ttLibcffLib)T2WidthExtractor)DefaultTable)
add_methodmergeObjects)computeMegaCmap)*NzfontTools.merge)r
   tableTagtableVersion	numGlyphs
maxStoragemaxFunctionDefsmaxInstructionDefsmaxp   c                     gNr    bits    H/var/www/html/env/lib/python3.13/site-packages/fontTools/merge/tables.py<lambda>r   $   s    1    c                     gr   r   r   s    r   r   r   (   s    Ar   )sizer
                              r   r   fontRevisioncheckSumAdjustmentc                     gr   r   lsts    r   r   r   /   s    ar   magicNumberflags
unitsPerEmcreatedmodifiedxMinyMinxMaxyMaxmacStylelowestRecPPEMfontDirectionHintc                     g)Nr   r   r)   s    r   r   r   ;   s    Qr   indexToLocFormatglyphDataFormathead)r
   r   r   ascentdescentlineGapadvanceWidthMaxminLeftSideBearingminRightSideBearing
xMaxExtentcaretSlopeRisecaretSlopeRuncaretOffsetnumberOfHMetricshhea)r
   r   r   r;   r<   r=   advanceHeightMaxminTopSideBearingminBottomSideBearing
yMaxExtentrB   rC   rD   numberOfVMetricsvheac                     gr   r   r   s    r   r   r   d   s    Qr   )r   r
   r   r   r      	   c                 N   [        U 5      n [        S U  5       5      (       a  g[        [        U 5      5       HE  nX   S-  (       a  X==   S-  ss'   M  X   S-  (       a  X==   S-  ss'   M7  X   S:X  d  MA  SX'   MG     [	        [
        5      " U 5      nUS-  (       a  US-  nU$ )	Nc              3   *   #    U  H	  oS :H  v   M     g7f)r   Nr   ).0items     r   	<genexpr>!mergeOs2FsType.<locals>.<genexpr>o   s     
%19s   r      rN      r   i)listallrangelen	mergeBitsos2FsTypeMergeBitMap)r*   ifsTypes      r   mergeOs2FsTypera   m   s    
s)C

%
%%% 3s8_6F?FgFVf_FfFVq[CF  +,S1F'Mr   r
   versionxAvgCharWidthr`   panoseulUnicodeRange1ulUnicodeRange2ulUnicodeRange3ulUnicodeRange4fsFirstCharIndexfsLastCharIndexsTypoAscendersTypoDescendersTypoLineGapusWinAscentusWinDescent)	ulCodePageRange1ulCodePageRange2sxHeight
sCapHeightusDefaultCharusBreakCharusMaxContextusLowerOpticalPointSizeusUpperOpticalPointSizezOS/2c                     [         R                  " XU5        U R                  S:  a  U =R                  S-  sl        U R                  S:  a)  U R                  S-  (       a  U =R                  S-  sl        U $ )Nr   ir   rN   )r   mergerb   r`   )selfmtabless      r   r{   r{      sY    t'||aw||q ;;KK7"KKr   c                     gr   r   r)   s    r   r   r      s    r   c                     gr   r   r)   s    r   r   r      s    qr   c                     / $ Nr   r)   s    r   r   r      s    br   )
r
   r   
formatTypeisFixedPitchminMemType42maxMemType42minMemType1maxMemType1mapping
extraNamespost)r   metricsvmtxhmtx)r   namesname)r
   r   loca)r   glyphs
glyphOrder_reverseGlyphOrderaxisTagsglyfc                    [        U5       He  u  p4UR                  R                  5        HB  nU(       a  UR                  5         UR	                  5       (       d  M1  UR                  U5        MD     Mg     [        R                  " XU5      $ r   )	enumerater   valuesremoveHintingisCompositeexpandr   r{   )r|   r}   r~   r_   tablegs         r   r{   r{      sf    f%$$&A ! }} ' & dv..r   c                     [        U5      $ r   firstr|   r*   s     r   r   r          sr   prepc                     [        U5      $ r   r   r   s     r   r   r      r   r   fpgmc                     [        U5      $ r   r   r   s     r   r   r      r   r   zcvt c                     [        U5      $ r   r   r   s     r   r   r      s    :r   gaspzCFF c                    [        S U 5       5      (       a  [        S5      eU H  nUR                  R                  5         M     US   nUR                  S   nUR                  nUR
                  UR                  p/ n	/ n
[        UR                  5       5      nUR                  R                   H,  nX;  a  U	R                  U5        M  U
R                  U5        M.     [        UR                  5      nUR                  n[        R                  S[!        U5      5        [#        USS  SS9 GH  u  pUR                  S   nUR                  R
                  UR                  R                  nnUU:g  =(       d    UU:g  nUUl        [        UR                  5       5      nUR                  R                   H  nUU;   d  M  U
R                  U5        M     UR                  nUR                  R$                  n[        R                  SU[!        U5      5        UR'                  UR                  5        UR(                  (       aY  [#        UR*                  [!        U5      S9 H8  u  pXR*                  U'   UR,                  R.                  R                  S 5        M:     UR*                   H  nU(       a  UU   n[1        5       n[3        / / UU5      nUR5                  U5        UR6                  nUULa  UR8                  R;                  S5        OUnUU:w  a  UR8                  R=                  SUU-
  5        UU   X'   M     GM     Xl        [!        U5      Ul        X-   UR                  l	        U$ )Nc              3   T   #    U  H  n[        UR                  S    S5      v   M      g7f)r   FDSelectN)hasattrcff)rR   r   s     r   rT   merge.<locals>.<genexpr>   s"     
A&7599Q<,,&s   &(z1Merging CID-keyed CFF tables is not supported yetr   zFONT 0 CharStrings: %d.r   )startzFont %d CharStrings: %d.) anyNotImplementedErrorr   desubroutinizePrivatedefaultWidthXnominalWidthXsetgetGlyphOrderstringsappendrY   charsetCharStringslogdebugr\   r   GlobalSubrsextendcharStringsAreIndexedcharStringscharStringsIndexitemsobjectr   executewidthprogrampopinsertr   )r|   r}   r~   r   newcffnewfontprivatenewDefaultWidthXnewNominalWidthXstoredNamesStringsglyphOrderStringsr   r   chrsetnewcsr_   fontr   r   widthsDifferfontGlyphOrdercsgscdefaultWidthXToken	extractorr   s                              r   r{   r{      s   

A&
AAA!"UVV		  "  AYFjjmGooG)0)>)>@U@U&W**,-J''!%%d+$$T*	 ( '//"FEII'U4fQRj2yy|LL&&LL&& %
 --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                    [        US5      (       d  [        X5        UR                  nUR                  5        VVs0 s H  u  pEUS::  d  M  XE_M     nnn/ U l        [
        R                  " S5      n[        U5      [        U5      :w  aK  UR                  S   " S5      nSUl	        SUl
        SUl        X8l        U R                  R                  U5        UR                  S   " S5      nSUl	        SUl
        SUl        Xhl        U R                  R                  SU5        SU l        [        U R                  5      U l        U $ s  snnf )	Nr   i  rV   r   
   r   rX   r   )r   r	   r   r   r~   r   getTableModuler\   cmap_classes
platformID	platEncIDlanguager   r   r   numSubTables)	r|   r}   r~   r   unigidcmapBmpOnlymodule	cmapTables	            r   r{   r{   9  s    1f"66D,0JJLJLC6M838LKJDK!!&)F
;3t9$''+B/	 	 		9%##A&q)IIII NKKq)$DDKK(DK+ Ks   EE)#	fontToolsr   r   fontTools.misc.psCharStringsr   #fontTools.ttLib.tables.DefaultTabler   fontTools.merge.baser   r   fontTools.merge.cmapr	   fontTools.merge.utillogging	getLoggerr   maxequalsumr   getTableClassmergeMap
bitwise_orbitwise_andheadFlagsMergeBitMapr]   current_timeminrecalculater^   ra   onlyExistingr{   sumDictssumListsr   r   r   <module>r      s  
 $ 9 < 9 0 "  )* 

(  F  $ 	 ((C( C( -	(
 5( Y+,( %( |( ( C( C( C( C( ( S(  !(" #($ u%(  F  $, 
#(  F  $$ 
#(  F  $$ 	 0((( s( U	(
 n( e( z( z( z( z( ( s( S( c( C(  3!(" C#(& %Z0$Z0S!s#!%(& %+C0+C0;(  F  $B E'( ) 
! H% (  F  $ O   F  $u':':6'B'K (  F  $ 
(  F  $ %(  F  $ E'(/ )/ (D  F  $'C  F  $'C  F  $(  F  $
 E'(D )DN E'( )r   