§
    Å‡tjÀ
  ã                   ó  — d dl 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 dlmZmZmZ  e j        d¦  «        Z e ed¦  «        ¦  «        Z ed	d
¦  «        ZdZd„ Zd„ Zerdd„Zne                     d¦  «         dd„Zd„ ZdS )é    N)Ú	addressof)Ú
namedtuple)Ú	find_spec)ÚLazy)Ú	add_inputÚ	get_inputÚpagenums_rangerÚpypdfium2_cliÚtabulateÚ
FontHolder)ÚobjÚpageszïFont objects are compared by memory address, so the same font name may occur multiple times
in different configurations (e.g. differing weights, or even hidden differences like /Subtype).
This is intentional. Nameless fonts may also occur.c                 ó(   — t          | d¬¦  «         d S )NT)r   )r   )Úparsers    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pypdfium2_cli/fonts.pyÚattachr      s   € Ýˆf˜DÐ!Ñ!Ô!Ð!Ð!Ð!ó    c           	   #   óZ  K  — |                       ¦   «         D ]“}|j        }|                     ¦   «         }|j        rdnd}d                     d„ t          t          |j        ¦  «        ¦  «        D ¦   «         ¦  «        }||                     ¦   «         | 	                    ¦   «         ||fV — Œ”d S )NÚyesÚnoz, c              3   ó4   K  — | ]}t          |¦  «        V — Œd S ©N)Ústr)Ú.0Úps     r   ú	<genexpr>z!_iterate_fonts.<locals>.<genexpr>%   s(   è è € ÐXÐX¨�c !™fœfÐXÐXÐXÐXÐXÐXr   )
Úvaluesr   Úget_base_nameÚis_embeddedÚjoinr	   Úsortedr   Úget_family_nameÚ
get_weight)Ú	all_fontsÚ
fontholderÚfontobjÚ	base_nameÚembeddedÚ	pages_strs         r   Ú_iterate_fontsr*       s¾   è è € Ø×&Ò&Ñ(Ô(ð ^ð ^ˆ
Ø”.ˆØ×)Ò)Ñ+Ô+ˆ	Ø#Ô/Ð9�5�5°TˆØ—I’IÐXÐX­o½fÀZÔEUÑ>VÔ>VÑ.WÔ.WÐXÑXÔXÑXÔXˆ	Ø˜×0Ò0Ñ2Ô2°G×4FÒ4FÑ4HÔ4HÈ(ÐT]Ð]Ð]Ð]Ð]Ð]ð^ð ^r   c           	      óx   — t          |¦  «        }|sd S t          t          j        || dd|¬¦  «        ¦  «         d S )NÚleftÚpretty)ÚheadersÚstralignÚtablefmtÚmaxcolwidths)ÚlistÚprintr   r   )r.   Ú
table_iterr1   Ú
table_lists       r   Ú_show_tabler6   )   sG   € Ý˜*Ñ%Ô%ˆ
Øð 	ØˆFÝ�dŒm˜J°À&ÐS[ÐjvÐwÑwÔwÑxÔxÐxÐxÐxr   z7You may want to install `tabulate` for prettier output.c                 óL   — t          | ¦  «         |D ]}t          |¦  «         Œd S r   )r3   )r.   r4   r1   Úentrys       r   r6   r6   0   s3   € Ýˆg‰ŒˆØð 	ð 	ˆEÝ�%‰LŒLˆLˆLð	ð 	r   c                 ó  — t          | ¦  «        }t                               d¦  «         i }| j        D ]¦}||         }|                     t
          j        f¬¦  «        D ]z}|                     ¦   «         }t          |j	        j
        ¦  «        }||v r	||         }n!t          |t          ¦   «         ¦  «        }|||<   |j                             |dz   ¦  «         Œ{Œ§d}	g d¢}
t          |¦  «        }t          |	||
¦  «         d S )NzGathering fonts from pages...)Úfilteré   )z	Base namezFamily nameÚWeightÚEmbÚPages)é   r?   NNéP   )r   ÚloggerÚdebugr   Úget_objectsÚpdfium_cÚFPDF_PAGEOBJ_TEXTÚget_fontr   ÚrawÚcontentsr   ÚsetÚaddr*   r6   )ÚargsÚpdfr$   ÚiÚpageÚtextobjr&   Úaddrr%   r.   r1   Ú
fonts_iters               r   ÚmainrR   6   s  € Ý
�D‰/Œ/€Cõ
 ‡L‚LÐ0Ñ1Ô1Ð1Ø€IØŒZð 
&ð 
&ˆØ�1ŒvˆØ×'Ò'µÔ0JÐ/LÐ'ÑMÔMð 	&ð 	&ˆGØ×&Ò&Ñ(Ô(ˆGÝ˜Wœ[Ô1Ñ2Ô2ˆDØ�yÐ Ð Ø& tœ_�
�
å'¨µ±´Ñ7Ô7�
Ø",�	˜$‘ØÔ× Ò   1¡Ñ%Ô%Ð%Ð%ð	&ð E€GØ+Ð+Ð+€LÝ 	Ñ*Ô*€JÝ�˜ \Ñ2Ô2Ð2Ð2Ð2r   r   )ÚloggingÚctypesr   Úcollectionsr   Úimportlib.utilr   Úpypdfium2.rawrG   rD   Úpypdfium2._lazyr   Úpypdfium2_cli._parsersr   r   r	   Ú	getLoggerrA   ÚboolÚHAVE_TABULATEr   ÚPARSER_DESCr   r*   r6   ÚinforR   © r   r   ú<module>r`      sm  ðð €€€Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  Ø  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ð ð ð ð ð ð 
ˆÔ	˜?Ñ	+Ô	+€Ø��Y�Y˜zÑ*Ô*Ñ+Ô+€àˆZ˜Ð&6Ñ7Ô7€
ð€ð"ð "ð "ð^ð ^ð ^ð ð ðyð yð yð yð yð ‡K‚KÐIÑJÔJÐJðð ð ð ð3ð 3ð 3ð 3ð 3r   