
     f                    ~    d Z ddlmZ ddlm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ej                  ZdS )z*
Parse X Bitmap Distribution Format (BDF)
    )annotations)BinaryIO   )FontFileImageRomanItalicObliquezReverse ItaliczReverse ObliqueOther)RIORIROOTProportional
MonospacedCell)PMCfr   returnqtuple[str, int, tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], Image.Image] | Nonec                   	 |                                  }|sd S |d d         dk    rn(|dd                                                              d          }i }	 |                                  }|r|d d         dk    rnT|                    d          }||dz   d	                             d          ||d |                             d          <   yt	                      }	 |                                  }|r|d d
         dk    rn||d d	         z  }3d |d                                         D             \  }}}}	d |d                                         D             \  }
}|
|f||	 |z
  ||z   |	 fdd||ff}	 t          j        d||f|dd          }n'# t          $ r t          j	        d||f          }Y nw xY w|t          |d                   ||fS )NT	   s	   STARTCHARascii   s   BITMAP    r      s   ENDCHARc              3  4   K   | ]}t          |          V  d S Nint.0ps     R/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/PIL/BdfFontFile.py	<genexpr>zbdf_char.<locals>.<genexpr>R   s(      $J$JSVV$J$J$J$J$J$J    BBXc              3  4   K   | ]}t          |          V  d S r#   r$   r&   s     r)   r*   zbdf_char.<locals>.<genexpr>V   s(      881A888888r+   DWIDTHr   1hexENCODING)readlinestripdecodefind	bytearraysplitr   	frombytes
ValueErrornewr%   )r   sidpropsibitmapwidthheightx_dispy_dispdwxdwybboxims                 r)   bdf_charrH   )   s7   JJLL 	4RaR5L   
122		g	&	&B EEJJLL 	AbqbEY&&FF4LL'(Q}';';G'D'Daell7##$E [[FJJLL 	AbqbEZ''!CRC&	 %K$JU5\5G5G5I5I$J$J$J!E666 98h 5 5 7 7888HC 
c
	&6!56>F7;	
AufD-_S5&/65#FF - - -YsUFO,,- s5$%%tR//s   ?F !F>=F>c                  $     e Zd ZdZd fdZ xZS )BdfFontFilez(Font file plugin for the X11 BDF format.fpr   r   Nonec                   t                                                       |                                }|d d         dk    rd}t          |          i }g }	 |                                }|r|d d         dk    rn|                    d          }||dz   d                             d	          ||d |                             d	          <   |d |         d
v rL|                    d          dk     r3|                    ||dz   d                             d	                     	 t          |          }|sd S |\  }}	\  }
}}}d|	cxk    rt          | j	                  k     rn n|
|||f| j	        |	<   O)N   s   STARTFONT 2.1znot a valid BDF fileTs   ENDPROPERTIESr   r   r    r   )s   COMMENTs	   COPYRIGHTs   LogicalFontDescriptionr   )
super__init__r2   SyntaxErrorr5   r4   appendrH   lenglyph)selfrK   r;   msgr=   commentsr>   cr<   chxydstsrcrG   	__class__s                 r)   rP   zBdfFontFile.__init__j   s   KKMMSbS6%%%(Cc"""	CA #2#"222tA+,QURZ=+?+?+H+HE!BQB%,,w''(!u22266344q88OOAa!ebjM$8$8$A$ABBB	C	2A )*&BNRcBB((((TZ(((((!#S#r!1
2	2r+   )rK   r   r   rL   )__name__
__module____qualname____doc__rP   __classcell__)r]   s   @r)   rJ   rJ   g   sC        222 2 2 2 2 2 2 2 2 2r+   rJ   N)r   r   r   r   )ra   
__future__r   typingr    r   r   	bdf_slantbdf_spacingrH   rJ    r+   r)   <module>ri      s   (  # " " " " "               
		


 	 #FCC;0 ;0 ;0 ;0|2 2 2 2 2(# 2 2 2 2 2r+   