Ë
    ™2Úie  ã                   óÄ   — d dl 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„ Z G d„ dej                  «      Zy)é    Né   )ÚFontFileÚImage)Úi8)Úi16be)Úi16le)Úi32be)Úi32leifcpé   é   é   é   é    é@   é€   é   c                 ó   — | dz   dz	  S )Né   é   © ©Úbitss    úF/var/www/html/acx/venv/lib/python3.12/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   .   r   r   c                 ó   — | dz   dz	  dz  S )Né?   r   iøÿÿÿr   r   s    r   r   r   /   r   r   c                 ó,   — | || j                  d|«       S )Nó    )Úindex)ÚsÚos     r   Úszr*   3   s   € ØˆQ�—‘˜ Ó"Ð#Ð#r   c                   óF   ‡ — e Zd ZdZdZd	ˆ fd„	Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )
ÚPcfFontFilez(Font file plugin for the X11 PCF format.Únamec           	      ó  •— || _         t        |j                  d«      «      }|t        k7  rd}t	        |«      ‚t
        ‰| �  «        t        |j                  d«      «      }i | _        t        |«      D ]v  }t        |j                  d«      «      }t        |j                  d«      «      t        |j                  d«      «      t        |j                  d«      «      f| j                  |<   Œx || _	        | j                  «       | _        | j                  «       }| j                  |«      }	| j                  «       }
t        |
«      D ]<  \  }}|€Œ	||   \  }}}}}}}}|df|||z
  ||z   |fdd||f|	|   f| j                   |<   Œ> y )Nr   znot a PCF filer   )Úcharset_encodingÚl32ÚreadÚ	PCF_MAGICÚSyntaxErrorÚsuperÚ__init__ÚtocÚrangeÚfpÚ_load_propertiesÚinfoÚ_load_metricsÚ_load_bitmapsÚ_load_encodingÚ	enumerateÚglyph)Úselfr8   r/   ÚmagicÚmsgÚcountÚiÚtypeÚmetricsÚbitmapsÚencodingÚchÚixÚxsizeÚysizeÚleftÚrightÚwidthÚascentÚdescentÚ
attributesÚ	__class__s                        €r   r5   zPcfFontFile.__init__<   s~  ø€ Ø 0ˆÔä�B—G‘G˜A“J“ˆØ”IÒØ"ˆCÜ˜cÓ"Ð"ä‰ÑÔä�B—G‘G˜A“J“ˆØˆŒÜ�u“ò 	OˆAÜ�r—w‘w˜q“z“?ˆDÜ  §¡¨£›_¬c°"·'±'¸!³*«o¼sÀ2Ç7Á7È1Ã:»ÐNˆD�H‰H�TŠNð	Oð ˆŒà×)Ñ)Ó+ˆŒ	à×$Ñ$Ó&ˆØ×$Ñ$ WÓ-ˆØ×&Ñ&Ó(ˆô
   Ó)ò 	‰FˆB�Ø‰~ð ˜B‘Kñ	ØØØØØØØØð ˜A�JØ˜7 U™?¨E°D©L¸'ÐBØ˜˜5 %Ð(Ø˜B‘Kð	"�—
‘
˜2’ñ	r   c                 óÞ   — | j                   |   \  }}}| j                  }|j                  |«       t        |j	                  d«      «      }|dz  rt
        t        }}nt        t        }}||||fS )Nr   )r6   r8   Úseekr0   r1   Úb16Úb32Úl16)r@   ÚtagÚformatÚsizeÚoffsetr8   Úi16Úi32s           r   Ú
_getformatzPcfFontFile._getformatj   sc   € Ø#Ÿx™x¨™}Ñˆ��fà�W‰WˆØ
�‰�Œä�R—W‘W˜Q“Z“ˆà�AŠ:ÜœC�‰CäœC�ˆCà�6˜3 Ð#Ð#r   c           
      ó2  — i }| j                  t        «      \  }}}} ||j                  d«      «      }g }t        |«      D ]X  }|j	                   ||j                  d«      «      t        |j                  d«      «       ||j                  d«      «      f«       ŒZ |dz  r&|j                  d|dz  z
  t        j                  «       |j                   ||j                  d«      «      «      }	|D ]%  \  }
}}t        |	|
«      }
|rt        |	|«      }|||
<   Œ' |S )Nr   r   r   )
r_   ÚPCF_PROPERTIESr1   r7   Úappendr   rU   ÚioÚSEEK_CURr*   )r@   Ú
propertiesr8   rZ   r]   r^   ÚnpropsÚprD   ÚdataÚkr(   Úvs                r   r9   zPcfFontFile._load_propertiesy   sÿ   € ð ˆ
à#Ÿ™¬~Ó>ÑˆˆF�C˜á�R—W‘W˜Q“Z“ˆð ˆÜ�v“ò 	IˆAØ�H‰H‘c˜"Ÿ'™' !›*“o¤r¨"¯'©'°!«*£~±s¸2¿7¹7À1»:³ÐGÕHð	Ià�AŠ:Ø�G‰G�A˜ !™Ñ$¤b§k¡kÔ2à�w‰w‘s˜2Ÿ7™7 1›:“Ó'ˆàò 	‰GˆAˆq�!Ü�4˜“ˆAÙÜ�t˜Q“K�ØˆJ�qŠMð		ð Ðr   c                 óœ  — g }| j                  t        «      \  }}}}|j                  }|dz  dk(  rÒt         ||j	                  d«      «      «      D ]­  }t        |j	                  d«      «      dz
  }t        |j	                  d«      «      dz
  }	t        |j	                  d«      «      dz
  }
t        |j	                  d«      «      dz
  }t        |j	                  d«      «      dz
  }|	|z
  }||z   } |||||	|
||df«       Œ¯ |S t         ||j	                  d«      «      «      D ]¦  } ||j	                  d«      «      } ||j	                  d«      «      }	 ||j	                  d«      «      }
 ||j	                  d«      «      } ||j	                  d«      «      } ||j	                  d«      «      }|	|z
  }||z   } |||||	|
|||f«       Œ¨ |S )Ni ÿ  r   r   r   r   r   r   )r_   ÚPCF_METRICSrb   r7   r1   r   )r@   rF   r8   rZ   r]   r^   rb   rD   rM   rN   rO   rP   rQ   rK   rL   rR   s                   r   r;   zPcfFontFile._load_metrics”   sµ  € ð ˆà#Ÿ™¬{Ó;ÑˆˆF�C˜à—‘ˆà�V‰O Ò%ä™3˜rŸw™w q›z›?Ó+ò O�Ü˜"Ÿ'™' !›*“~¨Ñ+�Ü˜2Ÿ7™7 1›:›¨Ñ,�Ü˜2Ÿ7™7 1›:›¨Ñ,�Ü˜BŸG™G A›J›¨#Ñ-�Ü˜RŸW™W Q›Z›.¨3Ñ.�Ø ™�Ø Ñ(�Ù˜˜u d¨E°5¸&À'È1ÐMÕNðOð. ˆô ™3˜rŸw™w q›z›?Ó+ò 	X�Ù˜2Ÿ7™7 1›:“�Ù˜BŸG™G A›J›�Ù˜BŸG™G A›J›�Ù˜RŸW™W Q›Z›�Ù˜bŸg™g a›j›/�Ù  §¡¨£›_�
Ø ™�Ø Ñ(�Ù˜˜u d¨E°5¸&À'È:ÐVÕWð	Xð ˆr   c                 ó¶  — g }| j                  t        «      \  }}}} ||j                  d«      «      }|t        |«      k7  rd}t	        |«      ‚g }	t        |«      D ](  }
|	j                   ||j                  d«      «      «       Œ* g }t        d«      D ](  }
|j                   ||j                  d«      «      «       Œ* |dz  }|dz  }||   }|	j                  |«       |j                  |«      }t        |   }d}|rd}t        |«      D ]L  }
||
   d d \  }}|	|
|
dz    \  }}|j                  t        j                  d||f||| d| ||«      «      «       ŒN |S )	Nr   zWrong number of bitmapsr   r   z1;RÚ1r   Úraw)
r_   ÚPCF_BITMAPSr1   ÚlenÚOSErrorr7   rb   ÚBYTES_PER_ROWr   Ú	frombytes)r@   rF   rG   r8   rZ   r]   r^   ÚnbitmapsrB   ÚoffsetsrD   Úbitmap_sizesÚbitorderÚpadindexÚ
bitmapsizerh   ÚpadÚmoderK   rL   ÚbÚes                         r   r<   zPcfFontFile._load_bitmaps¹   sq  € ð ˆà#Ÿ™¬{Ó;ÑˆˆF�C˜á�r—w‘w˜q“z“?ˆà”s˜7“|Ò#Ø+ˆCÜ˜#“,ÐàˆÜ�x“ò 	,ˆAØ�N‰N™3˜rŸw™w q›z›?Õ+ð	,ð ˆÜ�q“ò 	1ˆAØ×Ñ¡ B§G¡G¨A£J£Õ0ð	1ð ˜A‘:ˆØ˜A‘:ˆà! (Ñ+ˆ
Ø�‰�zÔ"à�w‰w�zÓ"ˆä˜HÑ%ˆØˆÙØˆDä�x“ò 	ˆAØ" 1™: b q˜>‰LˆE�5Ø˜1˜q 1™uÐ%‰DˆAˆqØ�N‰NÜ—‘  e¨U ^°T¸!¸A°YÀÀtÉSÐQVËZÓXõð	ð ˆr   c                 ó�  — | j                  t        «      \  }}}} ||j                  d«      «       ||j                  d«      «      }} ||j                  d«      «       ||j                  d«      «      }} ||j                  d«      «       ||z
  dz   ||z
  dz   z  }	d gt        d|	«      z  }
t	        |	«      D �cg c]  } ||j                  d«      «      ‘Œ }}t	        |t        |
«      «      D ]>  }	 |t        t        |g«      j                  | j                  «      «         }|dk7  r||
|<   Œ@ |
S c c}w # t        $ r Y ŒSw xY w)Nr   r   r   iÿÿ  )r_   ÚPCF_BDF_ENCODINGSr1   Úminr7   rq   ÚordÚ	bytearrayÚdecoder/   ÚUnicodeDecodeError)r@   r8   rZ   r]   r^   Ú	first_colÚlast_colÚ	first_rowÚlast_rowÚ	nencodingrH   Ú_Úencoding_offsetsrD   Úencoding_offsets                  r   r=   zPcfFontFile._load_encodingæ   s@  € Ø#Ÿ™Ô/@ÓAÑˆˆF�C˜á! "§'¡'¨!£*›o©s°2·7±7¸1³:«�8ˆ	Ù! "§'¡'¨!£*›o©s°2·7±7¸1³:«�8ˆ	áˆB�G‰G�A‹JŒà 	Ñ)¨AÑ-°(¸YÑ2FÈÑ2JÑKˆ	ð �6œC  YÓ/Ñ/ˆä5:¸9Ó5EÖF°™C §¡¨£
�OÐFÐÐFä�y¤# h£-Ó0ò 		ˆAðØ"2Üœ	 1 #›×-Ñ-¨d×.CÑ.CÓDÓEñ#�ð # fÒ,Ø"1�H˜Q‘Køð		ð ˆùò Gøô &ò áðús   Â<D4Ã5;D9Ä9	EÅE)z	iso8859-1)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r-   r5   r_   r9   r;   r<   r=   Ú__classcell__)rS   s   @r   r,   r,   7   s,   ø„ Ù2à€Dõ,ò\$òò6#òJ+öZr   r,   )rc   Ú r   r   Ú_binaryr   r   rV   r   rX   r	   rW   r
   r0   r2   ra   ÚPCF_ACCELERATORSrl   rp   ÚPCF_INK_METRICSr€   ÚPCF_SWIDTHSÚPCF_GLYPH_NAMESÚPCF_BDF_ACCELERATORSrs   r*   r,   r   r   r   ú<module>rš      s�   ðó& 
ç Ý Ý !Ý !Ý !Ý !ð
 €	à€ØÐ Ø€Ø€Ø€ØÐ Ø€Ø€ØÐ ñ #Ù(Ù(Ù(ð	€ò$ôI�(×#Ñ#õ Ir   