)EjddlmZddlmZddlZejdZdZ ddZd Z Gd d Z d Z d Z dS))is_Default_Ignorable)DecomposingRecordingPenNzfontTools.mergecTi}|D]z}t|D]h\}}||vrZ||}|dzt|z|vr|dz }|dzt|z|v|||<|dt|zz }|||<d||<i{t|x|_}dS)zXModifies passed-in glyphOrders to reflect new glyph names. Stores merger.glyphOrder..N) enumeratereprlistkeys glyphOrder)merger glyphOrders megaOrderr i glyphNamens FC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fontTools/merge/cmap.pycomputeMegaGlyphOrderr sI! % % %j11 % %LAyI%%i( 3a0Y>>FA!3a0Y>>'( )$S477]* ) 1 #$Ii  %%))9)9$:$::F 皙?皙?ct|}t|}||}||} ||| ||j|jkrdS|jr|n|} t|j| jz |j| zkrdSt |dr1|j*t|j| jz |j| zkrdSdS)NFheightT)rdrawvalueabswidthhasattrr) glyphSet1 glyphSet2glyph1glyph2advanceToleranceadvanceToleranceEmptypen1pen2g1g2 tolerances r_glyphsAreSamer*s #9 - -D "9 - -D 6 B 6 BGGDMMMGGDMMM zTZu$(JI  4II 28bh "(Y"666ur8!6 ry29$ % % I(= = =5 4rc*i}|j}|D]b}|jD]F\}}||vri||<|D]5\}}|||krd}|||vr ||||<6Gc|D]!}g||||<"|S)z-Returns merged UVS subtable (cmap format=14).N)cmapuvsDictitemsget) r uvsTablesr-r,tablevariationSelector uvsMapping unicodeValuers rcomputeMegaUvsr59sG ;D I I-2]-@-@-B-B I I ) z //-/)*+5 I I' i88L))Y66 $Iw/@'AAA?HG-.|<  I I%KK%Jw/@'A'G'G'I'I%J!"" Nrc$eZdZhdZhdZdhZdS)_CmapUnicodePlatEncodings>rr9r9rr9rr9r;r> rr9r@rr=r@r; )rN)__name__ __module__ __qualname__BMPFullRepertoireUVSrrr7r7Ss+ 6 6 6C:::N ,CCCrr7c dg}g}t|D]\}}d}d}d}|jD]v} | j| j| jf} | t jvr| }'| t jvr| }8| t jvr| }It d|| j| j| jw|| ||fn|| ||f|| |ix|_ } i} t|drd|jDnd} |D]\}}|j D]\}}| |d}| || |<|| |<(t#|s|dvr<||kr|j||L| 9| |}||fD],}| |"|j|| |<-||j||<|j|||krt d||t)|||_dS)z$Sets merger.cmap and merger.uvsDict.NzODropped cmap subtable from font '%s': format %2s, platformID %2s, platEncID %2sfontscg|]}dS)NrL).0fs r z#computeMegaCmap..s,,,!,,,r)i%z4Dropped mapping from codepoint %#06X to glyphId '%s')rtablesformat platformID platEncIDr7rIrJrKlogwarningappendr,rrNr.r/rduplicateGlyphsPerFont getGlyphSetr5r-)r cmapTableschosenCmapTableschosenUvsTablesfontIdxr1format4format12format14subtable propertiesr,fontIndexForGlyph glyphSetsunigidoldgid oldFontIdxidxs rcomputeMegaCmaprlYs O#J//--   H"/8+>@RSJ6:::"8GGG#8<<<# @O'&     # #Xw$7 8 8 8 8   # #Wg$6 7 7 7    " "8 , , ,FK$070H0HR,,v|,,,,dI*w ((**  HCXXc4((F~S )0!#&&%c** cY.>.>309==fEEM ,%6v%> $+Z#8QQC(~517c1B1N1N1P1P #FIF1':6BB27;FCsJJKKNPSUX/ 6$FO<>##1qM !" I!,BNj!!BJJJr)rr) fontTools.merge.unicoderfontTools.pens.recordingPenrlogging getLoggerrWrr*r5r7rlrwrLrrr|s 988888??????g)**;;;, 64 G=G=G=T " " " " "r