Ë
    ^ãj¼  ã                  ór   — d Z ddlmZ ddlmZmZ dZerddlmZ 	 	 	 	 dd„Z	 G d„ d	ej                  «      Z
y
)z*
Parse X Bitmap Distribution Format (BDF)
é    )Úannotationsé   )ÚFontFileÚImageF)ÚBinaryIOc                óü  — 	 | j                  «       }|sy |j                  d«      rnŒ&|dd  j                  «       j                  d«      }i }	 | j                  «       }|r|j                  d«      rn>|j	                  d«      }||dz   d j                  d«      ||d | j                  d«      <   Œbt        «       }	 | j                  «       }|r|j                  d«      rn	||d d z  }Œ-d	„ |d
   j                  «       D «       \  }}}}	t        j                  ||f«       d„ |d   j                  «       D «       \  }
}|
|f||	 |z
  ||z   |	 fdd||ff}t        j                  d||f|dd«      }|t        |d   «      ||fS )Ns	   STARTCHARé	   Úasciis   BITMAPó    r   éÿÿÿÿs   ENDCHARc              3  ó2   K  — | ]  }t        |«      –— Œ y ­w©N©Úint©Ú.0Úps     úQ/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/PIL/BdfFontFile.pyú	<genexpr>zbdf_char.<locals>.<genexpr>J   s   è ø€ Ò$J°¤S¨§VÑ$Jùó   ‚ÚBBXc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr   r   r   s     r   r   zbdf_char.<locals>.<genexpr>O   s   è ø€ Ò8˜1”�A—Ñ8ùr   ÚDWIDTHr   Ú1ÚhexÚENCODING)ÚreadlineÚ
startswithÚstripÚdecodeÚfindÚ	bytearrayÚsplitr   Ú_decompression_bomb_checkÚ	frombytesr   )ÚfÚsÚidÚpropsÚiÚbitmapÚwidthÚheightÚx_dispÚy_dispÚdwxÚdwyÚbboxÚims                 r   Úbdf_charr4   !   s©  € ð Ø�J‰J‹LˆÙØØ�<‰<˜Ô%Øð ð 
ˆ1ˆ2ˆ�‰‹×	Ñ	˜gÓ	&€Bð €EØ
Ø�J‰J‹LˆÙ�A—L‘L Ô+ØØ�F‰F�4‹LˆØ'(¨¨Q©° }×';Ñ';¸GÓ'Dˆˆa��ˆe�l‰l˜7Ó#Ñ$ð ô ‹[€FØ
Ø�J‰J‹LˆÙ�A—L‘L Ô,ØØ�!�C�R�&Ñˆð	 ñ %K°U¸5±\×5GÑ5GÓ5IÔ$JÑ!€Eˆ6�6˜6Ü	×#Ñ# U¨F OÔ4ñ 9  h¡× 5Ñ 5Ó 7Ô8�H€Cˆð 
ˆcˆ
Ø	�&�˜6Ñ! 5¨6¡>°F°7Ð;Ø	
ˆAˆu�fÐð€Dô 
�‰˜˜u f˜o¨v°u¸cÓ	B€BàŒs�5˜Ñ$Ó% t¨RÐ/Ð/ó    c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚBdfFontFilez(Font file plugin for the X11 BDF format.c                ój  •— t         ‰| �  «        |j                  «       }|j                  d«      sd}t	        |«      ‚i }g }	 |j                  «       }|r|j                  d«      rn|j                  d«      }||dz   d j                  d«      ||d | j                  d«      <   |d | dv r:|j                  d	«      d
k  r&|j                  ||dz   d j                  d«      «       Œ£	 t        |«      }|sy |\  }}	\  }
}}}d
|	cxk  rt        | j                  «      k  rn n|
|||f| j                  |	<   ŒN)Ns   STARTFONT 2.1znot a valid BDF files   ENDPROPERTIESr   r   r   r
   )s   COMMENTs	   COPYRIGHTs   LogicalFontDescriptionr   )ÚsuperÚ__init__r   r   ÚSyntaxErrorr!   r    Úappendr4   ÚlenÚglyph)ÚselfÚfpr'   Úmsgr)   Úcommentsr*   Úcr(   ÚchÚxyÚdstÚsrcr3   Ú	__class__s                 €r   r:   zBdfFontFile.__init___   s:  ø€ Ü‰ÑÔà�K‰K‹MˆØ�|‰|Ð,Ô-Ø(ˆCÜ˜cÓ"Ð"àˆØˆàØ—‘“ˆAÙ˜Ÿ™Ð%5Ô6ØØ—‘�t“ˆAØ+,¨Q°©U°R¨=×+?Ñ+?ÀÓ+HˆE�!�B�Q�%—,‘,˜wÓ'Ñ(Ø��!ˆuÐ2Ñ2Ø—6‘6Ð3Ó4°qÒ8Ø—O‘O A a¨!¡e¨b M×$8Ñ$8¸Ó$AÔBð ð Ü˜“ˆAÙØØ)*Ñ&ˆB�‘N�R˜˜c BØ�BÔ(œ˜TŸZ™Z›Õ(Ø!# S¨#¨rÐ!1�—
‘
˜2‘ð r5   )r@   r   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r:   Ú__classcell__)rH   s   @r   r7   r7   \   s   ø„ Ù2÷2ñ 2r5   r7   N)r&   r   rI   zqtuple[str, int, tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], Image.Image] | None)rN   Ú
__future__r   Ú r   r   ÚTYPE_CHECKINGÚtypingr   r4   r7   © r5   r   ú<module>rU      sG   ðñ(õ #ç à€ÙÝð80Øð80ðó80ôv2�(×#Ñ#õ 2r5   