B
    eAd                 @   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  x&|   }|sd S |d d dkrP qW |dd   d}i }xT|   }|r`|d d dkrbP |d}||d d d||d | d< qDW g }x4|   }|r|d d	 d
krP ||d d  qW d|}dd |d  D \}}}}	dd |d  D \}
}|
|f||	 | || |	 fdd||ff}ytd||f|dd}W n& t	k
r~   t
d||f}Y nX |t|d ||fS )N	   s	   STARTCHARascii   s   BITMAP    r      s   ENDCHAR    c             S   s   g | ]}t |qS  )int).0pr   r   A/var/www/html/venv/lib/python3.7/site-packages/PIL/BdfFontFile.py
<listcomp>G   s    zbdf_char.<locals>.<listcomp>ZBBXc             S   s   g | ]}t |qS r   )r   )r   r   r   r   r   r   K   s    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>    
,
r.   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 }x| }|rT|d d dkrVP |d}||d d d||d | d< |d | d	kr8|d
dk r8|||d d d q8W xVt|}|sP |\}}	\}
}}}d|	  krt| j	k rn q|
|||f| j	|	< qW 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    r.   lenZglyph)selffpr'   msgr)   commentsr*   cr(   chZxydstsrcr-   )	__class__r   r   r2   _   s.    

(  zBdfFontFile.__init__)__name__
__module____qualname____doc__r2   __classcell__r   r   )r=   r   r/   \   s   r/   N)rA    r   r   Z	bdf_slantZbdf_spacingr.   r/   r   r   r   r   <module>   s   5