§
    aÒ³g•  ã                  ó~   — d Z ddlmZ ddlmZ ddlmZmZ dddd	d
ddœZddddœZ	dd„Z
 G d„ dej        ¦  «        ZdS )z*
Parse X Bitmap Distribution Format (BDF)
é    )Úannotations)ÚBinaryIOé   )ÚFontFileÚImageÚRomanÚItalicÚObliquezReverse ItaliczReverse ObliqueÚOther)ÚRÚIÚOÚRIÚROÚOTÚProportionalÚ
MonospacedÚCell)ÚPÚMÚCÚfr   Úreturnúqtuple[str, int, tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], Image.Image] | Nonec                ó´  — 	 |                       ¦   «         }|sd S |d d…         dk    rnŒ(|dd …                              ¦   «                              d¦  «        }i }	 |                       ¦   «         }|r|d d…         dk    rnT|                     d¦  «        }||dz   d	…                              d¦  «        ||d |…                              d¦  «        <   Œyt	          ¦   «         }	 |                       ¦   «         }|r|d d
…         dk    rn||d d	…         z  }Œ3d„ |d                              ¦   «         D ¦   «         \  }}}}	d„ |d                              ¦   «         D ¦   «         \  }
}|
|f||	 |z
  ||z   |	 fdd||ff}	 t          j        d||f|dd¦  «        }n'# t          $ r t          j	        d||f¦  «        }Y nw xY w|t          |d         ¦  «        ||fS )NTé	   s	   STARTCHARÚasciié   s   BITMAPó    r   éÿÿÿÿé   s   ENDCHARc              3  ó4   K  — | ]}t          |¦  «        V — Œd S ©N©Úint©Ú.0Úps     úM/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/PIL/BdfFontFile.pyú	<genexpr>zbdf_char.<locals>.<genexpr>R   s(   è è € Ð$JÐ$J°¥S¨¡V¤VÐ$JÐ$JÐ$JÐ$JÐ$JÐ$Jó    ÚBBXc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r#   r$   r&   s     r)   r*   zbdf_char.<locals>.<genexpr>V   s(   è è € Ð8Ð8˜1•�A‘”Ð8Ð8Ð8Ð8Ð8Ð8r+   ÚDWIDTHr   Ú1ÚhexÚENCODING)ÚreadlineÚstripÚdecodeÚfindÚ	bytearrayÚsplitr   Ú	frombytesÚ
ValueErrorÚnewr%   )r   ÚsÚidÚpropsÚiÚbitmapÚwidthÚheightÚx_dispÚy_dispÚdwxÚdwyÚbboxÚims                 r)   Úbdf_charrH   )   s7  € ðØ�JŠJ‰LŒLˆØð 	Ø�4ØˆRˆaˆRŒ5�LÒ Ð Øðð 
ˆ1ˆ2ˆ2Œ�Š‰Œ×	Ò	˜gÑ	&Ô	&€Bð €EðEØ�JŠJ‰LŒLˆØð 	�A�b�q�b”E˜YÒ&Ð&ØØ�FŠF�4‰LŒLˆØ'(¨¨Q©°¨¤}×';Ò';¸GÑ'DÔ'Dˆˆa���Œe�lŠl˜7Ñ#Ô#Ñ$ðEõ ‰[Œ[€FðØ�JŠJ‰LŒLˆØð 	�A�b�q�b”E˜ZÒ'Ð'ØØ�!�C�R�C”&Ñˆð	ð %KÐ$J°U¸5´\×5GÒ5GÑ5IÔ5IÐ$JÑ$JÔ$JÑ!€Eˆ6�6˜6ð 9Ð8  h¤× 5Ò 5Ñ 7Ô 7Ð8Ñ8Ô8�H€Cˆð 
ˆcˆ
Ø	�&�˜6Ñ! 5¨6¡>°F°7Ð;Ø	
ˆAˆu�fÐð€Dð-ÝŒ_˜S 5¨& /°6¸5À#ÑFÔFˆˆøÝð -ð -ð -åŒY�s˜U F˜OÑ,Ô,ˆˆˆð-øøøð �s�5˜Ô$Ñ%Ô% t¨RÐ/Ð/s   Å?F Æ!F>Æ=F>c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚBdfFontFilez(Font file plugin for the X11 BDF format.Úfpr   r   ÚNonec                óö  •— t          ¦   «                              ¦   «          |                     ¦   «         }|d d…         dk    rd}t          |¦  «        ‚i }g }	 |                     ¦   «         }|r|d d…         dk    rn¬|                     d¦  «        }||dz   d…                              d	¦  «        ||d |…                              d	¦  «        <   |d |…         d
v rL|                     d¦  «        dk     r3|                     ||dz   d…                              d	¦  «        ¦  «         ŒÑ	 t          |¦  «        }|sd S |\  }}	\  }
}}}d|	cxk    rt          | j	        ¦  «        k     rn n|
|||f| j	        |	<   ŒO)Né   s   STARTFONT 2.1znot a valid BDF fileTs   ENDPROPERTIESr   r   r    r   )s   COMMENTs	   COPYRIGHTs   LogicalFontDescriptionr   )
ÚsuperÚ__init__r2   ÚSyntaxErrorr5   r4   ÚappendrH   ÚlenÚglyph)ÚselfrK   r;   Úmsgr=   Úcommentsr>   Úcr<   ÚchÚxyÚdstÚsrcrG   Ú	__class__s                 €r)   rP   zBdfFontFile.__init__j   s¡  ø€ Ý‰Œ×ÒÑÔÐà�KŠK‰MŒMˆØˆSˆbˆSŒ6Ð%Ò%Ð%Ø(ˆCÝ˜cÑ"Ô"Ð"àˆØˆð	CØ—’‘”ˆAØð ˜˜#˜2˜#œÐ"2Ò2Ð2ØØ—’�t‘”ˆAØ+,¨Q°©U°R¨Z¬=×+?Ò+?ÀÑ+HÔ+HˆE�!�B�Q�B”%—,’,˜wÑ'Ô'Ñ(Ø��!�ŒuÐ2Ð2Ð2Ø—6’6Ð3Ñ4Ô4°qÒ8Ð8Ø—O’O A a¨!¡e¨b j¤M×$8Ò$8¸Ñ$AÔ$AÑBÔBÐBð	Cð	2Ý˜‘”ˆAØð Ø�Ø)*Ñ&ˆB�‘N�R˜˜c BØ�BÐ(Ð(Ò(Ð(�˜TœZ™œÒ(Ð(Ð(Ð(Ð(Ø!# S¨#¨rÐ!1�”
˜2‘ð	2r+   )rK   r   r   rL   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rP   Ú__classcell__)r]   s   @r)   rJ   rJ   g   sC   ø€ € € € € Ø2Ð2ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r+   rJ   N)r   r   r   r   )ra   Ú
__future__r   Útypingr   Ú r   r   Ú	bdf_slantÚbdf_spacingrH   rJ   © r+   r)   ú<module>ri      sÊ   ðð(ð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð ð 
Ø	Ø	Ø
Ø
Ø
ðð €	ð #¨¸FÐCÐC€ð;0ð ;0ð ;0ð ;0ð|2ð 2ð 2ð 2ð 2�(Ô#ñ 2ô 2ð 2ð 2ð 2r+   