
    ip                    f    S SK Jr  S SKrS SKJr  SSKJrJrJr  Sr	      S
S jr
 " S S	5      rg)    )annotationsN)BinaryIO   )Image	ImageFont_binaryi   c                v    U H3  nUS:  a  US-  nU R                  [        R                  " U5      5        M5     g)z0Write network order (big-endian) 16-bit sequencer      N)writer   o16be)fpvaluesvs      >/var/www/ias/venv/lib/python3.13/site-packages/PIL/FontFile.pyputi16r      s3     q5JA
q!"     c                  h    \ rS rSr% SrSrS\S'   SS jr  SS jrSS jr	SS	 jr
SS
 jrSS jrSrg)FontFile$   z)Base class for raster font file handlers.NzImage.Image | Nonebitmapc                (    0 U l         S /S-  U l        g )N   )infoglyph)selfs    r   __init__FontFile.__init__)   s    .0	 FSL 	
r   c                     U R                   U   $ )N)r   )r   ixs     r   __getitem__FontFile.__getitem__5   s     zz"~r   c                   U R                   (       a  gS=n=p#SnU R                   HW  nU(       d  M  Uu  pgp[        XS   US   -
  5      nX(S   US   -
  -   nU[        :  a  US-  nUS   US   -
  n[        X25      nMY     Un
XA-  nU
S:X  a  US:X  a  gXl        [
        R                  " SX45      U l         S/S-  U l        S=p[        S5       H  nX   nU(       d  M  Uu  pgpUS   US   -
  nXnnX-   nU[        :  a
  SX-   pXnnUnUS   U-   US   U-   US   U-   US   U-   4nU R                   R                  U	R                  U5      U5        XgU4U R                  U'   M     g)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   compileFontFile.compile@   s    ;; AZZEu"'q6CF?+Q#a&)u9QJEAQAx+   	A:%1*
 iie^4 FSL 	 	sAGEu"'Vc!f_BFu9aeqBAFRKQ"c!frk3q6B;F!!"''#,2"#!)Q r   c                @   / n[        S5       HL  nU R                  U   nU(       a"  UR                  US   US   -   US   -   5        M;  UR                  S5        MN     [        5       nU H'  nUS:  a  US-  nU[        R
                  " U5      -  nM)     [        U5      $ )Nr   r   r   r$   )
r   r   r   r   r   r   r   r   r   r   r
   )r+   r*   extend	bytearrayr   r   bytes)r   r   r9   mdatar   s         r   _encode_metricsFontFile._encode_metricsq   s    sAQAadQqTkAaD01i(  {A1uU
GMM!$$D  T{r   c                N   U R                  5         U R                  (       d  Sn[        U5      eU R                  R                  [        R
                  R                  U5      S   S-   S5        [        [        R
                  R                  U5      S   S-   S5       nUR                  S5        UR                  SU R                   S	3R                  S
5      5        UR                  S5        UR                  U R                  5       5        SSS5        g! , (       d  f       g= f)z	Save fontNo bitmap createdr   z.pbmPNGz.pilwbs   PILfont
z;;;;;;z;
asciis   DATA
N)r>   r   
ValueErrorsaveospathsplitextopenr   r(   encoderF   )r   filenamemsgr   s       r   rN   FontFile.save   s     	 {{%CS/!))(3A6?G "''""8,Q/&8$?2HH\"HHvdjj\-44W=>HHYHHT))+,	 @??s   A0D
D$c                    U R                  5         U R                  (       d  Sn[        U5      e[        R                  " 5       nUR	                  U R                  U R                  5       5        U$ )zConvert to ImageFontrI   )r>   r   rM   r   _loadrF   )r   rU   	imagefonts      r   to_imagefontFontFile.to_imagefont   sT     	 {{%CS/!'')	T%9%9%;<r   )r   r   r   r*   r(   )returnNone)r   intr\   z`tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int], Image.Image] | None)r\   rC   )rT   strr\   r]   )r\   zImageFont.ImageFont)__name__
__module____qualname____firstlineno____doc__r   __annotations__r   r    r>   rF   rN   rZ   __static_attributes__ r   r   r   r   $   s9    3!%F%
			/,b -$r   r   )r   r   r   z7tuple[int, int, int, int, int, int, int, int, int, int]r\   r]   )
__future__r   rO   typingr    r   r   r   r'   r   r   rg   r   r   <module>rk      sD     # 	  ' '##Q#	#{ {r   