o
    6d                     @   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nq|dd   d}i }	 |   }|r/|d d dkr0n|d}||d d	 d||d | d< q!g }	 |   }|r[|d d
 dkr\n
||d d	  qMd|}dd |d  D \}}}}	dd |d  D \}
}|
|f||	 | || |	 fdd||ff}ztd||f|dd}W n t	y   t
d||f}Y nw |t|d ||fS )NT	   s	   STARTCHARascii   s   BITMAP    r      s   ENDCHAR    c                 S      g | ]}t |qS  int.0pr   r   fC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\PIL/BdfFontFile.py
<listcomp>G       zbdf_char.<locals>.<listcomp>ZBBXc                 S   r   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'   sH   
(

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d}t|i }g }	 | }|r*|d d dkr+n7|d}||d d d	||d | d	< |d | d
v ra|ddk ra|||d d d	 q	 t|}|skd S |\}}	\}
}}}d|	  krt| j	k rn n	|
|||f| j	|	< qc)N   s   STARTFONT 2.1znot a valid BDF fileTs   ENDPROPERTIESr   r   r   r   )s   COMMENTs	   COPYRIGHTs   LogicalFontDescriptionr   )
super__init__r    SyntaxErrorr#   r"   r$   r2   lenZglyph)selffpr+   msgr-   commentsr.   cr,   chZxydstsrcr1   	__class__r   r   r6   _   s2   

(
zBdfFontFile.__init__)__name__
__module____qualname____doc__r6   __classcell__r   r   rA   r   r3   \   s    r3   N)rF    r   r   Z	bdf_slantZbdf_spacingr2   r3   r   r   r   r   <module>   s   	5