§
    aÒ³gë  ã                  óì   — U d dl mZ d dlZd dlmZmZ ddlmZmZ ddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ dZdZdZdZdZdZdZdZdZdZd„ d„ d„ d„ gZded<   d"d„Z G d „ d!ej        ¦  «        Z dS )#é    )ÚannotationsN)ÚBinaryIOÚCallableé   )ÚFontFileÚImage)Úi8)Úi16be)Úi16le)Úi32be)Úi32leifcpé   é   é   é   é    é@   é€   é   c                ó   — | dz   dz	  S )Né   é   © ©Úbitss    úM/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/PIL/PcfFontFile.pyú<lambda>r   .   s   € �4˜!‘8 ‘/€ ó    c                ó   — | dz   dz	  dz  S )Né   r   éþÿÿÿr   r   s    r   r   r   /   ó   € �4˜"‘9 Ñ" bÑ(€ r   c                ó   — | dz   dz	  dz  S )Né   r   éüÿÿÿr   r   s    r   r   r   0   r"   r   c                ó   — | dz   dz	  dz  S )Né?   r   iøÿÿÿr   r   s    r   r   r   1   r"   r   zlist[Callable[[int], int]]ÚBYTES_PER_ROWÚsÚbytesÚoÚintÚreturnc                ó>   — | ||                       d|¦  «        …         S )Nó    )Úindex)r)   r+   s     r   Úszr1   5   s    € ØˆQ�—’˜ Ñ"Ô"Ð"Ô#Ð#r   c                  óR   ‡ — e Zd ZdZdZddˆ fd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
ˆ xZS )ÚPcfFontFilez(Font file plugin for the X11 PCF format.Únameú	iso8859-1Úfpr   Úcharset_encodingÚstrc           	     ó¸  •— || _         t          |                     d¦  «        ¦  «        }|t          k    rd}t	          |¦  «        ‚t          ¦   «                              ¦   «          t          |                     d¦  «        ¦  «        }i | _        t          |¦  «        D ]‘}t          |                     d¦  «        ¦  «        }t          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        f| j        |<   Œ’|| _	        |  
                    ¦   «         | _        |                      ¦   «         }|                      |¦  «        }	|                      ¦   «         }
t          |
¦  «        D ]<\  }}|�5||         \  }}}}}}}}|df|||z
  ||z   |fdd||f|	|         f| j        |<   Œ=d S )Nr   znot a PCF filer   )r7   Úl32ÚreadÚ	PCF_MAGICÚSyntaxErrorÚsuperÚ__init__ÚtocÚranger6   Ú_load_propertiesÚinfoÚ_load_metricsÚ_load_bitmapsÚ_load_encodingÚ	enumerateÚglyph)Úselfr6   r7   ÚmagicÚmsgÚcountÚiÚtypeÚmetricsÚbitmapsÚencodingÚchÚixÚxsizeÚysizeÚleftÚrightÚwidthÚascentÚdescentÚ
attributesÚ	__class__s                        €r   r?   zPcfFontFile.__init__>   s¿  ø€ Ø 0ˆÔå�B—G’G˜A‘J”J‘”ˆØ•IÒÐØ"ˆCÝ˜cÑ"Ô"Ð"å‰Œ×ÒÑÔÐå�B—G’G˜A‘J”J‘”ˆØˆŒÝ�u‘”ð 	Oð 	OˆAÝ�r—w’w˜q‘z”z‘?”?ˆDÝ  §¢¨¡¤™_œ_­c°"·'²'¸!±*´*©o¬o½sÀ2Ç7Â7È1Á:Ä:¹¼ÐNˆDŒH�T‰NˆNàˆŒà×)Ò)Ñ+Ô+ˆŒ	à×$Ò$Ñ&Ô&ˆØ×$Ò$ WÑ-Ô-ˆØ×&Ò&Ñ(Ô(ˆõ
   Ñ)Ô)ð 	ð 	‰FˆB�Øˆ~ð ˜B”Kñ	ØØØØØØØØð ˜A�JØ˜7 U™?¨E°D©L¸'ÐBØ˜˜5 %Ð(Ø˜B”Kð	"�”
˜2‘øð	ð 	r   Útagr,   r-   úDtuple[BinaryIO, int, Callable[[bytes], int], Callable[[bytes], int]]c                óð   — | j         |         \  }}}| j        }|                     |¦  «         t          |                     d¦  «        ¦  «        }|dz  rt
          t          }}nt          t          }}||||fS )Nr   )r@   r6   Úseekr:   r;   Úb16Úb32Úl16)rI   r]   ÚformatÚsizeÚoffsetr6   Úi16Úi32s           r   Ú
_getformatzPcfFontFile._getformatl   sp   € ð  $œx¨œ}Ñˆ��fàŒWˆØ
�Š�‰Œˆå�R—W’W˜Q‘Z”Z‘”ˆà�A‰:ð 	 Ý�C�ˆCˆCå�C�ˆCà�6˜3 Ð#Ð#r   údict[bytes, bytes | int]c                óØ  ‡‡— i }|                       t          ¦  «        \  Š}}Š ‰‰                     d¦  «        ¦  «        }ˆˆfd„t          |¦  «        D ¦   «         }|dz  r&‰                     d|dz  z
  t
          j        ¦  «         ‰                      ‰‰                     d¦  «        ¦  «        ¦  «        }|D ]-\  }}}	|rt          ||	¦  «        n|	}
|
|t          ||¦  «        <   Œ.|S )Nr   c           	     óÊ   •— g | ]_} ‰‰                      d ¦  «        ¦  «        t          ‰                      d¦  «        ¦  «         ‰‰                      d ¦  «        ¦  «        f‘Œ`S )r   r   )r;   r	   ©Ú.0Ú_r6   rh   s     €€r   ú
<listcomp>z0PcfFontFile._load_properties.<locals>.<listcomp>ˆ   sT   ø€ ÐWÐWÐWÀAˆcˆc�"—'’'˜!‘*”*‰oŒo�r "§'¢'¨!¡*¤*™~œ~¨s¨s°2·7²7¸1±:´:©¬Ð?ÐWÐWÐWr   r   )ri   ÚPCF_PROPERTIESr;   rA   r`   ÚioÚSEEK_CURr1   )rI   Ú
propertiesrd   rg   ÚnpropsÚpÚdataÚkr)   ÚvÚproperty_valuer6   rh   s              @@r   rB   zPcfFontFile._load_properties}   sõ   øø€ ð ˆ
à#Ÿš­~Ñ>Ô>ÑˆˆF�C˜à��R—W’W˜Q‘Z”Z‘”ˆð XÐWÐWÐWÐWÍÈvÉÌÐWÑWÔWˆà�A‰:ð 	3Ø�GŠG�A˜ !™Ñ$¥b¤kÑ2Ô2Ð2à�wŠw�s�s˜2Ÿ7š7 1™:œ:‘”Ñ'Ô'ˆàð 	5ð 	5‰GˆAˆq�!Ø9:Ð*A­"¨T°1©+¬+¨+ÀˆNØ&4ˆJ•r˜$ ‘{”{Ñ#Ð#àÐr   ú3list[tuple[int, int, int, int, int, int, int, int]]c                ór  — g }|                       t          ¦  «        \  }}}}|j        }|dz  dk    �rt           ||                     d¦  «        ¦  «        ¦  «        D ]Ø}t          |                     d¦  «        ¦  «        dz
  }t          |                     d¦  «        ¦  «        dz
  }	t          |                     d¦  «        ¦  «        dz
  }
t          |                     d¦  «        ¦  «        dz
  }t          |                     d¦  «        ¦  «        dz
  }|	|z
  }||z   } |||||	|
||df¦  «         ŒÙnÿt           ||                     d¦  «        ¦  «        ¦  «        D ]Ó} ||                     d¦  «        ¦  «        } ||                     d¦  «        ¦  «        }	 ||                     d¦  «        ¦  «        }
 ||                     d¦  «        ¦  «        } ||                     d¦  «        ¦  «        } ||                     d¦  «        ¦  «        }|	|z
  }||z   } |||||	|
|||f¦  «         ŒÔ|S )Ni ÿ  r   r   r   r   r   r   )ri   ÚPCF_METRICSÚappendrA   r;   r	   )rI   rO   r6   rd   rg   rh   r~   rM   rV   rW   rX   rY   rZ   rT   rU   r[   s                   r   rD   zPcfFontFile._load_metrics•   s  € ð HJˆà#Ÿš­{Ñ;Ô;ÑˆˆF�C˜à”ˆà�V‰O Ò%Ñ%å˜3˜3˜rŸwšw q™zœz™?œ?Ñ+Ô+ð Oð O�Ý˜"Ÿ'š' !™*œ*‘~”~¨Ñ+�Ý˜2Ÿ7š7 1™:œ:™œ¨Ñ,�Ý˜2Ÿ7š7 1™:œ:™œ¨Ñ,�Ý˜BŸGšG A™JœJ™œ¨#Ñ-�Ý˜RŸWšW Q™ZœZ™.œ.¨3Ñ.�Ø ™�Ø Ñ(�Ø�˜˜u d¨E°5¸&À'È1ÐMÑNÔNÐNÐNðOõ ˜3˜3˜rŸwšw q™zœz™?œ?Ñ+Ô+ð 	Xð 	X�Ø�s˜2Ÿ7š7 1™:œ:‘”�Ø˜˜BŸGšG A™JœJ™œ�Ø˜˜BŸGšG A™JœJ™œ�Ø˜˜RŸWšW Q™ZœZ™œ�Ø˜#˜bŸgšg a™jœj™/œ/�Ø ˜S §¢¨¡¤™_œ_�
Ø ™�Ø Ñ(�Ø�˜˜u d¨E°5¸&À'È:ÐVÑWÔWÐWÐWàˆr   rO   úlist[Image.Image]c                óÆ  ‡‡— |                       t          ¦  «        \  Š}}Š ‰‰                     d¦  «        ¦  «        }|t          |¦  «        k    rd}t	          |¦  «        ‚ˆˆfd„t          |¦  «        D ¦   «         }ˆˆfd„t          d¦  «        D ¦   «         }|dz  }|dz  }	||	         }
|                     |
¦  «         ‰                     |
¦  «        }t          |	         }d}|rd}g }t          |¦  «        D ]d}||         d d	…         \  }}|||d	z   …         \  }}|                     t          j	        d||f|||…         d
| ||¦  «        ¦  «        ¦  «         Œe|S )Nr   zWrong number of bitmapsc                óL   •— g | ] } ‰‰                      d ¦  «        ¦  «        ‘Œ!S ©r   ©r;   rm   s     €€r   rp   z-PcfFontFile._load_bitmaps.<locals>.<listcomp>È   s+   ø€ Ð<Ð<Ð< q�3�3�r—w’w˜q‘z”z‘?”?Ð<Ð<Ð<r   c                óL   •— g | ] } ‰‰                      d ¦  «        ¦  «        ‘Œ!S r‚   rƒ   rm   s     €€r   rp   z-PcfFontFile._load_bitmaps.<locals>.<listcomp>Ê   s+   ø€ Ð:Ð:Ð:¨A˜˜˜BŸGšG A™JœJ™œÐ:Ð:Ð:r   r   r   z1;RÚ1r   Úraw)
ri   ÚPCF_BITMAPSr;   ÚlenÚOSErrorrA   r~   r(   r   Ú	frombytes)rI   rO   rd   rg   ÚnbitmapsrK   ÚoffsetsÚbitmap_sizesÚbitorderÚpadindexÚ
bitmapsizerw   ÚpadÚmoderP   rM   rT   rU   ÚbÚer6   rh   s                       @@r   rE   zPcfFontFile._load_bitmapsº   s�  øø€ ð  $Ÿš­{Ñ;Ô;ÑˆˆF�C˜à�3�r—w’w˜q‘z”z‘?”?ˆà•s˜7‘|”|Ò#Ð#Ø+ˆCÝ˜#‘,”,Ðà<Ð<Ð<Ð<Ð<­E°(©O¬OÐ<Ñ<Ô<ˆà:Ð:Ð:Ð:Ð:µ°q±´Ð:Ñ:Ô:ˆð ˜A‘:ˆØ˜A‘:ˆà! (Ô+ˆ
Ø�Š�zÑ"Ô"Ð"à�wŠw�zÑ"Ô"ˆå˜HÔ%ˆØˆØð 	ØˆDàˆÝ�x‘”ð 	ð 	ˆAØ" 1œ: b q bœ>‰LˆE�5Ø˜1˜q 1™u˜9Ô%‰DˆAˆqØ�NŠNÝ”  e¨U ^°T¸!¸A¸#´YÀÀtÈSÈSÐQVÉZÌZÑXÔXñô ð ð ð ˆr   úlist[int | None]c                óä  ‡‡— |                       t          ¦  «        \  Š}Š} ‰‰                     d¦  «        ¦  «         ‰‰                     d¦  «        ¦  «        }} ‰‰                     d¦  «        ¦  «         ‰‰                     d¦  «        ¦  «        }} ‰‰                     d¦  «        ¦  «         ||z
  dz   ||z
  dz   z  }d gt          d|¦  «        z  }ˆˆfd„t	          |¦  «        D ¦   «         }	t	          |t          |¦  «        ¦  «        D ]Y}
	 |	t          t          |
g¦  «                             | j	        ¦  «        ¦  «                 }|dk    r|||
<   ŒJ# t          $ r Y ŒVw xY w|S )Nr   r   r   c                óL   •— g | ] } ‰‰                      d ¦  «        ¦  «        ‘Œ!S )r   rƒ   )rn   ro   r6   rg   s     €€r   rp   z.PcfFontFile._load_encoding.<locals>.<listcomp>ñ   s+   ø€ ÐFÐFÐF°˜C˜C §¢¨¡
¤
™OœOÐFÐFÐFr   iÿÿ  )ri   ÚPCF_BDF_ENCODINGSr;   ÚminrA   rˆ   ÚordÚ	bytearrayÚdecoder7   ÚUnicodeDecodeError)rI   rd   rh   Ú	first_colÚlast_colÚ	first_rowÚlast_rowÚ	nencodingrQ   Úencoding_offsetsrM   Úencoding_offsetr6   rg   s               @@r   rF   zPcfFontFile._load_encodingä   s{  øø€ Ø#ŸšÕ/@ÑAÔAÑˆˆF�C˜à!˜c "§'¢'¨!¡*¤*™oœo¨s¨s°2·7²7¸1±:´:©¬�8ˆ	Ø!˜c "§'¢'¨!¡*¤*™oœo¨s¨s°2·7²7¸1±:´:©¬�8ˆ	àˆˆB�GŠG�A‰JŒJ‰Œˆà 	Ñ)¨AÑ-°(¸YÑ2FÈÑ2JÑKˆ	ð '+ V­c°#°yÑ.AÔ.AÑ%AˆàFÐFÐFÐFÐFµU¸9Ñ5EÔ5EÐFÑFÔFÐå�y¥# h¡-¤-Ñ0Ô0ð 		ð 		ˆAðØ"2Ý�	 1 #™œ×-Ò-¨dÔ.CÑDÔDÑEÔEô#�ð # fÒ,Ð,Ø"1�H˜Q‘KøøÝ%ð ð ð à�ðøøøð ˆs   ÄAE Å 
E-Å,E-)r5   )r6   r   r7   r8   )r]   r,   r-   r^   )r-   rj   )r-   r{   )rO   r{   r-   r   )r-   r•   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4   r?   ri   rB   rD   rE   rF   Ú__classcell__)r\   s   @r   r3   r3   9   s´   ø€ € € € € Ø2Ð2à€Dð,ð ,ð ,ð ,ð ,ð ,ð ,ð\$ð $ð $ð $ð"ð ð ð ð0#ð #ð #ð #ðJ(ð (ð (ð (ðTð ð ð ð ð ð ð r   r3   )r)   r*   r+   r,   r-   r*   )!Ú
__future__r   rr   Útypingr   r   Ú r   r   Ú_binaryr	   r
   ra   r   rc   r   rb   r   r:   r<   rq   ÚPCF_ACCELERATORSr}   r‡   ÚPCF_INK_METRICSr˜   ÚPCF_SWIDTHSÚPCF_GLYPH_NAMESÚPCF_BDF_ACCELERATORSr(   Ú__annotations__r1   r3   r   r   r   ú<module>r´      sp  ðð$ #Ð "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !ð
 €	à€ØÐ Ø€Ø€Ø€ØÐ Ø€Ø€ØÐ ð #Ð"Ø(Ð(Ø(Ð(Ø(Ð(ð	-€ð ð ð ñ ð$ð $ð $ð $ðEð Eð Eð Eð E�(Ô#ñ Eô Eð Eð Eð Er   