
    .~h                     f    d Z ddlmZmZ ddddddd	Zd
dddZd Z G d dej                        Zy)z*
Parse X Bitmap Distribution Format (BDF)
   )FontFileImageRomanItalicObliquezReverse ItaliczReverse ObliqueOther)RIORIROOTProportional
MonospacedCell)PMCc                    	 | j                         }|sy |d d dk(  rn|dd  j                         j                  d      }i }	 | j                         }|r|d d dk(  rn>|j                  d      }||dz   d j                  d      ||d | j                  d      <   Yg }	 | j                         }|r|d d	 d
k(  rn|j	                  |d d        0dj                  |      }d |d   j                         D        \  }}}}	d |d   j                         D        \  }
}|
|f||	 |z
  ||z   |	 fdd||ff}	 t        j                  d||f|dd      }|t        |d         ||fS # t        $ r t        j                  d||f      }Y 5w xY w)N	   s	   STARTCHARascii   s   BITMAP    r      s   ENDCHAR    c              3   2   K   | ]  }t        |        y wNint.0ps     X/var/www/peopleoo.sandbox-dev.co.uk/venv/lib/python3.12/site-packages/PIL/BdfFontFile.py	<genexpr>zbdf_char.<locals>.<genexpr>G   s     $JSV$J   BBXc              3   2   K   | ]  }t        |        y wr   r   r!   s     r$   r%   zbdf_char.<locals>.<genexpr>K   s     81A8r&   DWIDTH    1hexENCODING)readlinestripdecodefindappendjoinsplitr   	frombytes
ValueErrornewr    )fsidpropsibitmapwidthheightx_dispy_dispdwxdwybboxims                 r$   bdf_charrF   '   s   
JJLRa5L   
12		g	&B E
JJLAbqEY&FF4L'(Q}';';G'Daell7#$  F
JJLAbqEZ'af	 
 XXfF %KU5\5G5G5I$J!E666 9h 5 5 78HC 
c
	&6!56>F7;	
AufD-__S5&/65#F
 s5$%tR//	  -YYsUFO,-s   5E" "!FFc                   "     e Zd ZdZ fdZ xZS )BdfFontFilez(Font file plugin for the X11 BDF format.c                 F   t         |           |j                         }|d d dk7  rd}t        |      i }g }	 |j                         }|r|d d dk(  rn|j	                  d      }||dz   d j                  d      ||d | j                  d      <   |d | d	v r:|j	                  d
      dk  r&|j                  ||dz   d j                  d             	 t        |      }|sy |\  }}	\  }
}}}d|	cxk  rt        | j                        k  rn n|
|||f| j                  |	<   N)N   s   STARTFONT 2.1znot a valid BDF files   ENDPROPERTIESr   r   r   r   )s   COMMENTs	   COPYRIGHTs   LogicalFontDescriptionr*   )
super__init__r.   SyntaxErrorr1   r0   r2   rF   lenglyph)selffpr9   msgr;   commentsr<   cr:   chxydstsrcrE   	__class__s                 r$   rL   zBdfFontFile.__init___   s>   KKMSb6%%(Cc""A#2"22tA+,QUR=+?+?+HE!BQ%,,w'(!u226634q8OOAa!ebM$8$8$AB  A)*&BNRcBB(TZZ(!#S#r!1

2 r   )__name__
__module____qualname____doc__rL   __classcell__)rY   s   @r$   rH   rH   \   s    22 2r   rH   N)r]    r   r   	bdf_slantbdf_spacingrF   rH    r   r$   <module>rc      sP   (
  
		


	 #FC20j2(## 2r   