
    &Th
                     :    d dl Z ddlmZmZ dZd Z G d d      Zy)    N   )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      T/home/stella.sw7ft.com/public_html/venv/lib/python3.12/site-packages/PIL/FontFile.pyputi16r      s6     #q5JA
q!"#    c                   ,    e Zd ZdZdZd Zd Zd Zd Zy)FontFilez)Base class for raster font file handlers.Nc                 (    i | _         d gdz  | _        y )N   )infoglyph)selfs    r   __init__zFontFile.__init__&   s    	Vc\
r   c                      | j                   |   S )N)r   )r   ixs     r   __getitem__zFontFile.__getitem__*   s    zz"~r   c                    | j                   rydx}x}}d}| 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   )
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ss                      r   compilezFontFile.compile-   s    ;; A 	,E"'3R3q6CF?+Q#a&)u9QJEAQAx+	, 	A:%1*
 iieU^4v|	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                 f   | j                          | 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gdz         %t        ||d   |d   z   |d   z          A 	 ddd       y# 1 sw Y   yxY w)z	Save fontr   z.pbmPNGz.pilwbs   PILfont
z;;;;;;z;
asciis   DATA
r   
   r   r   N)r8   r   saveospathsplitextopenr   r"   encoder%   r$   r   )r   filenamer	   idms        r   r>   zFontFile.save\   s    	 	))(3A6?G "''""8,Q/&8$? 		32HH\"HHvdjj\-44W=>HHYCj 3LL$2sRx(2qtad{QqT123			3 		3 		3s   ?BD''D0)	__name__
__module____qualname____doc__r   r   r   r8   r>    r   r   r   r   !   s    3F"-,^3r   r   )r?   r   r   r   r!   r   r   rK   r   r   <module>rL      s#   $ 
 #M3 M3r   