U
    <®/eÌ
  ã                   @   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   Zo16be)ÚfpÚvaluesÚv© r	   ú0/tmp/pip-unpacked-wheel-esgj5yuu/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 ]h}|r|\}}}}	t||d |d  ƒ}||d |d   }|tkr||d7 }|d |d  }t||ƒ}q|}
|| }|
dkr¨|dkr¨dS || _t d|
|f¡| _ dgd | _d }}tdƒD ]´}| | }|rÜ|\}}}}	|d |d  }|| }}|| }|tkr@d||  }}|| }}|}|d | |d | |d | |d | f}| j  |	 	|¡|¡ |||f| j|< qÜdS )	zCreate metrics and bitmapNr   r   é   é   Ú Ú1r   )
ÚbitmapÚmaxÚWIDTHÚysizer   ÚnewÚmetricsÚrangeZpasteZcrop)r   ÚhÚwZmaxwidthÚlinesr   ÚdÚdstÚsrcZimZxsizer   ÚxÚyÚiZxxZx0Zy0Úsr	   r	   r
   Úcompile-   sF    


,zFontFile.compilec              	   C   sÊ   |   ¡  | j tj |¡d d d¡ ttj |¡d d dƒ€}| d¡ | d| j› d 	d	¡¡ | d
¡ t
dƒD ]B}| j| }|sœt|dgd ƒ qxt||d |d  |d  ƒ qxW 5 Q R X dS )z	Save fontr   z.pbmZPNGz.pilÚwbs   PILfont
z;;;;;;z;
Úasciis   DATA
r   é
   r   r   N)r)   r   ÚsaveÚosÚpathÚsplitextÚopenr   r   Úencoder   r   r   )r   Úfilenamer   ÚidÚmr	   r	   r
   r-   \   s    


zFontFile.save)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r)   r-   r	   r	   r	   r
   r   !   s   /r   )r.   r   r   r   r   r   r   r	   r	   r	   r
   Ú<module>   s   