L iHddlmZddlmZddlZej dZdZ d dZdZ Gdd Z d Z d Z y) )is_Default_Ignorable)DecomposingRecordingPenNzfontTools.mergec&i}|D]j}t|D]Z\}}||vrL||}|dzt|z|vr|dz }|dzt|z|vr|||<|dt|zz }|||<d||<\lt|jx|_}y)zXModifies passed-in glyphOrders to reflect new glyph names. Stores merger.glyphOrder..N) enumeratereprlistkeys glyphOrder)merger glyphOrders megaOrderr i glyphNamens Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/merge/cmap.pycomputeMegaGlyphOrderr sI! % %j1 %LAyI%i( 3a0Y>FA!3a0Y>'( )$S47]* ) 1 #$Ii  % %%))9$::F ct|}t|}||}||} |j|| j||j|jk7ry|jr|n|} t|j| jz |j| zkDryt |dr?|j 3t|j | j z |j | zkDryy)NFheightT)rdrawvalueabswidthhasattrr) glyphSet1 glyphSet2glyph1glyph2advanceToleranceadvanceToleranceEmptypen1pen2g1g2 tolerances r_glyphsAreSamer(s #9 -D "9 -D 6 B 6 BGGDMGGDM zzTZZ$(JJ 4II 288bhh "((Y"66r8!6 ryy299$ % I(= = rc$i}|j}|D]]}|jjD]>\}}||vri||<|D]+\}}|j||k(rd}|||vs$||||<-@_|D]}g||j||<|S)z-Returns merged UVS subtable (cmap format=14).N)cmapuvsDictitemsget) r uvsTablesr+r*tablevariationSelector uvsMapping unicodeValuers rcomputeMegaUvsr39sG ;;D I-2]]-@-@-B I ) z /-/)*+5 I' i88L)Y6 $Iw/@'AA?HG-.|<  I I I%K%Jw/@'A'G'G'I%J!"K Nrc"eZdZhdZhdZdhZy)_CmapUnicodePlatEncodings>rr7r7rr7rr7r9r> rr7r>rr;r>r9 )rN)__name__ __module__ __qualname__BMPFullRepertoireUVSrrr5r5Ss 6C:N ,Crr5c g}g}t|D]\}}d}d}d}|jD]} | j| j| jf} | t j vr| };| t jvr| }P| t jvr| }etjd|| j| j| j||j||fn||j||f||j|ix|_ } i} t|dr|jD cgc]} dc} nd}|D]\}}|jjD]\}}| j!|d}| || |<|| |<%t#|s|dvr5||k7s;|j$|j!|I|4| |}||fD](}|| |j|j'||<*||j$||<|j$|||k7stjd||t)|||_ycc} w)z$Sets merger.cmap and merger.uvsDict.NzODropped cmap subtable from font '%s': format %2s, platformID %2s, platEncID %2sfonts)i%z4Dropped mapping from codepoint %#06X to glyphId '%s')rtablesformat platformID platEncIDr5rGrHrIlogwarningappendr*rrLr,r-rduplicateGlyphsPerFont getGlyphSetr3r+)r cmapTableschosenCmapTableschosenUvsTablesfontIdxr/format4format12format14subtable propertiesr*fontIndexForGlyphf glyphSetsunigidoldgid oldFontIdxidxs rcomputeMegaCmaprgYs O#J/-  H"//8+>+>@R@RSJ6:::"8GGG#8<<<# @OO''&&  "    # #Xw$7 8   # #Wg$6 7    " "8 ,7-<FK$070Hv||,!,dI*w ((* HCXXc4(F~S )0!#&%c*cY.>3009==fEM ,%6v%> $+Z#8QC(~517c1B1N1N1P #Q FIF11':6B227;FCsJKKNPSUX/ :$FO#1qM !" I#"-BNNj!BJr)g?g?) fontTools.merge.unicoderfontTools.pens.recordingPenrlogging getLoggerrQrr(r3r5rgrrrJrrrwsR 9?g)*;, 64 G=T "r