§
    ¥”jû  ã            !       ó”  — d dl mZ d dlmZ d dlmZmZ d dlmZ ddl	m
Z
 ddlmZmZmZ ej        Zg d	¢Z ed
¬¦  «         G d„ d¦  «        ¦   «         Z edddg ej         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ed¦  «         ej        d¦  «         ed¦  «         ej         eej        g d¢¦  «        ¦  «         ed¦  «         ej        d¦  «         ed¦  «         ej        d¦  «         ed¦  «         ej        d¦  «         ed¦  «         ej        d ¦  «         ed¦  «         ej        d¦  «         ed ¦  «         ej        d¦  «         ed!¦  «         ej        d¦  «         ed"¦  «         ej        d¦  «        i¦  «        ¬#¦  «        Z G d$„ d%e¦  «        Z G d&„ d'e¦  «        Zd(e
fd)„Zd*S )+é    )Ú	dataclass)ÚBytesIO)ÚListÚOptional)Úgenericé   )ÚBasePdfFileWriteré   )Ú
FontEngineÚFontEngineFactoryÚShapeResult)ÚSimpleFontEngineÚSimpleFontEngineFactoryÚSimpleFontMetaÚget_courierT)Úfrozenc                   óN   — e Zd ZU eed<   eed<   ee         ed<   ej        ed<   dS )r   Ú
first_charÚ	last_charÚwidthsÚ
descriptorN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__r   r   ÚDictionaryObject© ó    úk/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pyhanko/pdf_utils/font/basic.pyr   r      sC   € € € € € € à€O€O�OØ€N€N�NØ�ŒIÐÐÑØÔ(Ð(Ð(Ñ(Ð(Ð(r   r   é    iX  ú/Typeú/FontDescriptorz	/FontNamez/Courierz/Flagsé#   z	/FontBBox)iéÿÿÿiÿÿÿiË  i%  z/Ascentiu  z/Descenticÿÿÿz
/CapHeightz/ItalicAnglez/StemVé3   z/MissingWidthz	/AvgWidthz	/MaxWidth)r   r   r   r   c            
       ól   ‡ — e Zd ZdZed„ ¦   «         Z	 ddededede	e
         fˆ fd„Zd	efd
„Zd„ Zˆ xZS )r   z´
    Simplistic font engine that effectively only works with PDF standard fonts,
    and does not care about font metrics. Best used with monospaced fonts such
    as Courier.
    c                 ó   — dS )NFr   )Úselfs    r    Úuses_complex_positioningz)SimpleFontEngine.uses_complex_positioning>   s   € àˆur   NÚwriterÚnameÚ	avg_widthÚmetac                 óz   •— || _         || _        || _        t          ¦   «                              ||d¬¦  «         d S )NF)Úembedded_subset)r,   r+   r-   ÚsuperÚ__init__)r(   r*   r+   r,   r-   Ú	__class__s        €r    r1   zSimpleFontEngine.__init__B   s?   ø€ ð #ˆŒØˆŒ	ØˆŒ	Ý‰Œ×Ò˜ °uÐÑ=Ô=Ð=Ð=Ð=r   Úreturnc                 ó  — t          ¦   «         }t          j        |¦  «                             |¦  «         |                     d¦  «         t          |¦  «        | j        z  }t          |                     ¦   «         |d¬¦  «        S )Ns    Tjr   )Úgraphics_opsÚ	x_advanceÚ	y_advance)	r   r   ÚTextStringObjectÚwrite_to_streamÚwriteÚlenr,   r   Úgetvalue)r(   ÚtxtÚopsÚ	total_lens       r    ÚshapezSimpleFontEngine.shapeN   st   € Ý‰iŒiˆÝÔ  Ñ%Ô%×5Ò5°cÑ:Ô:Ð:Ø�	Š	�&ÑÔÐÝ˜‘H”H˜tœ~Ñ-ˆ	åØŸš™œ°9Èð
ñ 
ô 
ð 	
r   c                 óp  — t          j        t          d¦  «        t          d¦  «        t          d¦  «        t          d| j        z   ¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        i¦  «        }| j        }|� t          j        |j        ¦  «        |d	<   t          j        |j        ¦  «        |d
<   t          j        t          t           j        |j
        ¦  «        ¦  «        |d<   | j                             t          j        |j        ¦  «        ¦  «        |d<   |S )Nr"   z/Fontz	/BaseFontú/z/Subtypez/Type1z	/Encodingz/WinAnsiEncodingz
/FirstCharz	/LastCharz/Widthsr#   )r   r   Úpdf_namer+   r-   ÚNumberObjectr   r   ÚArrayObjectÚmapr   r*   Ú
add_objectr   )r(   Ú	font_dictr-   s      r    Úas_resourcezSimpleFontEngine.as_resourceX   s  € ÝÔ,å˜Ñ!Ô!¥8¨GÑ#4Ô#4Ý˜Ñ%Ô%¥x°°d´i±Ñ'@Ô'@Ý˜Ñ$Ô$¥h¨xÑ&8Ô&8Ý˜Ñ%Ô%¥xÐ0BÑ'CÔ'Cð	ñ
ô 
ˆ	ð ŒyˆØÐÝ&-Ô&:¸4¼?Ñ&KÔ&KˆI�lÑ#Ý%,Ô%9¸$¼.Ñ%IÔ%IˆI�kÑ"Ý#*Ô#6Ý•GÔ(¨$¬+Ñ6Ô6ñ$ô $ˆI�iÑ ð ,0¬;×+AÒ+AÝÔ(¨¬Ñ9Ô9ñ,ô ,ˆIÐ'Ñ(ð Ðr   ©N)r   r   r   Ú__doc__Úpropertyr)   r	   ÚstrÚfloatr   r   r1   r   r@   rI   Ú__classcell__)r2   s   @r    r   r   7   sÁ   ø€ € € € € ðð ð ðð ñ „Xðð *.ð
>ð 
>à!ð
>ð ð
>ð ð	
>ð
 �~Ô&ð
>ð 
>ð 
>ð 
>ð 
>ð 
>ð
˜Kð 
ð 
ð 
ð 
ðð ð ð ð ð ð r   r   c                   óV   — e Zd Z	 d	dededee         fd„Zd	defd„Z	e
d„ ¦   «         ZdS )
r   Nr+   r,   r-   c                 ó0   — || _         || _        || _        d S rJ   )r,   r+   r-   )r(   r+   r,   r-   s       r    r1   z SimpleFontEngineFactory.__init__r   s   € ð #ˆŒØˆŒ	ØˆŒ	ˆ	ˆ	r   r*   c                 óD   — t          || j        | j        | j        ¦  «        S rJ   )r   r+   r,   r-   )r(   r*   Ú
obj_streams      r    Úcreate_font_enginez*SimpleFontEngineFactory.create_font_enginey   s   € Ý ¨¬	°4´>À4Ä9ÑMÔMÐMr   c                  ó.   — t          ddt          ¦  «        S )z�
        :return:
            A :class:`.FontEngineFactory` instance representing the Courier
            standard font.
        ÚCourierg333333ã?)r   ÚCOURIER_METAr   r   r    Údefault_factoryz'SimpleFontEngineFactory.default_factory|   s   € õ ' y°#µ|ÑDÔDÐDr   rJ   )r   r   r   rM   rN   r   r   r1   r	   rT   ÚstaticmethodrX   r   r   r    r   r   q   s”   € € € € € àLPðð ØðØ$)ðØ19¸.Ô1Iðð ð ð ðNð NÐ):ð Nð Nð Nð Nð ðEð Eñ „\ðEð Eð Er   r   Ú
pdf_writerc                 ó~   — t                                ¦   «                              | ¦  «                             ¦   «         S )zì
    Quick-and-dirty way to obtain a Courier font resource.

    :param pdf_writer:
        A PDF writer.
    :return:
        A resource dictionary representing the standard Courier font
        (or one of its metric equivalents).
    )r   rX   rT   rI   )rZ   s    r    r   r   †   s/   € õ 	 ×/Ò/Ñ1Ô1ß	Ò	˜JÑ	'Ô	'ß	Š‰Œðr   N)Údataclassesr   Úior   Útypingr   r   Úpyhanko.pdf_utilsr   r*   r	   Úapir   r   r   Ú
NameObjectrC   Ú__all__r   r   rD   rE   rF   rW   r   r   r   r   r   r    ú<module>rc      s  ðØ !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à %Ð %Ð %Ð %Ð %Ð %à &Ð &Ð &Ð &Ð &Ð &Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;àÔ€ðð ð €ð €�$ÐÑÔð)ð )ð )ð )ð )ñ )ô )ñ Ôð)ð ˆ~àØØˆ5Ø'ˆwÔ'àˆH�WÑÔ˜x˜xÐ(9Ñ:Ô:ØˆH�[Ñ!Ô! 8 8¨JÑ#7Ô#7àˆH�XÑÔÐ 4 Ô 4°XÑ >Ô >ØˆH�[Ñ!Ô!Ð#6 7Ô#6Ø��GÔ(Ð*?Ð*?Ð*?Ñ@Ô@ñ$ô $ð ˆH�YÑÔÐ!5 Ô!5°cÑ!:Ô!:ØˆH�ZÑ Ô Ð"6 'Ô"6°tÑ"<Ô"<ØˆH�\Ñ"Ô"Ð$8 GÔ$8¸Ñ$=Ô$=ØˆH�^Ñ$Ô$Ð&: gÔ&:¸1Ñ&=Ô&=ØˆH�XÑÔÐ 4 Ô 4°RÑ 8Ô 8ØˆH�_Ñ%Ô%Ð'; wÔ';¸CÑ'@Ô'@ØˆH�[Ñ!Ô!Ð#7 7Ô#7¸Ñ#<Ô#<ØˆH�[Ñ!Ô!Ð#7 7Ô#7¸Ñ#<Ô#<ð	
ñô ðñ ô €ð67ð 7ð 7ð 7ð 7�zñ 7ô 7ð 7ðtEð Eð Eð Eð EÐ/ñ Eô Eð Eð*Ð-ð ð ð ð ð ð r   