)EjC`ddlmZddlZddlmZddlmZmZmZdZ dd Z GddZ dS)) annotationsN)BinaryIO)Image ImageFont_binaryi fprvalues7tuple[int, int, int, int, int, int, int, int, int, int]returnNonect|D]4}|dkr|dz }|tj|5dS)z0Write network order (big-endian) 16-bit sequencerN)writero16be)r r vs >C:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/FontFile.pyputi16rsN## q55 JA q!!""""##cReZdZUdZdZded<ddZdd Zdd ZddZ ddZ ddZ dS)FontFilez)Base class for raster font file handlers.NzImage.Image | Nonebitmapr r c*i|_dgdz|_dS)N)infoglyph)selfs r__init__zFontFile.__init__)s.0 FSL rixint`tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int], Image.Image] | Nonec|j|S)N)r)rrs r __getitem__zFontFile.__getitem__5sz"~rcD|jrdSdx}x}}d}|jD]o}|rk|\}}}} t||d|dz }||d|dz z }|tkr|dz }|d|dz }t||}p|} ||z} | dkr| dkrdS||_t j| | ft jd| | f|_dgdz|_dx} } tdD]}||}|r|\}}}} |d|dz }| | }}| |z} | tkr d| |z} } | | }}|} |d|z|d|z|d|z|d|zf}|j | |||||f|j|<dS)zCreate metrics and bitmapNrr1r) rrmaxWIDTHysizer_decompression_bomb_checknewmetricsrangepastecrop)rhwmaxwidthlinesrddstsrcimxsizer*xyixxx0y0ss rcompilezFontFile.compile@s ;  FAZ , ,E ,"'3R3q6CF?++SVc!f_$u99QJEAQAx++  A::%1** F  '777ieU^44 FSL  As , ,AGE ,"'3RVc!f_ABFu99a!eqABAFRKQ"c!frk3q6B;F !!"''#,,222"#S!) Q , ,rbytescVg}tdD]T}|j|}|r.||d|dz|dz?|dUt}|D]$}|dkr|dz }|t j|z }%t |S)Nrrrr&) rrrrrrrrrrr)r.r-extend bytearrayrrrB)rr r<mdatars r_encode_metricszFontFile._encode_metricsrss ) )A QA ) adQqTkAaD01111 i(((({{ % %A1uuU  GM!$$ $DDT{{rfilenamestrc||jsd}t||jtj|ddzdttj|ddzd5}|d|d|j d  d |d || d d d d S#1swxYwYd S) z Save fontNo bitmap createdrz.pbmPNGz.pilwbsPILfont z;;;;;;z; asciisDATA N) rAr ValueErrorsaveospathsplitextopenrr*encoderH)rrImsgr s rrQz FontFile.saves] { "%CS// ! ))(33A6?GGG"'""8,,Q/&8$ ? ? -2 HH\ " " " HH-dj---44W== > > > HHY    HHT))++ , , ,  - - - - - - - - - - - - - - - - - -s$BD44D8;D8ImageFont.ImageFontc||jsd}t|tj}||j||S)zConvert to ImageFontrL)rArrPr_loadrH)rrW imagefonts r to_imagefontzFontFile.to_imagefontsd { "%CS// !'))  T%9%9%;%;<<<r)r r )rr r r!)r rB)rIrJr r )r rX) __name__ __module__ __qualname____doc__r__annotations__rr#rArHrQr\rrrr$s33!%F%%%%        0,0,0,0,d ----$      rr)r rr r r r ) __future__rrRtypingrrrrr)rrrbrrrfs #""""" '''''''''' ####||||||||||r