
    h                        % S SK Jr  S SKrS SKJrJr  SSKJrJr  SSK	J
r
  SSK	Jr  SSK	Jr  SS	K	Jr  SS
K	Jr  SrSrSrSrSrSrSrSrSrSrS S S S /rS\S'   SS jr " S S\R                  5      r g)    )annotationsN)BinaryIOCallable   )FontFileImage)i8)i16be)i16le)i32be)i32leifcp                @         c                    U S-   S-	  $ )N       bitss    A/var/www/html/env/lib/python3.13/site-packages/PIL/PcfFontFile.py<lambda>r   .   s    4!8/    c                    U S-   S-	  S-  $ )N   r   r   r   s    r   r   r   /       4"9"b(r   c                    U S-   S-	  S-  $ )N   r   r   r   s    r   r   r   0   r"   r   c                    U S-   S-	  S-  $ )N?   r   ir   r   s    r   r   r   1   r"   r   zlist[Callable[[int], int]]BYTES_PER_ROWc                *    XU R                  SU5       $ )N    )index)sos     r   szr.   5   s    "##r   c                  z   ^  \ rS rSrSrSrSSU 4S jjjr    SS jrSS jrSS jr	    SS jr
SS	 jrS
rU =r$ )PcfFontFile9   z(Font file plugin for the X11 PCF format.namec           	       > X l         [        UR                  S5      5      nU[        :w  a  Sn[	        U5      e[
        TU ]  5         [        UR                  S5      5      n0 U l        [        U5       Hw  n[        UR                  S5      5      n[        UR                  S5      5      [        UR                  S5      5      [        UR                  S5      5      4U R                  U'   My     Xl	        U R                  5       U l        U R                  5       nU R                  U5      n	U R                  5       n
[        U
5       H:  u  pUc  M
  X   u  nnnnnnnnUS4UUU-
  X-   U4SSX4X   4U R                   U'   M<     g )Nr   znot a PCF filer   )charset_encodingl32read	PCF_MAGICSyntaxErrorsuper__init__tocrangefp_load_propertiesinfo_load_metrics_load_bitmaps_load_encoding	enumerateglyph)selfr=   r4   magicmsgcountitypemetricsbitmapsencodingchixxsizeysizeleftrightwidthascentdescent
attributes	__class__s                        r   r:   PcfFontFile.__init__>   sd    0BGGAJI"Cc""BGGAJuArwwqz?D _c"''!*os2771:NDHHTN  ))+	$$&$$W-&&(
  )FB~ K	 AJ7U?EL'B5(K	"

2 *r   c                    U R                   U   u  p#nU R                  nUR                  U5        [        UR	                  S5      5      nUS-  (       a  [
        [        pvO[        [        pvXRXg4$ )Nr   )r;   r=   seekr5   r6   b16b32l16)rE   tagformatsizeoffsetr=   i16i32s           r   
_getformatPcfFontFile._getformatl   s[      $xx}fWW
RWWQZA:CC3##r   c           
     6   0 nU R                  [        5      u  p#pEU" UR                  S5      5      n[        U5       Vs/ s HI  ou" UR                  S5      5      [	        UR                  S5      5      U" UR                  S5      5      4PMK     nnUS-  (       a&  UR                  SUS-  -
  [        R                  5        UR                  U" UR                  S5      5      5      n	U H'  u  pnU(       a  [        X5      OUnX[        X5      '   M)     U$ s  snf )Nr   r   r   )	re   PCF_PROPERTIESr6   r<   r	   r[   ioSEEK_CURr.   )rE   
propertiesr=   r`   rc   rd   nprops_pdatakr,   vproperty_values                 r   r>   PcfFontFile._load_properties}   s     
#~>CRWWQZ JOvWAc"''!*or"''!*~s2771:?WA:GGA!$bkk2wws2771:'GA!9:"T+N&4r${#   Xs   ADc                   / nU R                  [        5      u  p#pEUR                  nUS-  S:X  a  [        U" UR	                  S5      5      5       H  n[        UR	                  S5      5      S-
  n[        UR	                  S5      5      S-
  n	[        UR	                  S5      5      S-
  n
[        UR	                  S5      5      S-
  n[        UR	                  S5      5      S-
  nX-
  nX-   nU" XXXUS45        M     U$ [        U" UR	                  S5      5      5       H  nU" UR	                  S5      5      nU" UR	                  S5      5      n	U" UR	                  S5      5      n
U" UR	                  S5      5      nU" UR	                  S5      5      nU" UR	                  S5      5      nX-
  nX-   nU" XXXX45        M     U$ )Ni   r   r   r   r   r   r   )re   PCF_METRICSappendr<   r6   r	   )rE   rK   r=   r`   rc   rd   rv   rI   rR   rS   rT   rU   rV   rP   rQ   rW   s                   r   r@   PcfFontFile._load_metrics   s    HJ#{;CVO%3rwwqz?+"''!*~+2771:,2771:,BGGAJ#-RWWQZ.3.(d5'1MN ,.  3rwwqz?+2771:BGGAJBGGAJRWWQZbggaj/ _
(d5'VW , r   c                   U R                  [        5      u  p#pEU" UR                  S5      5      nU[        U5      :w  a  Sn[	        U5      e[        U5       Vs/ s H  o" UR                  S5      5      PM     n	n[        S5       Vs/ s H  o" UR                  S5      5      PM     n
nUS-  nUS-  nX   nU	R                  U5        UR                  U5      n[        U   nSnU(       a  Sn/ n[        U5       HN  nUU   S S u  nnU	UUS-    u  nnUR                  [        R                  " SUU4UUU SUU" U5      5      5        MP     U$ s  snf s  snf )	Nr   zWrong number of bitmapsr   r   z1;R1r   raw)
re   PCF_BITMAPSr6   lenOSErrorr<   rv   r(   r   	frombytes)rE   rK   r=   r`   rc   rd   nbitmapsrG   rm   offsetsbitmap_sizesbitorderpadindex
bitmapsizero   padmoderL   rI   rP   rQ   bes                          r   rA   PcfFontFile._load_bitmaps   sR     ${;Crwwqz?s7|#+C#,,1(O<Oq3rwwqz?O<16q:ABGGAJ: A:A:!+
z"wwz"H%DxA"1:bq>LE51q1u%DAqNNeU^T!AYtSQVZX ! 5 =:s    E Ec                   U R                  [        5      u  pp4U" UR                  S5      5      U" UR                  S5      5      peU" UR                  S5      5      U" UR                  S5      5      pU" UR                  S5      5        Xe-
  S-   X-
  S-   -  n	S /[        SU	5      -  n
[	        U	5       Vs/ s H  o" UR                  S5      5      PM     nn[	        U[        U
5      5       HA  n U[        [        U/5      R                  U R                  5      5         nUS:w  a  XU'   MA  MC     U
$ s  snf ! [         a     MY  f = f)Nr   r   r   i  )re   PCF_BDF_ENCODINGSr6   minr<   r|   ord	bytearraydecoder4   UnicodeDecodeError)rE   r=   r`   rc   rd   	first_collast_col	first_rowlast_row	nencodingrM   rm   encoding_offsetsrI   encoding_offsets                  r   rB   PcfFontFile._load_encoding   s4   #/@AC!"''!*os2771:8!"''!*os2771:8BGGAJ)A-(2F2JK	 '+Vc#y.A%A5:95EF5EC
O5EFy#h-0A"2	1#--d.C.CDE# #f,"1QK - 1  G & s   6 D41;D99
EE)r4   r=   r?   r;   )z	iso8859-1)r=   r   r4   str)r_   intreturnzDtuple[BinaryIO, int, Callable[[bytes], int], Callable[[bytes], int]])r   zdict[bytes, bytes | int])r   3list[tuple[int, int, int, int, int, int, int, int]])rK   r   r   zlist[Image.Image])r   zlist[int | None])__name__
__module____qualname____firstlineno____doc__r2   r:   re   r>   r@   rA   rB   __static_attributes____classcell__)rX   s   @r   r0   r0   9   sV    2D, ,\$$	M$"0#J(J(	(T r   r0   )r,   bytesr-   r   r   r   )!
__future__r   ri   typingr   r    r   r   _binaryr	   r
   r\   r   r^   r   r]   r   r5   r7   rh   PCF_ACCELERATORSru   r{   PCF_INK_METRICSr   PCF_SWIDTHSPCF_GLYPH_NAMESPCF_BDF_ACCELERATORSr(   __annotations__r.   r0   r   r   r   <module>r      s   $ # 	 %   ! ! ! !
 	    #(((	-) $E(## Er   