
    h                     |    S SK Jr  S SKJr  S SKr\R
                  " S5      rS r  SS jr " S S5      r	S	 r
S
 rg)    )is_Default_Ignorable)DecomposingRecordingPenNzfontTools.mergec                 0   0 nU Hn  n[        U5       H\  u  pEXR;   aN  X%   nUS-   [        U5      -   U;   a  US-  nUS-   [        U5      -   U;   a  M  XbU'   US[        U5      -   -  nXSU'   SX%'   M^     Mp     [        UR                  5       5      =U l        ng)zTModifies passed-in glyphOrders to reflect new glyph names.
Stores merger.glyphOrder..   N)	enumeratereprlistkeys
glyphOrder)mergerglyphOrders	megaOrderr   i	glyphNamens          F/var/www/html/env/lib/python3.13/site-packages/fontTools/merge/cmap.pycomputeMegaGlyphOrderr      s     I!
%j1LA%( 3a0Y>FA !3a0Y>'()$S47]*	 )1#$I  2 " %))9$::F	    c                    [        U 5      n[        U5      nX   nX   n	UR                  U5        U	R                  U5        UR                  UR                  :w  a  gUR                  (       a  UOUn
[        UR                  U	R                  -
  5      UR                  U
-  :  a  g[        US5      (       aA  UR                  b4  [        UR                  U	R                  -
  5      UR                  U
-  :  a  gg)NFheightT)r   drawvalueabswidthhasattrr   )	glyphSet1	glyphSet2glyph1glyph2advanceToleranceadvanceToleranceEmptypen1pen2g1g2	tolerances              r   _glyphsAreSamer(      s     #9-D"9-D		B		BGGDMGGDMzzTZZ$(JJ 4II
288bhh"((Y"66r8!6ryy299$%		I(==r   c                   $    \ rS rSr1 Skr1 SkrSrg)_CmapUnicodePlatEncodings=   >      r   r-   r-   r      r-   r      r-   r/   r   >      r   r-   r4   r   r1   r4   r/   
    N)__name__
__module____qualname____firstlineno__BMPFullRepertoire__static_attributes__r8   r   r   r*   r*   =   s    
6C:Nr   r*   c           	      ^   / n[        U5       H  u  p4SnSnUR                   H  nUR                  UR                  UR                  4nU[
        R                  ;   a  UnM>  U[
        R                  ;   a  UnMV  [        R                  SUUR                  UR                  UR                  5        M     Ub  UR                  Xc45        M  Uc  M  UR                  XS45        M     0 =U l        n	0 n
[        U S5      (       a  U R                   Vs/ s H  nSPM     snOSnU GH  u  pCUR                  R                  5        H  u  pU	R                  US5      nUc
  XU'   X:U'   M$  [!        U5      (       d  US;   a  M<  X:w  d  MC  U R"                  U   R                  U5      cM  Ub7  X   nUU4 H+  nUU   b  M  U R                  U   R%                  5       UU'   M-     XR"                  U   U'   M  U R"                  U   U   U:w  d  M  [        R                  SX5        M     GM     gs  snf )z'Sets merger.cmap and merger.glyphOrder.NzODropped cmap subtable from font '%s':	format %2s, platformID %2s, platEncID %2sfonts)i%  z4Dropped mapping from codepoint %#06X to glyphId '%s')r   tablesformat
platformID	platEncIDr*   r=   r>   logwarningappendcmapr   rA   itemsgetr   duplicateGlyphsPerFontgetGlyphSet)r   
cmapTableschosenCmapTablesfontIdxtableformat4format12subtable
propertiesrI   fontIndexForGlyphf	glyphSetsunigidoldgid
oldFontIdxidxs                     r   computeMegaCmapr^   B   s    #J/H"//8+>+>@R@RSJ6:::"8GGG#@OO''&& % ##X$78 ##W$67+ 00 FK$070H0Hv||,|!|,dI*

((*HCXXc4(F~S	)0#&%c**cY.> 009==fEM ,%6%>
$+Z#8C(~517c1B1N1N1P	# $9
 FI11':6B227;FCsJ KKNPS/ + + -s   H*c                     UR                   R                  S   n0 n[        UR                  R                  R                  5       5       H  u  pVX   nXdU'   M     XCR                  l        [        U5      Ul        g)z4Rename topDictIndex charStrings based on glyphOrder.r   N)cfftopDictIndexr   CharStringscharStringsvaluesr
   charset)r   r   cffTabletdrc   r   vr   s           r   renameCFFCharStringsri      sf    		"	"1	%BK"..44;;=>M	!"I ? "-NNj!BJr   )g?g?)fontTools.merge.unicoder   fontTools.pens.recordingPenr   logging	getLoggerrF   r   r(   r*   r^   ri   r8   r   r   <module>rn      sJ   
 9 ?  )*;, >; ;
>B
"r   