K i7UddlmZddlZddlmZmZddlmZddlmZ ddlm Z ddlm Z dd lmZd Zer dd lmZdd lmZd ZdZdZdZdZdZdZdZdZdZddddgZde d<ddZ!GddejZ"y) ) annotationsN)FontFileImage)i8)i16be)i16le)i32be)i32leF)Callable)BinaryIOifcp @c|dzdz S)Nbitss U/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/PIL/PcfFontFile.pyr2s4!8/c|dzdz dzS)Nrrrs rrr34"9"b(rc|dzdz dzS)Nrrrs rrr4r"rc|dzdz dzS)N?rirrs rrr5r"rzlist[Callable[[int], int]] BYTES_PER_ROWc,|||jd|S)N)index)sos rszr.9s Q" ##rcbeZdZdZdZd d fd Z d dZd dZd dZ ddZ ddZ xZ S) PcfFontFilez(Font file plugin for the X11 PCF format.namec ||_t|jd}|tk7r d}t |t |t|jd}i|_t|D]v}t|jd}t|jdt|jdt|jdf|j|<x||_ |j|_ |j}|j|} |j} t| D]<\} } |  || \} }}}}}}}|df|||z | |z|fdd| |f| | f|j | <>y)Nrznot a PCF filer)charset_encodingl32read PCF_MAGIC SyntaxErrorsuper__init__tocrangefp_load_propertiesinfo _load_metrics _load_bitmaps_load_encoding enumerateglyph)selfr<r3magicmsgcountitypemetricsbitmapsencodingchixxsizeysizeleftrightwidthascentdescent attributes __class__s rr9zPcfFontFile.__init__Bs~ 0BGGAJ I "Cc" " BGGAJu OArwwqz?D _c"''!*os2771:NDHHTN O))+ $$&$$W-&&(  ) FB~BK AJ7U?EDL'B5%(BK " 2 rc|j|\}}}|j}|j|t|j d}|dzr t t }}n tt}}||||fS)Nr)r:r<seekr4r5b16b32l16)rDtagformatsizeoffsetr<i16i32s r _getformatzPcfFontFile._getformatpse $xx}f WW RWWQZ A:CCCC63##rc &i}|jt\}}}}||jd}t|Dcgc]I}||jdt |jd||jdfK}}|dzr&|j d|dzz t j|j||jd} |D]%\} } } | r t| | n| } | |t| | <'|Scc}w)Nrrr) rcPCF_PROPERTIESr5r;rrYioSEEK_CURr.)rD propertiesr<r^rarbnprops_pdatakr,vproperty_values rr=zPcfFontFile._load_propertiess #~>FCRWWQZJOv WAc"''!*or"''!*~s2771: ? W W A: GGA!$bkk 2wws2771:' 5GAq!9:"T1+N&4Jr${ # 5 XsADc g}|jt\}}}}|j}|dzdk(rt||j dD]}t |j ddz }t |j ddz } t |j ddz } t |j ddz } t |j ddz } | |z } | | z}|| ||| | | | df|St||j dD]}||j d}||j d} ||j d} ||j d} ||j d} ||j d}| |z } | | z}|| ||| | | | |f|S)Nirrrrrr)rc PCF_METRICSappendr;r5r)rDrJr<r^rarbrrrHrQrRrSrTrUrOrPrVs rr?zPcfFontFile._load_metricssHJ#{;FC VO %3rwwqz?+ O"''!*~+2771:,2771:,BGGAJ#-RWWQZ.3. (udE5&'1MN O.3rwwqz?+ X2771:BGGAJBGGAJRWWQZbggaj/ _  (udE5&':VW Xrc |jt\}}}}||jd}|t|k7r d}t |t |Dcgc]}||jd} }t dDcgc]}||jd} }|dz} |dz} | | } | j | |j| }t| }d}| rd}g}t |D]L}||dd\}}| ||dz\}}|j tjd||f|||d|||N|Scc}wcc}w) NrzWrong number of bitmapsrrz1;R1rraw) rc PCF_BITMAPSr5lenOSErrorr;rrr(r frombytes)rDrJr<r^rarbnbitmapsrFrjoffsets bitmap_sizesbitorderpadindex bitmapsizerlpadmoderKrHrOrPbes rr@zPcfFontFile._load_bitmapss[ ${;FCrwwqz? s7| #+C#, ,1(OLE51q1u%DAq NNeU^T!AYtSQVZX  5=:s EE c|jt\}}}}||jd||jd}}||jd||jd}}||jd||z dz||z dzz} dgtd| z} t | D cgc]} ||jd} } t |t | D]>} | t t| gj|j}|dk7r|| | <@| Scc} w#t$rYSwxYw)Nrrri) rcPCF_BDF_ENCODINGSr5minr;rword bytearraydecoder3UnicodeDecodeError)rDr<r^rarb first_collast_col first_rowlast_row nencodingrLrjencoding_offsetsrHencoding_offsets rrAzPcfFontFile._load_encodings@#/@AFC!"''!*os2771:8 !"''!*os2771:8  BGGAJ )A-(Y2F2JK '+Vc#y.A%A5:95EFC OFFy#h-0 A "2 1#--d.C.CDE##f,"1HQK G&  s<D45;D99 EE)z iso8859-1)r<r r3str)r]intreturnzDtuple[BinaryIO, int, Callable[[bytes], int], Callable[[bytes], int]])rzdict[bytes, bytes | int])r3list[tuple[int, int, int, int, int, int, int, int]])rJrrzlist[Image.Image])rzlist[int | None]) __name__ __module__ __qualname____doc__r1r9rcr=r?r@rA __classcell__)rWs@rr0r0=sL2 D,\$$ M$"0#J(J( (Trr0)r,bytesr-rrr)# __future__rrfrr_binaryrrrZr r\r r[r r4 TYPE_CHECKINGcollections.abcr typingr r6rePCF_ACCELERATORSrqrvPCF_INK_METRICSr PCF_SWIDTHSPCF_GLYPH_NAMESPCF_BDF_ACCELERATORSr(__annotations__r.r0rrrrs$# !!!! (     #((( - )$E(##Er