Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 2øªjyMã@sxddlmZddlmZddlmZddlmZddlm Z dd„Z dd „Z Gd d „d ej ƒZ e ejd ƒƒd d„ƒZd-dd„Ze ejd ƒƒdd„ƒZe ejd ƒƒdd„ƒZe ejƒdd„ƒZe ejƒdd„ƒZGdd„dej ƒZGdd„dejƒZGdd„deƒZGd d!„d!ej ƒZe ejd ƒƒd"d#„ƒZd$d%„Ze ejd ƒƒd&d'„ƒZe ejd ƒƒd(d)„ƒZe ejd ƒƒd*d+„ƒZ d,S).é)Ú psCharStrings)ÚttLib)ÚNullPen)ÚotRound)ÚVarStoreInstancercs‡fdd„}|S)zLReturns a decorator function that adds a new method to one or more classes.cslg}xbˆD]Z}||krq |j|ƒ|jdks4tdƒ‚t||jƒ sVtd|j|jfƒ‚t||j|ƒq WdS)NZ DefaultTablezOops, table class not found.z!Oops, class '%s' has method '%s'.)ÚappendÚ__name__ÚAssertionErrorÚhasattrÚsetattr)ÚmethodÚdoneZclazz)Úclazzes©ú9/tmp/pip-build-_d5lkt3n/fonttools/fontTools/subset/cff.pyÚwrapper s    z_add_method..wrapperr)rrr)rrÚ _add_methods rcCs tt|ƒƒS)N)ÚsortedÚset)ÚlrrrÚ _uniq_sortsrc@seZdZdd„Zdd„ZdS)Ú_ClosureGlyphsT2DecompilercCstjj|||ƒ||_dS)N)rÚSimpleT2DecompilerÚ__init__Ú components)ÚselfrÚ localSubrsÚ globalSubrsrrrrsz#_ClosureGlyphsT2Decompiler.__init__c Cs`|jƒ}t|ƒdkr\ddlm}|dd…\}}}}||}||} |jj|ƒ|jj| ƒdS)Nér)ÚStandardEncodingéüÿÿÿ)ZpopallÚlenZ$fontTools.encodings.StandardEncodingrrÚadd) rÚindexÚargsrZadxZadyZbcharZacharZ baseGlyphZ accentGlyphrrrÚ op_endchar#s   z%_ClosureGlyphsT2Decompiler.op_endcharN)rÚ __module__Ú __qualname__rr%rrrrrsrzCFF c Cs¦|j}t|ƒdkst‚||jƒd}|j}|j}xn|r tƒ}xD|D]<}||krRqD||}t|jdgƒ} t || |j ƒ} | j |ƒqDW||j8}|jj |ƒ|}q4WdS)NérÚSubrs) Úcffr!r ÚkeysÚ CharStringsÚglyphsrÚgetattrÚprivaterrÚexecuteÚupdate) rÚsr*ÚfontZglyphSetZ decomposerÚgÚglÚsubrsÚ decompilerrrrÚclosure_glyphs/s"   r8Fc Csž|jj|ƒ\}}|s|r2|jƒ|r(gndg|_nht|dƒrT|jdk rT|j|j}n|j}|j}|j}t ƒ} |j | ƒ|j |kr’|j |dg|_ndg|_dS)NÚendcharÚFDArray) r,ÚgetItemAndSelectorÚ decompileÚprogramr r:ÚPrivateÚ defaultWidthXÚ nominalWidthXrZdrawÚwidth) r3Z glyphNameÚisCFF2Ú ignoreWidthÚcZ fdSelectIndexr/ZdfltWdXZnmnlWdXZpenrrrÚ_empty_charstringEs  rEcCsz|j}|jdd…|_|jrV|j rV|jdk}x&|jƒD]}||}t|d|d�q8Wx|jƒD]}||}d|_q`WdS)Nr(z.notdef)rBrT)r*Z fontNamesZ notdef_glyphZnotdef_outlineÚmajorr+rEÚEncoding)rr3Úoptionsr*rBÚfontnamerrrÚprune_pre_subsetYs  rJc s\|j}�xN|jƒD�]@}||}|j}|jj|jƒ‰x&|jD]}|ˆkrJq<|j|ƒ\}}q|sz!subset_glyphs..csg|]}ˆj|‘qSr)Úitems)rKrL)ÚcsirrrM~sÚFDSelectécsg|]}ˆj|‘qSr)ÚgidArray)rKrL)ÚselrrrM‹scs$i|]\}}|ˆkrˆj|ƒ|“qSr)r#)rKr4Úv)r-Úindicesrrú Œsz!subset_glyphs..csi|]\}}|ˆkr||“qSrr)rKr4rT)r-rrrV�scsg|]}|ˆkr|‘qSrr)rKr4)r-rrrM“sr(T)rBrC)r*r+r,r-ÚunionZglyphs_emptiedÚcharsetr;ZcharStringsAreIndexedÚ enumerateZcharStringsIndexrNÚfileÚoffsetsr rPÚformatrRZ charStringsr!Z numGlyphsrHZ retain_gidsrFrE) rr2r*rIr3Úcsr4rDÚ_rBr)rOr-rUrSrÚ subset_glyphsms:        r_cCs¸|j}x¬tdt|ƒƒD]š}||dkrft||dtƒs|jrJ|jj |ƒ|j dkr x>t |j t |jƒdƒD]$}t|j|tƒrŠd|_ Pqld|_ qlWt |jƒ|_ |r´|j|jks´t‚dS)Nrmrjr()r rmr�rrƒr0rprsr‚r"r€rbrr!r=rcÚstrÚ__dict__r )rÚ charStringZ old_hintsrtrLrrrr0s      z_DehintingT2Decompiler.executecCs4|j|jd|j}tjj||ƒ|j||ƒdS)Nr(rx)rryrzrrƒr{Ú processSubr)rr#Úsubrrrrr{sz"_DehintingT2Decompiler.op_callsubrcCs4|j|jd|j}tjj||ƒ|j||ƒdS)Nr(rx)rryr|rrƒr}rˆ)rr#r‰rrrr}sz#_DehintingT2Decompiler.op_callgsubrcCstjj||ƒ|j|ƒdS)N)rrƒÚop_hstemÚ processHint)rr#rrrrŠ$sz_DehintingT2Decompiler.op_hstemcCstjj||ƒ|j|ƒdS)N)rrƒÚop_vstemr‹)rr#rrrrŒ'sz_DehintingT2Decompiler.op_vstemcCstjj||ƒ|j|ƒdS)N)rrƒÚ op_hstemhmr‹)rr#rrrr�*sz!_DehintingT2Decompiler.op_hstemhmcCstjj||ƒ|j|ƒdS)N)rrƒÚ op_vstemhmr‹)rr#rrrrŽ-sz!_DehintingT2Decompiler.op_vstemhmcCstjj||ƒ}|j|ƒ|S)N)rrƒÚ op_hintmaskÚprocessHintmask)rr#Úrvrrrr�0s z"_DehintingT2Decompiler.op_hintmaskcCstjj||ƒ}|j|ƒ|S)N)rrƒÚ op_cntrmaskr�)rr#r‘rrrr’4s z"_DehintingT2Decompiler.op_cntrmaskcCsv|jd}|j}d|_|jdkrhxFt|j|dƒD]}t|j|tƒr2d|_Pq2Wd|_ |d|_ d|_|d|_dS)Nr(Trjrrx) Ú callingStackrmrsr€rbrrcr=r…rprq)rr#r]rtrLrrrr�9s   z&_DehintingT2Decompiler.processHintmaskcCs&|jd}|j}d|_||_||_dS)Nr(Trx)r“rmrprqr)rr#r]rtrrrr‹Js  z"_DehintingT2Decompiler.processHintcCs¶|jd}|j}|j}|jdkrXx0t|j|dƒD]}t|j|tƒr2d|_Pq2W||_|jdkrŒ|jr¢d|_|jdkr€||_ q¢|d|_ n|jdkr¢|j j |ƒt |j|jƒ|_dS)Nr(rjTrrx) r“rmr€rbrrcr=r…rprqrnrÚmax)rr#r‰r]rtZ subr_hintsrLrrrrˆQs$       z"_DehintingT2Decompiler.processSubr)N)rr&r'Úobjectr�rr0r{r}rŠrŒr�rŽr�r’r�r‹rˆrrrrr~ás r~c@s eZdZdS)ÚStopHintCountEventN)rr&r'rrrrr–nsr–c@sJeZdZdZddd„Zd d „Zd d „Zd d„Zdd„Zdd„Z dd„Z dS)Ú_DesubroutinizingT2Decompilerr�r’Ú op_rmovetoÚ op_hmovetoÚ op_vmovetoNcCstjj||||ƒdS)N)rrr)rrrr/rrrrxs z&_DesubroutinizingT2Decompiler.__init__c Cstd|_x|jD]}t|||jƒqWt|dƒrn|jrj|jrjytjj||ƒWnt k rh|jd =YnXdSg|_ tjj||ƒ|j dd…}x„t |j ƒD]v\}}|dks°t ‚||dd ksÐt ||dƒ‚t||dƒtksèt ‚|d dk�r|dd …}|||d|…<qœW|jj�sfd|k�rB|d|jdƒd…}n$t|ƒ �s\|d dk�rf|jdƒ||_|` dS)NTÚ_desubroutinizedr(rjr`raÚreturnr9rx)r`rarxrxrx)Úneed_hintcountÚstop_hintcount_opsr Ústop_hint_countr r“rrr0r–Ú_patchesr=ror Útyperdr/Zin_cff2r#r!rr›)rr‡Úop_nameZdesubroutinizedruZ expansionrrrr0|s6         z%_DesubroutinizingT2Decompiler.executecCs4|j|jd|j}tjj||ƒ|j||ƒdS)Nr(rx)rryrzrrr{rˆ)rr#r‰rrrr{¢sz)_DesubroutinizingT2Decompiler.op_callsubrcCs4|j|jd|j}tjj||ƒ|j||ƒdS)Nr(rx)rryr|rrr}rˆ)rr#r‰rrrr}§sz*_DesubroutinizingT2Decompiler.op_callgsubrcGs@d|_x|jD]}t||dƒqW|jd}t|dƒr.csg|] }ˆ|‘qSrr)rKrL)ÚarrrrrMÌsT)r*r+r,r rPrrRr:rNrZr[ÚdesubroutinizeZhintingÚ remove_hintsÚremove_unused_subroutines)rZttfFontrHr*rIr3r]rSr)r¤rUrÚprune_post_subset¿s$    r¨cCs,t|dƒr(|j r(d|jkr$|jd=|`dS)Nr))r r)ÚrawDict)Z private_dictrrrÚ_delete_empty_subrsÛs rªc Csö|j}xà|jƒD]Ô}||}|j}xX|jD]N}|j|ƒ\}}|jƒt|jdgƒ}t||j |jƒ} | j |ƒ|j |_ |` q*Wt |dƒr¾x\|jD]*} | j} t | dƒr¦| `d| jkrŽ| jd=qŽWq|j} t | dƒrÒ| `d| jkr| jd=qW|jjƒdS)Nr)r:)r*r+r,rXr;r<r.r/r—rr0r›r=r r:r>r)r©Ú GlobalSubrsÚclear) rr*rIr3r]r4rDr^r6r7ÚfdÚpdrrrr¥ás2         r¥cCs |j}�x |jƒD�]ü}||}|j}tƒ}xb|jD]X}|j|ƒ\}}|jƒt|jdgƒ} t || |j |jj |jj |jƒ} | j |ƒ| j|_q4Wx|D] } | jƒq–W~g} t|dƒrÎ| jdd„|jDƒƒn | j|jƒx4| D],} x&dD]}t| |ƒ�rêt| |dƒ�qêWqàWqW|jƒdS)Nr)r:css|] }|jVqdS)N)r>)rKr­rrrú (szremove_hints..Ú BlueValuesÚ OtherBluesÚ FamilyBluesÚFamilyOtherBluesÚ BlueScaleÚ BlueShiftÚBlueFuzzÚ StemSnapHÚ StemSnapVÚStdHWÚStdVWÚ ForceBoldÚ LanguageGroupÚExpansionFactor)r°r±r²r³r´rµr¶r·r¸r¹rºr»r¼r½)r*r+r,rrXr;r<r.r/r~rr@r?r0rArvr Úextendr:rr>r r§)rr*rIr3r]r„r4rDr^r6r7Z charstringZ all_privsZprivÚkrrrr¦s>          r¦c s<|j}�x.|jƒD�] }||}|j}xD|jD]:}|j|ƒ\}}t|jdgƒ‰tˆ|j|jƒ}|j |ƒq.W|j g} t |dƒr–| j dd„|j Dƒƒn"t |jdƒr¸|jjr¸| j|jjƒtˆƒ‰xD| D]<‰t ˆdƒsÜtƒˆ_tˆjƒˆ_tjˆƒˆ_tjˆjƒˆ_qÆWx:|jD]0}|j|ƒ\}}t|jdgƒ‰|jˆ|j ƒ�qWx | D]˜‰ˆ|j k�r„t |dƒ �r~t |jdƒ�r~|jj} ng} nˆ} ‡fdd„ˆjDƒˆ_t ˆdƒ�r®ˆ`t ˆd ƒ�r¾ˆ`xˆjD]} | j| |j ƒ�qÆW�qHWt |dƒ�rx&|j D]} t| jƒ�qøWn t|jƒx| D]‰ˆ`ˆ`ˆ`�qWqWdS) Nr)r:css*|]"}t|jdƒr|jjr|jjVqdS)r)N)r r>r))rKr­rrrr¯Gsz,remove_unused_subroutines..recsg|]}ˆj|‘qSr)rN)rKrL)r6rrrMesz-remove_unused_subroutines..rZr[)r*r+r,rXr;r.r/rwrr0r«r r¾r:r>r)rrrerrZ calcSubrBiasrfrgrirNrZr[rª) rr*rIr3r]r4rDr^r7Z all_subrsZ local_subrsr‰r­r)r6rr§6sX                 r§N)F)!ZfontTools.miscrZ fontToolsrZfontTools.pens.basePenrZfontTools.misc.roundToolsrZfontTools.varLib.varStorerrrrrZ getTableClassr8rErJr_Z T2CharStringrirvrwrƒr~Ú Exceptionr–r—r¨rªr¥r¦r§rrrrÚs.      2 $K 5