o
    Z#ûaÍ
  ã                   @   s6   d dl Z ddlmZmZ dZdd„ ZG dd„ dƒZdS )	é    Né   )ÚImageÚ_binaryi   c                 C   s.   |D ]}|dk r|d7 }|   t |¡¡ qdS )z0Write network order (big-endian) 16-bit sequencer   i   N)Úwriter   Úo16be)ÚfpÚvaluesÚv© r
   ú./usr/lib/python3/dist-packages/PIL/FontFile.pyÚputi16   s
   ýr   c                   @   s4   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚFontFilez)Base class for raster font file handlers.Nc                 C   s   i | _ d gd | _d S )Né   )ÚinfoÚglyph)Úselfr
   r
   r   Ú__init__&   s   zFontFile.__init__c                 C   s
   | j | S )N)r   )r   Úixr
   r
   r   Ú__getitem__+   s   
zFontFile.__getitem__c                 C   s”  | j rdS d } }}d}| D ]4}|rC|\}}}}	t||d |d  ƒ}||d |d   }|tkr>|d7 }|d |d  }t||ƒ}q|}
|| }|
dkrT|dkrTdS || _t d|
|f¡| _ dgd | _d }}tdƒD ]Y}| | }|rÇ|\}}}}	|d |d  }||}}|| }|tkrŸd|| }}||}}|}|d | |d | |d | |d | f}| j  |	 	|¡|¡ |||f| j|< qndS )	zCreate metrics and bitmapNr   r   é   é   Ú Ú1r   )
ÚbitmapÚmaxÚWIDTHÚysizer   ÚnewÚmetricsÚrangeÚpasteÚcrop)r   ÚhÚwÚmaxwidthÚlinesr   ÚdÚdstÚsrcÚimÚxsizer   ÚxÚyÚiÚxxÚx0Úy0Úsr
   r
   r   Úcompile.   sL   
€

,€òzFontFile.compilec                 C   sà   |   ¡  | j tj |¡d d d¡ ttj |¡d d dƒF}| d¡ | d| j› d 	d	¡¡ | d
¡ t
dƒD ]!}| j| }|sNt|dgd ƒ q<t||d |d  |d  ƒ q<W d  ƒ dS 1 siw   Y  dS )z	Save fontr   z.pbmÚPNGz.pilÚwbs   PILfont
z;;;;;;z;
Úasciis   DATA
r   é
   r   r   N)r2   r   ÚsaveÚosÚpathÚsplitextÚopenr   r   Úencoder   r   r   )r   Úfilenamer   ÚidÚmr
   r
   r   r7   ]   s   


 û"üzFontFile.save)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r2   r7   r
   r
   r
   r   r   !   s    /r   )r8   r   r   r   r   r   r   r
   r
   r
   r   Ú<module>   s
   