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øªj¾7ã@sêdZddlmZddlmZmZmZdZeeƒZdZ de ›d�Z de ›d �Z de ›d �Z de ›d �Z ee ƒZee ƒZee ƒZee ƒZd Zd ddddddgZddddddddddddd d!d"gZd#d$d%d&d'd(gZdZd)Zd*ZdZd)Zd*ZdZd)Zd*Zd+Zd,Z d,Z!Gd-d.„d.e"ƒZ#Gd/d0„d0ƒZ$e%d1k�rædd2l&Z&e$e&j'd)ƒZ(e)dj*d3d4„d5e(j+›�d6e(j,›�d7e(j-›�d8e(j.›�d9e(j/›�d:e(j0›�d;e(j1›�de(j4›�d?e(j5›�d@e(j6›�dAe(j7›�dBe(j8›�gDƒƒƒe)e(ƒd2S)Cu1Module for reading TFM (TeX Font Metrics) files. The TFM format is described in the TFtoPL WEB source code, whose typeset form can be found on `CTAN `_. >>> from fontTools.tfmLib import TFM >>> tfm = TFM("Tests/tfmLib/data/cmr10.tfm") >>> >>> # Accessing an attribute gets you metadata. >>> tfm.checksum 1274110073 >>> tfm.designsize 10.0 >>> tfm.codingscheme 'TeX text' >>> tfm.family 'CMR' >>> tfm.seven_bit_safe_flag False >>> tfm.face 234 >>> tfm.extraheader {} >>> tfm.fontdimens {'SLANT': 0.0, 'SPACE': 0.33333396911621094, 'STRETCH': 0.16666698455810547, 'SHRINK': 0.11111164093017578, 'XHEIGHT': 0.4305553436279297, 'QUAD': 1.0000028610229492, 'EXTRASPACE': 0.11111164093017578} >>> # Accessing a character gets you its metrics. >>> # “widthâ€� is always available, other metrics are available only when >>> # applicable. All values are relative to “designsizeâ€�. >>> tfm.chars[ord("g")] {'width': 0.5000019073486328, 'height': 0.4305553436279297, 'depth': 0.1944446563720703, 'italic': 0.013888359069824219} >>> # Kerning and ligature can be accessed as well. >>> tfm.kerning[ord("c")] {104: -0.02777862548828125, 107: -0.02777862548828125} >>> tfm.ligatures[ord("f")] {105: ('LIG', 12), 102: ('LIG', 11), 108: ('LIG', 13)} é)ÚSimpleNamespace)ÚcalcsizeÚunpackÚunpack2a� > lf: h # length of the entire file, in words lh: h # length of the header data, in words bc: h # smallest character code in the font ec: h # largest character code in the font nw: h # number of words in the width table nh: h # number of words in the height table nd: h # number of words in the depth table ni: h # number of words in the italic correction table nl: h # number of words in the ligature/kern table nk: h # number of words in the kern table ne: h # number of words in the extensible character table np: h # number of font parameter words z12.20Fz; > checksum: L designsize: Ú z z codingscheme: 40p z family: 20p zm seven_bit_safe_flag: ? ignored: x ignored: x face: B zI > skip_byte: B next_char: B op_byte: B remainder: B ZSLANTÚSPACEZSTRETCHZSHRINKZXHEIGHTZQUADZ EXTRASPACEZNUM1ZNUM2ZNUM3ZDENOM1ZDENOM2ZSUP1ZSUP2ZSUP3ZSUB1ZSUB2ZSUPDROPZSUBDROPZDELIM1ZDELIM2Z AXISHEIGHTZDEFAULTRULETHICKNESSZ BIGOPSPACING1Z BIGOPSPACING2Z BIGOPSPACING3Z BIGOPSPACING4Z BIGOPSPACING5éééé€cseZdZ‡fdd„Z‡ZS)Ú TFMExceptioncstƒj|ƒdS)N)ÚsuperÚ__init__)ÚselfÚmessage)Ú __class__©ú5/tmp/pip-build-_d5lkt3n/fonttools/fontTools/tfmLib.pyršszTFMException.__init__)Ú__name__Ú __module__Ú __qualname__rÚ __classcell__rr)rrr ™sr c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTFMcCs|j|ƒdS)N)Ú_read)rÚfilerrrrŸsz TFM.__init__cCs d|j›d|j›d|jd›d�S)Nz )ÚfamilyÚ codingschemeÚ designsize)rrrrÚ__repr__¢sz TFM.__repr__c szt|dƒr|jƒ‰nt|dƒ�}|jƒ‰WdQRXˆ|_tˆƒtkrLtdƒ‚tƒ‰tt ˆˆƒˆj dkrptdƒ‚tˆƒˆj dkrŠtdƒ‚x(t ˆƒj ƒD]\}}|dkr˜tdƒ‚q˜Wˆj d krÐtd ˆj ›d �ƒ‚ˆjˆjd ksìˆjd k�rtdˆj›dˆj›d�ƒ‚ˆjdk�s6ˆjdk�s6ˆjdk�s6ˆjdk�r>tdƒ‚ˆjdk�rZtdt›d�ƒ‚ˆj dˆj ˆjˆjd ˆjˆjˆjˆjˆjˆjˆjˆjk�r´tdƒ‚dˆj ˆj‰ˆˆjd ‰ˆˆj‰ˆˆj‰ˆˆj‰ˆˆj‰ ˆ ˆj‰ ˆ ˆj‰ˆˆj‰ ‡fdd„‰‡‡fdd„‰‡‡fdd„}‡‡fdd„‰‡‡fdd „‰‡‡fd!d"„‰ ‡‡fd#d$„}‡‡fd%d&„‰‡ ‡‡fd'd(„}‡‡‡ fd)d*„}‡‡‡ fd+d,„} ‡‡ ‡ fd-d.„} ‡‡fd/d0„} ‡ fd1d2„} ‡fd3d4„} ‡ ‡ fd5d6„}‡ fd7d8„}dX‡fd9d:„ ‰ ttdgt|ƒd;}ˆj d}i|_|tk�rÜttˆ|d…|ƒd }|jdd?|d@|d>|_xštˆj tdƒD]$}tdA|d<›dB�||jƒd }�q²Wn^|tk�rüttˆ|d…|ƒn>|t k�rtt!ˆ|d…|ƒn|t"k�r:tt#ˆ|d…|ƒt$|_%|j&j'ƒ}|j(dCƒ�r^t)|_%n|j(dDƒ�rpt*|_%i|_+xŽtˆjƒD]€}dE|d ›�}|dk�r¨t,|}nF|j%t)k�rÌ|dFk�rÌt-|dG}n"|j%t*k�rî|dHk�rît.|dG}ˆ ||ƒ||j+ƒ�q‚Wi}d|_/d|_0ˆjdk�r€| | dƒƒ}|j1d k�rB|j2|_/| | ˆjd ƒƒ}|j1d k�r€d|_0d|j3|j4}|||j0<i|_5�xttˆjˆjd ƒD�]\}ˆ|ƒdk�rœi|j5|<}||ƒ|dI<ˆ|ƒdk�rä||ƒ|dJ<ˆ|ƒdk�rþ| |ƒ|dK<ˆ |ƒdk�r| |ƒ|dL<||ƒ}|t6k�r,nÌ|t7k�rDˆ|ƒ||<n´|t8k�r\ˆ|ƒ|dM<nœ|t9k�rœi|dN<}x„tdƒD]x}ˆ| |ƒ|}|d>k�s¤|dk�r|dO}|dk�r¸dP}n|d k�rÈdQ}n|d k�rÖdR}||ƒ�rê|||<n|||<�q|W�qœWi|_:i|_;�xht<|j ƒƒD�]V\}}| | |ƒƒ}|j1t=k�rLd|j3|j4}�x |ˆjk�rn| | |ƒƒ}|j1t=k�rvnØ|j3t>k�r°d|j3t>|j4}||ƒ|j;j?|iƒ|j2<nž|j3}|dk�sÔ|dGk�rÚ|dSk�rÚ|}nZdT}|dd k�rô|dU7}|dV7}|d dk�r|dU7}x |d>k�r2|dW7}|d8}�qW||j4f|j:j?|iƒ|j2<|j1t=k�r\P||j1d 7}�qPW�qWdS)YNÚreadÚrbzToo short input filerz0The file claims to have negative or zero length!éz(The file has fewer bytes than it claims!z'The subfile size: '{name}' is negative!r zThe header length is only ú!réÿzThe character code range z..z is illegal!z-Incomplete subfiles for character dimensions!éz There are z extensible recipes!éu0Subfile sizes don’t add up to the stated totalcs dˆ|S)Nr"r)Úc)Ú char_baserrÚ char_infoôszTFM._read..char_infocs ˆˆ|ƒS)Nr)r')r)ÚdatarrÚ width_index÷szTFM._read..width_indexcs |ˆjkp|ˆjkpˆ|ƒdkS)Nr)ÚbcÚec)r')Úsizesr+rrÚ noneexistentúszTFM._read..noneexistentcsˆˆ|ƒddS)Nrér)r')r)r*rrÚ height_indexýszTFM._read..height_indexcsˆˆ|ƒddS)Nrr0r)r')r)r*rrÚ depth_indexszTFM._read..depth_indexcsˆˆ|ƒddS)Nr r"r)r')r)r*rrÚ italic_indexszTFM._read..italic_indexcsˆˆ|ƒddS)Nr r"r)r')r)r*rrÚtagszTFM._read..tagcsˆˆ|ƒdS)Nr r)r')r)r*rrÚ remainder szTFM._read..remaindercsdˆˆ|ƒ}ˆ|dƒdS)Nr"Úvr)r'Úr)Ú read_fixedÚ width_baser+rrÚwidth szTFM._read..widthcsdˆˆ|ƒ}ˆ|dƒdS)Nr"r6r)r'r7)Ú height_baser1r8rrÚheightszTFM._read..heightcsdˆˆ|ƒ}ˆ|dƒdS)Nr"r6r)r'r7)Ú depth_baser2r8rrÚdepthszTFM._read..depthcsdˆˆ|ƒ}ˆ|dƒdS)Nr"r6r)r'r7)Ú italic_baser3r8rrÚitalicszTFM._read..italiccsdˆˆ|ƒS)Nr"r)r')Ú exten_baser5rrÚextenszTFM._read..extencs dˆ|S)Nr"r)Úi)Ú lig_kern_baserrÚlig_stepszTFM._read..lig_stepcstƒ}ttˆ|d…|ƒ|S)N)rrÚLIG_KERN_COMMAND)rCÚcommand)r*rrÚlig_kern_command"sz#TFM._read..lig_kern_commandcsdˆ|}ˆ|dƒdS)Nr"r6r)rCr7)Ú kern_baser8rrÚkern's zTFM._read..kerncs dˆ|S)Nr"r)rC)Ú param_baserrÚparam+szTFM._read..paramcs(td|›dt›�ˆ|d…|ƒ}|dS)Nz>;ú:r)rÚ FIXED_FORMAT)ÚindexÚkeyÚobjÚret)r*rrr8.s zTFM._read..read_fixedééZMBLr ZRIZRCEz>;HEADERz:lz TEX MATH SYz TEX MATH EXZ PARAMETERééé r:r<r>r@Z nextlargerÚvarcharÚrepÚtopZmidZboté Úú/ZLIGú>)N)@Úhasattrr ÚopenÚ_dataÚlenÚ SIZES_SIZEr rrÚ SIZES_FORMATÚlfÚvarsÚitemsZlhr,r-ÚnwZnhZndÚniÚneÚnlZnkÚnprÚHEADER_FORMAT4Ú HEADER_SIZE4Ú extraheaderÚfaceÚrangeÚ HEADER_SIZE3ÚHEADER_FORMAT3Ú HEADER_SIZE2ÚHEADER_FORMAT2Ú HEADER_SIZE1ÚHEADER_FORMAT1ÚVANILLAÚfonttyperÚupperÚ startswithÚMATHSYÚMATHEXÚ fontdimensÚ BASE_PARAMSÚ MATHSY_PARAMSÚ MATHEX_PARAMSÚright_boundary_charÚleft_boundary_charZ skip_byteZ next_charZop_byter5ÚcharsÚNO_TAGÚLIG_TAGÚLIST_TAGÚEXT_TAGÚ ligaturesÚkerningÚsortedÚ STOP_FLAGÚ KERN_FLAGÚ setdefault)rrÚfpÚnameÚlengthr/r4r:r<r>r@rBrErHrJrLÚoffsetÚrestÚsÚbrCÚschemeZ lig_kern_mapÚcmdr7r'ÚinfoZchar_tagrXÚpartZligr)r(r)r*r=r2rAr;r1r?r3rIrDrKr8r5r.r9r+rrªsH        0  N                "&                                   z TFM._readN)rrrrrrrrrrržsrÚ__main__Nccs|] }|VqdS)Nr)Ú.0Úxrrrú ¹sr�z tfm.checksum=ztfm.designsize=ztfm.codingscheme=z tfm.fonttype=z tfm.family=ztfm.seven_bit_safe_flag=z tfm.face=ztfm.extraheader=ztfm.fontdimens=ztfm.right_boundary_char=ztfm.left_boundary_char=z tfm.kerning=ztfm.ligatures=z tfm.chars=)9Ú__doc__ÚtypesrZfontTools.misc.sstructrrrrdrcrNrwrursrmrvrtrrrnrFrr€r�rxr|r}Z UNREACHABLEZ PASSTHROUGHZ ACCESSABLEr…r†r‡rˆrŒr�Ú Exceptionr rrÚsysÚargvZtfmÚprintÚjoinZchecksumrrryrZseven_bit_safe_flagrpror~r‚rƒrŠr‰r„rrrrÚ$sž