
    &Th                     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                 f   	 | 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   j                         D cg c]  }t        |       c}\  }}}	}
|d   j                         D cg c]  }t        |       c}\  }}||f|	|
 |z
  ||	z   |
 fdd||ff}	 t        j                  d||f|dd      }|t        |d         ||fS c c}w c c}w # t        $ r t        j                  d||f      }Y ?w xY w)N	   s	   STARTCHARascii   s   BITMAP    r      s   ENDCHAR    BBXDWIDTH    1hexENCODING)readlinestripdecodefindappendjoinsplitintr   	frombytes
ValueErrornew)fsidpropsibitmappwidthheightx_dispy_dispdwxdwybboxims                  W/home/stella.sw7ft.com/public_html/venv/lib/python3.12/site-packages/PIL/BdfFontFile.pybdf_charr>   '   s   
JJLRa5L   
12		g	&B E
JJLAbqEY&FF4L'(Q}';';G'Daell7#$  F
JJLAbqEZ'af	 
 XXfF 6;5\5G5G5I$JSV$J!E666 !&h 5 5 781A8HC 
c
	&6!56>F7;	
AufD-__S5&/65#F
 s5$%tR//% %K 9  -YYsUFO,-s   6F%FF !F0/F0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#   SyntaxErrorr&   r%   r'   r>   lenglyph)selffpr/   msgr1   commentsr2   cr0   chxydstsrcr<   	__class__s                 r=   rD   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__rD   __classcell__)rQ   s   @r=   r@   r@   \   s    22 2r   r@   N)rU    r   r   	bdf_slantbdf_spacingr>   r@    r   r=   <module>r[      sP   (
  
		


	 #FC20j2(## 2r   