
    :h                    `    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Z	 G d d	      Z
y)    )annotationsN)BinaryIO   )Image_binaryi   c                n    |D ]0  }|dk  r|dz  }| j                  t        j                  |             2 y)z0Write network order (big-endian) 16-bit sequencer   i   N)writer   o16be)fpvaluesvs      J/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/FontFile.pyputi16r      s3     q5JA
q!"     c                  D    e Zd ZU dZdZded<   d	dZ	 	 d
dZd	dZddZ	y)FontFilez)Base class for raster font file handlers.NzImage.Image | Nonebitmapc                (    i | _         d gdz  | _        y )N   )infoglyph)selfs    r   __init__zFontFile.__init__)   s    .0	 FSL 	
r   c                     | j                   |   S )N)r   )r   ixs     r   __getitem__zFontFile.__getitem__5   s     zz"~r   c                   | j                   rydx}x}}d}| j                  D ]T  }|s|\  }}}}	t        ||d   |d   z
        }||d   |d   z
  z   }|t        kD  r|dz  }|d   |d   z
  }t        ||      }V |}
||z  }|
dk(  r|dk(  ry|| _        t        j                  d|
|f      | _         dgdz  | _        dx}}t        d      D ]  }| |   }|s|\  }}}}	|d   |d   z
  }||}}||z   }|t        kD  rd||z   }}||}}|}|d   |z   |d   |z   |d   |z   |d   |z   f}| j                   j                  |	j                  |      |       |||f| j                  |<    y)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ss                      r   compilezFontFile.compile@   s    ;; AZZE"'3R3q6CF?+Q#a&)u9QJEAQAx+   	A:%1*
 iieU^4 FSL 	 	AsAGE"'3RVc!f_ABFu9a!eqABAFRKQ"c!frk3q6B;F!!"''#,2"#S!)Q r   c                   | j                          | j                  sd}t        |      | j                  j                  t        j
                  j                  |      d   dz   d       t        t        j
                  j                  |      d   dz   d      5 }|j                  d       |j                  d| j                   d	j                  d
             |j                  d       t        d      D ];  }| j                  |   }|st        |d       !t        ||d   |d   z   |d   z          = 	 ddd       y# 1 sw Y   yxY w)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)r9   r   
ValueErrorsaveospathsplitextopenr	   r#   encoder&   r%   r   )r   filenamemsgr   idms         r   r?   zFontFile.saveq   s
    	 {{%CS/!))(3A6?G "''""8,Q/&8$?2HH\"HHvdjj\-44W=>HHYCjLL$2y)2qtad{QqT12 !	 @??s   BD<<E)returnNone)r   intrI   z`tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int], Image.Image] | None)rE   strrI   rJ   )
__name__
__module____qualname____doc__r   __annotations__r   r   r9   r?    r   r   r   r   $   s/    3!%F%
			/,b3r   r   )r   r   r   z7tuple[int, int, int, int, int, int, int, int, int, int]rI   rJ   )
__future__r   r@   typingr    r   r   r"   r   r   rR   r   r   <module>rV      sA     # 	  ##Q#	#b3 b3r   