a
    i=ic                     @   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 Oblique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rq||d d  qd|}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   g | ]}t |qS  int.0pr   r   `/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/PIL/BdfFontFile.py
<listcomp>C   r   zbdf_char.<locals>.<listcomp>ZBBXc                 S   s   g | ]}t |qS r   r   r   r   r   r   r   D   r   ZDWIDTH    1hexENCODING)readlinestripdecodefindappendjoinsplitr   	frombytes
ValueErrornewr   )fsidpropsiZbitmapxyldZdxZdyZbboximr   r   r   bdf_char'   s4    
*
*r2   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*tdi }g }| }|r|d d dkrPq|d}||d d d||d | d< |d | d	v r2|d
dk r2|||d d d q2t|}|sΐq|\}}\}	}
}}d|  krt| j	k rn q|	|
||f| j	|< qd 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"   r2   lenZglyph)selffpr)   r+   commentsr,   cr*   chZxydstsrcr1   	__class__r   r   r6   T   s(    

(zBdfFontFile.__init__)__name__
__module____qualname____doc__r6   __classcell__r   r   r@   r   r3   Q   s   r3   N)rE    r   r   Z	bdf_slantZbdf_spacingr2   r3   r   r   r   r   <module>   s   	*