Ë
    ^ãja  ã                  ó  — U d dl mZ ddhZd dlZddlmZmZ ddlmZ ddlm	Z
 dd	lmZ dd
lmZ ddlmZ dZerd dlmZ d dlmZ dZdZdZdZdZdZdZdZdZdZd„ d„ d„ d„ gZ de!d<   d!d„Z" G d„ d ej
                  «      Z#y)"é    )ÚannotationszPIL._binaryÚioNé   )ÚFontFileÚImage)Úi8)Úi16be)Úi16le)Úi32be)Úi32leF)ÚCallable)ÚBinaryIOifcpé   é   é   é   é    é@   é€   é   c                ó   — | dz   dz	  S )Né   é   © ©Úbitss    úQ/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/PIL/PcfFontFile.pyú<lambda>r   4   s   € �4˜!‘8 ‘/€ ó    c                ó   — | dz   dz	  dz  S )Né   r   éþÿÿÿr   r   s    r   r   r   5   ó   € �4˜"‘9 Ñ" bÑ(€ r   c                ó   — | dz   dz	  dz  S )Né   r   éüÿÿÿr   r   s    r   r   r   6   r#   r   c                ó   — | dz   dz	  dz  S )Né?   r   iøÿÿÿr   r   s    r   r   r   7   r#   r   zlist[Callable[[int], int]]ÚBYTES_PER_ROWc                ó,   — | || j                  d|«       S )Nó    )Úindex)ÚsÚos     r   Úszr/   ;   s   € ØˆQ�—‘˜ Ó"Ð#Ð#r   c                  ób   ‡ — e Zd ZdZdZd	d
ˆ fd„Z	 	 	 	 dd„Zdd„Zdd„Z	 	 	 	 dd„Z	dd„Z
ˆ xZS )ÚPcfFontFilez(Font file plugin for the X11 PCF format.Únamec           	     ó  •— || _         t        |j                  d«      «      }|t        k7  rd}t	        |«      ‚t
        ‰| �  «        t        |j                  d«      «      }i | _        t        |«      D ]v  }t        |j                  d«      «      }t        |j                  d«      «      t        |j                  d«      «      t        |j                  d«      «      f| j                  |<   Œx || _	        | j                  «       | _        | j                  «       }| j                  |«      }	| j                  «       }
t        |
«      D ]<  \  }}|€Œ	||   \  }}}}}}}}|df|||z
  ||z   |fdd||f|	|   f| j                   |<   Œ> y )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:   zPcfFontFile.__init__D   s~  ø€ Ø 0ˆÔä�B—G‘G˜A“J“ˆØ”IÒØ"ˆCÜ˜cÓ"Ð"ä‰ÑÔä�B—G‘G˜A“J“ˆØˆŒÜ�u“ò 	OˆAÜ�r—w‘w˜q“z“?ˆDÜ  §¡¨£›_¬c°"·'±'¸!³*«o¼sÀ2Ç7Á7È1Ã:»ÐNˆD�H‰H�TŠNð	Oð ˆŒà×)Ñ)Ó+ˆŒ	à×$Ñ$Ó&ˆØ×$Ñ$ WÓ-ˆØ×&Ñ&Ó(ˆô
   Ó)ò 	‰FˆB�Ø‰~ð ˜B‘Kñ	ØØØØØØØØð ˜A�JØ˜7 U™?¨E°D©L¸'ÐBØ˜˜5 %Ð(Ø˜B‘Kð	"�—
‘
˜2’ñ	r   c                óÞ   — | j                   |   \  }}}| j                  }|j                  |«       t        |j	                  d«      «      }|dz  rt
        t        }}nt        t        }}||||fS )Nr   )r;   r=   Úseekr5   r6   Úb16Úb32Úl16)rE   ÚtagÚformatÚsizeÚoffsetr=   Úi16Úi32s           r   Ú
_getformatzPcfFontFile._getformatr   se   € ð  $Ÿx™x¨™}Ñˆ��fà�W‰WˆØ
�‰�Œä�R—W‘W˜Q“Z“ˆà�AŠ:ÜœC�‰CäœC�ˆCà�6˜3 Ð#Ð#r   c           
     ó&  — i }| j                  t        «      \  }}}} ||j                  d«      «      }t        |«      D �cg c]I  } ||j                  d«      «      t	        |j                  d«      «       ||j                  d«      «      f‘ŒK }}|dz  r&|j                  d|dz  z
  t        j                  «       |j                   ||j                  d«      «      «      }	|D ]%  \  }
}}|rt        |	|«      n|}||t        |	|
«      <   Œ' |S c c}w )Nr   r   r   )	rd   ÚPCF_PROPERTIESr6   r<   r   rZ   r   ÚSEEK_CURr/   )rE   Ú
propertiesr=   r_   rb   rc   ÚnpropsÚ_ÚpÚdataÚkr-   ÚvÚproperty_values                 r   r>   zPcfFontFile._load_propertiesƒ   sõ   € ð ˆ
à#Ÿ™¬~Ó>ÑˆˆF�C˜á�R—W‘W˜Q“Z“ˆô JOÈvËÖWÀA‰c�"—'‘'˜!“*‹oœr "§'¡'¨!£*›~©s°2·7±7¸1³:«Ò?ÐWˆÐWà�AŠ:Ø�G‰G�A˜ !™Ñ$¤b§k¡kÔ2à�w‰w‘s˜2Ÿ7™7 1›:“Ó'ˆàò 	5‰GˆAˆq�!Ù9:¬"¨T°1¬+ÀˆNØ&4ˆJ”r˜$ “{Ò#ð	5ð Ðùò Xs   ÁADc                ót  ‡‡‡— g Š| j                  t        «      \  Š}Š}	 d
	 	 	 	 	 	 	 	 	 	 	 	 	 dˆfd„}|dz  dk(  r>t         ‰‰j                  d«      «      «      D ]  } |ˆfd„t        d«      D «       Ž  Œ ‰S t         |‰j                  d«      «      «      D ]  } |ˆˆfd„t        d	«      D «       Ž  Œ ‰S )Nc           
     óz   •— || z
  }||z   }t        j                  ||f«       ‰j                  ||| |||||f«       y )N)r   Ú_decompression_bomb_checkÚappend)	rR   rS   rT   rU   rV   rW   rP   rQ   rK   s	           €r   rs   z)PcfFontFile._load_metrics.<locals>.append£   sJ   ø€ ð ˜D‘LˆEØ˜WÑ$ˆEÜ×+Ñ+¨U°E¨NÔ;Ø�N‰NØ˜˜t U¨E°6¸7ÀJÐOõr   i ÿ  r   r   c              3  óX   •K  — | ]!  }t        ‰j                  d «      «      dz
  –— Œ# y­w)r   r   N)r   r6   )Ú.0rj   r=   s     €r   ú	<genexpr>z,PcfFontFile._load_metrics.<locals>.<genexpr>µ   s"   øè ø€ Ò@°!œ˜BŸG™G A›J›¨#Õ-Ñ@ùs   ƒ'*é   r   c              3  óL   •K  — | ]  } ‰‰j                  d «      «      –— Œ y­w)r   N)r6   )ru   rj   r=   rb   s     €€r   rv   z,PcfFontFile._load_metrics.<locals>.<genexpr>º   s   øè ø€ Ò;¨Q™˜RŸW™W Q›ZŸÑ;ùs   ƒ!$é   )r   )rR   ÚintrS   rz   rT   rz   rU   rz   rV   rz   rW   rz   ÚreturnÚNone)rd   ÚPCF_METRICSr<   r6   )rE   r_   rc   rs   rI   r=   rb   rK   s        @@@r   r@   zPcfFontFile._load_metrics›   só   ú€ ð HJˆà#Ÿ™¬{Ó;ÑˆˆF�C˜ð  ð	Øð	àð	ð ð	ð ð		ð
 ð	ð ð	ð õ	ð �V‰O Ò%ä™3˜rŸw™w q›z›?Ó+ò B�ÙÓ@´u¸Q³xÔ@ÒAðBð ˆô ™3˜rŸw™w q›z›?Ó+ò =�ÙÔ;´%¸³(Ô;Ò<ð=ð ˆr   c                óž  — | j                  t        «      \  }}}} ||j                  d«      «      }|t        |«      k7  rd}t	        |«      ‚t        |«      D �cg c]  } ||j                  d«      «      ‘Œ }	}t        d«      D �cg c]  } ||j                  d«      «      ‘Œ }
}|dz  }|dz  }|
|   }|	j                  |«       |j                  |«      }t        |   }d}|rd}g }t        |«      D ]L  }||   d d \  }}|	||dz    \  }}|j                  t        j                  d||f||| d| ||«      «      «       ŒN |S c c}w c c}w )	Nr   zWrong number of bitmapsr   r   z1;RÚ1r   Úraw)
rd   ÚPCF_BITMAPSr6   ÚlenÚOSErrorr<   rs   r)   r   Ú	frombytes)rE   rK   r=   r_   rb   rc   ÚnbitmapsrG   rj   ÚoffsetsÚbitmap_sizesÚbitorderÚpadindexÚ
bitmapsizerl   ÚpadÚmoderL   rI   rP   rQ   ÚbÚes                          r   rA   zPcfFontFile._load_bitmaps¾   s[  € ð  $Ÿ™¬{Ó;ÑˆˆF�C˜á�r—w‘w˜q“z“?ˆà”s˜7“|Ò#Ø+ˆCÜ˜#“,Ðä,1°(«OÖ< q‘3�r—w‘w˜q“z•?Ð<ˆÐ<ä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                ó�  — | j                  t        «      \  }}}} ||j                  d«      «       ||j                  d«      «      }} ||j                  d«      «       ||j                  d«      «      }} ||j                  d«      «       ||z
  dz   ||z
  dz   z  }	d gt        d|	«      z  }
t	        |	«      D �cg c]  } ||j                  d«      «      ‘Œ }}t	        |t        |
«      «      D ]>  }	 |t        t        |g«      j                  | j                  «      «         }|dk7  r||
|<   Œ@ |
S c c}w # t        $ r Y ŒSw xY w)Nr   r   r   iÿÿ  )rd   ÚPCF_BDF_ENCODINGSr6   Úminr<   r‚   ÚordÚ	bytearrayÚdecoder4   ÚUnicodeDecodeError)rE   r=   r_   rb   rc   Ú	first_colÚlast_colÚ	first_rowÚlast_rowÚ	nencodingrM   rj   Úencoding_offsetsrI   Úencoding_offsets                  r   rB   zPcfFontFile._load_encodingè   s@  € Ø#Ÿ™Ô/@ÓAÑˆˆF�C˜á! "§'¡'¨!£*›o©s°2·7±7¸1³:«�8ˆ	Ù! "§'¡'¨!£*›o©s°2·7±7¸1³:«�8ˆ	áˆB�G‰G�A‹JŒà 	Ñ)¨AÑ-°(¸YÑ2FÈÑ2JÑKˆ	ð '+ V¬c°#°yÓ.AÑ%Aˆä5:¸9Ó5EÖF°™C §¡¨£
�OÐFÐÐFä�y¤# h£-Ó0ò 		ˆAðØ"2Üœ	 1 #›×-Ñ-¨d×.CÑ.CÓDÓEñ#�ð # fÒ,Ø"1�H˜Q‘Køð		ð ˆùò Gøô &ò áðús   Â<D4Ã5;D9Ä9	EÅE)z	iso8859-1)r=   r   r4   Ústr)r^   rz   r{   zDtuple[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__Ú__doc__r2   r:   rd   r>   r@   rA   rB   Ú__classcell__)rX   s   @r   r1   r1   ?   sL   ø„ Ù2à€Dö,ð\$Øð$à	Mó$ó"ó0!ðF(ØJð(à	ó(÷Tr   r1   )r-   Úbytesr.   rz   r{   r¤   )$Ú
__future__r   Ú__lazy_modules__r   Ú r   r   Ú_binaryr   r	   r[   r
   r]   r   r\   r   r5   ÚTYPE_CHECKINGÚcollections.abcr   Útypingr   r7   rf   ÚPCF_ACCELERATORSr}   r�   ÚPCF_INK_METRICSr�   ÚPCF_SWIDTHSÚPCF_GLYPH_NAMESÚPCF_BDF_ACCELERATORSr)   Ú__annotations__r/   r1   r   r   r   ú<module>r²      s¥   ðö$ #à! 4Ð(Ð ã 	ç Ý Ý !Ý !Ý !Ý !à€ÙÝ(Ýð
 €	à€ØÐ Ø€Ø€Ø€ØÐ Ø€Ø€ØÐ ñ #Ù(Ù(Ù(ð	-€Ð)ó ó$ôC�(×#Ñ#õ Cr   