a
    ¦¾de¥  ã                   @   sP   d 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„ dejƒZdS )z*
Parse X Bitmap Distribution Format (BDF)
é   )ÚFontFileÚImageZRomanZItalicZObliquezReverse ItaliczReverse ObliqueZOther)ÚRÚIÚOZRIZROZOTZProportionalZ
MonospacedZCell)ÚPÚMÚCc                 C   s†  |   ¡ }|sd S |d d… dkr q$q |dd …  ¡  d¡}i }|   ¡ }|r�|d d… dkr\q�| d¡}||d d…  d¡||d |…  d¡< q>g }|   ¡ }|rÆ|d d	… d
kr²qÆ| |d d… ¡ q”d |¡}dd„ |d  ¡ D ƒ\}}}}	dd„ |d  ¡ D ƒ\}
}|
|f||	 | || |	 fdd||ff}zt d||f|dd¡}W n$ t	�yp   t 
d||f¡}Y n0 |t|d ƒ||fS )Né	   s	   STARTCHARÚasciié   s   BITMAPó    r   éÿÿÿÿé   s   ENDCHARó    c                 s   s   | ]}t |ƒV  qd S ©N©Úint©Ú.0Úp© r   úH/var/www/sistema_ama/venv/lib/python3.9/site-packages/PIL/BdfFontFile.pyÚ	<genexpr>G   r   zbdf_char.<locals>.<genexpr>ZBBXc                 s   s   | ]}t |ƒV  qd S r   r   r   r   r   r   r   K   r   ZDWIDTHé    Ú1ÚhexÚENCODING)ÚreadlineÚstripÚdecodeÚfindÚappendÚjoinÚsplitr   Ú	frombytesÚ
ValueErrorÚnewr   )ÚfÚsÚidÚpropsÚiZbitmapÚwidthÚheightZx_dispZy_dispZdwxZdwyZbboxÚimr   r   r   Úbdf_char'   s:    
*

ýr0   c                       s    e Zd ZdZ‡ fdd„Z‡  ZS )ÚBdfFontFilez(Font file plugin for the X11 BDF format.c                    s  t ƒ  ¡  | ¡ }|d d… dkr.d}t|ƒ‚i }g }| ¡ }|rÂ|d d… dkrTqÂ| d¡}||d d…  d¡||d |…  d¡< |d |… d	v r6| d
¡dk r6| ||d d…  d¡¡ q6t|ƒ}|sÒ�q|\}}	\}
}}}d|	  k�r t| j	ƒk rÂn qÂ|
|||f| j	|	< qÂd S )Né   s   STARTFONT 2.1znot a valid BDF files   ENDPROPERTIESr   r   r   r   )s   COMMENTs	   COPYRIGHTs   LogicalFontDescriptionr   )
ÚsuperÚ__init__r   ÚSyntaxErrorr!   r    r"   r0   ÚlenZglyph)ÚselfÚfpr)   Úmsgr+   Úcommentsr,   Úcr*   ÚchZxyÚdstÚsrcr/   ©Ú	__class__r   r   r4   _   s*    

( zBdfFontFile.__init__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4   Ú__classcell__r   r   r?   r   r1   \   s   r1   N)rD   Ú r   r   Z	bdf_slantZbdf_spacingr0   r1   r   r   r   r   Ú<module>   s   ú	5