o
    ™Y2hù  ã                   @  sP   d dl mZ d dlZd dlmZ ddlmZmZ dZddd„Z	G dd„ dƒZ
dS )é    )ÚannotationsN)ÚBinaryIOé   )ÚImageÚ_binaryi   Úfpr   Úvaluesú7tuple[int, int, int, int, int, int, int, int, int, int]ÚreturnÚNonec                 C  s.   |D ]}|dk r|d7 }|   t |¡¡ qdS )z0Write network order (big-endian) 16-bit sequencer   i   N)Úwriter   Úo16be)r   r   Úv© r   ú]/home/skpark/git/infrasmart_work/infrasmart/venv/lib/python3.10/site-packages/PIL/FontFile.pyÚputi16   s
   ýr   c                   @  sF   e Zd ZU dZdZded< ddd„Zddd„Zddd„Zddd„Z	dS )ÚFontFilez)Base class for raster font file handlers.NzImage.Image | NoneÚbitmapr
   r   c                 C  s   i | _ d gd | _d S )Né   )ÚinfoÚglyph)Úselfr   r   r   Ú__init__)   s   	øzFontFile.__init__ÚixÚintú`tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int], Image.Image] | Nonec                 C  s
   | j | S )N)r   )r   r   r   r   r   Ú__getitem__5   s   
	zFontFile.__getitem__c                 C  s–  | j rdS d } }}d}| jD ]4}|rD|\}}}}	t||d |d  ƒ}||d |d   }|tkr?|d7 }|d |d  }t||ƒ}q|}
|| }|
dkrU|dkrUd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|< qodS )zCreate metrics and bitmapNr   r   é   é   Ú1r   )r   r   Ú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@   sN   

€ý

,€ózFontFile.compileÚfilenameÚstrc                 C  sì   |   ¡  | jsd}t|ƒ‚| j tj |¡d d d¡ ttj |¡d d dƒC}| d¡ | d| j	› d	 
d
¡¡ | d¡ tdƒD ]}| j| }|sTt|dƒ qEt||d |d  |d  ƒ qEW d  ƒ dS 1 sow   Y  dS )z	Save fontzNo bitmap createdr   z.pbmÚPNGz.pilÚwbs   PILfont
z;;;;;;z;
Úasciis   DATA
r   )
r   r   r   r   r   r   r   r   r   r   r   r   N)r8   r   Ú
ValueErrorÚsaveÚosÚpathÚsplitextÚopenr   r"   Úencoder%   r$   r   )r   r9   Úmsgr   ÚidÚmr   r   r   r?   q   s    


 û"üzFontFile.save)r
   r   )r   r   r
   r   )r9   r:   r
   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r   r8   r?   r   r   r   r   r   $   s   
 


1r   )r   r   r   r	   r
   r   )Ú
__future__r   r@   Útypingr   Ú r   r   r!   r   r   r   r   r   r   Ú<module>   s   

