ó
    ©RjJ  ã                  ó
  • % S SK Jr  S SK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\(       a  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é   )ÚFontFileÚImage)Úi8)Úi16be)Úi16le)Úi32be)Úi32leF)ÚCallable)ÚBinaryIOifcpé   é   é   é   é    é@   é€   é   c                ó   • U S-   S-	  $ )Né   é   © ©Úbitss    Ú;D:\diplom_project\venv\Lib\site-packages\PIL/PcfFontFile.pyÚ<lambda>r   2   s   € �4˜!‘8 ’/ó    c                ó   • U S-   S-	  S-  $ )Né   r   éþÿÿÿr   r   s    r   r   r   3   ó   € �4˜"‘9 Ñ" bÒ(r   c                ó   • U S-   S-	  S-  $ )Né   r   éüÿÿÿr   r   s    r   r   r   4   r"   r   c                ó   • U S-   S-	  S-  $ )Né?   r   iøÿÿÿr   r   s    r   r   r   5   r"   r   zlist[Callable[[int], int]]ÚBYTES_PER_ROWc                ó*   • XU R                  SU5       $ )Nó    )Úindex)ÚsÚos     r   Úszr.   9   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$ )ÚPcfFontFileé=   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  p¼Uc  M
  XŒ   u  nnnnnnnnUS4UUU-
  Xß-   U4SSXÞ4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__B   sd  ø€ Ø 0Ôä�B—G‘G˜A“J“ˆØ”IÓØ"ˆCÜ˜cÓ"Ð"ä‰ÑÔä�B—G‘G˜A“J“ˆØˆŒÜ�u–ˆAÜ�r—w‘w˜q“z“?ˆDÜ  §¡¨£›_¬c°"·'±'¸!³*«o¼sÀ2Ç7Á7È1Ã:»ÐNˆD�H‰H�T‹Nñ ð Œà×)Ñ)Ó+ˆŒ	à×$Ñ$Ó&ˆØ×$Ñ$ WÓ-ˆØ×&Ñ&Ó(ˆô
   Ö)‰FˆBØ‹~ð ‘Kñ	ØØØØØØØØð ˜A�JØ˜7 U™?¨E©L¸'Ð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._getformatp   s[   € ð  $Ÿx™x¨™}Ñˆ�fà�W‰WˆØ
�‰�Œä�R—W‘W˜Q“Z“ˆà�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  p«nU(       a  [        Xœ5      OUnXÑ[        Xš5      '   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á�R—W‘W˜Q“Z“ˆô JOÈvÌÓWÊÀAˆc�"—'‘'˜!“*‹oœr "§'¡'¨!£*›~©s°2·7±7¸1³:«Ó?ÉˆÐWà�A�:Ø�G‰G�A˜ !™Ñ$¤b§k¡kÔ2à�w‰w‘s˜2Ÿ7™7 1›:“Ó'ˆã‰GˆA�!Þ9:¬"¨T¬+ÀˆNØ&4”r˜$“{Ó#ñ ð Ðùò 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" XÞX‰X«U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" XÞX‰X«XÏ4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à—‘ˆà�V‰O Ó%ä™3˜rŸw™w q›z›?Ö+�Ü˜"Ÿ'™' !›*“~¨Ñ+�Ü˜2Ÿ7™7 1›:›¨Ñ,�Ü˜2Ÿ7™7 1›:›¨Ñ,�Ü˜BŸG™G A›J›¨#Ñ-�Ü˜RŸW™W Q›Z›.¨3Ñ.�Ø™�ØÑ(�Ù˜ d°5À'È1ÐMÖNñ ,ð. ˆô ™3˜rŸw™w q›z›?Ö+�Ù˜2Ÿ7™7 1›:“�Ù˜BŸG™G A›J›�Ù˜BŸG™G A›J›�Ù˜RŸW™W Q›Z›�Ù˜bŸg™g a›j›/�Ù  §¡¨£›_�
Ø™�ØÑ(�Ù˜ d°5À'Ð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á�r—w‘w˜q“z“?ˆà”s˜7“|Ó#Ø+ˆCÜ˜#“,Ðä,1°(¬OÓ<ªO q�3�r—w‘w˜q“z–?©OˆÐ<ä16°q´Ó:²¨A˜˜BŸG™G A›Jž±ˆÐ:ð ˜A‘:ˆØ˜A‘:ˆà!Ñ+ˆ
Ø�‰�zÔ"à�w‰w�zÓ"ˆä˜HÑ%ˆØˆÞØˆDàˆÜ�x–ˆAØ" 1™: b q˜>‰LˆE�5Ø˜1˜q 1™uÐ%‰DˆAˆqØ�N‰NÜ—’  e¨U ^°T¸!¸A°YÀÀtÉSÐQVËZÓ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      p‡U" 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  XêU'   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á! "§'¡'¨!£*›o©s°2·7±7¸1³:«�8Ù! "§'¡'¨!£*›o©s°2·7±7¸1³:«�8áˆB�G‰G�A‹JŒàÑ)¨AÑ-°(Ñ2FÈÑ2JÑKˆ	ð '+ V¬c°#°yÓ.AÑ%Aˆä5:¸9Ô5EÓFÒ5E°˜C §¡¨£
žOÑ5EÐÐFä�y¤# h£-Ö0ˆAðØ"2Üœ	 1 #›×-Ñ-¨d×.CÑ.CÓDÓEñ#�ð # fÓ,Ø"1˜Q“Kñ -ñ 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   =   sV   ø† Ù2à€D÷,ñ ,ð\$Øð$à	Mô$ô"ô0#ðJ(ØJð(à	ô(÷Tò r   r0   )r,   Úbytesr-   rš   r›   r¤   )#Ú
__future__r   ri   Ú r   r   Ú_binaryr   r   r\   r	   r^   r
   r]   r   r5   ÚTYPE_CHECKINGÚcollections.abcr   Útypingr   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   