Sindbad~EG File Manager
�
&ΜgX����ddlZddlZdZgd�ZdZdZdZdZdd�ZGd �d
�Z dd�Z
dd�Zed
k(�r�ej�Ze dde��Zeej#��eej#d��eej#d��eej%��eej'd��eej'd��ee��eej)d�ej+d��eej+e���e d��Zeej)d�ej+de���ej,ede��Zej1�ej2edej4��Zej1�e ed��j7�Zej%e��ej%e��ej:�yy) �Nz0.9)�NORMAL�ROMAN�BOLD�ITALIC�
nametofont�Font�families�names�normal�roman�bold�italicc��t|d|��S)zFGiven the name of a tk named font, returns a Font representation.
T)�name�exists�root)r)rrs �)/usr/local/lib/python3.12/tkinter/font.pyrrs���T�$�T�2�2�c��eZdZdZej
d�Zd�Zd�Zd�Z dd�Z
d�Zd �Zd
�Z
d�Zd�Zd
�Zd�Zdd�Zd�Zd�ZeZdd�Zd�Zy)ra�Represents a named font.
Constructor options are:
font -- font specifier (name, system font, or (family, size, style)-tuple)
name -- name to use for this font configuration (defaults to a unique name)
exists -- does a named font by this name already exist?
Creates a new named font if False, points to the existing font if True.
Raises _tkinter.TclError if the assertion is false.
the following are ignored if font is specified:
family -- font 'family', e.g. Courier, Times, Helvetica
size -- font size in points
weight -- font thickness: NORMAL, BOLD
slant -- font slant: ROMAN, ITALIC
underline -- font underlining: false (0), true (1)
overstrike -- font strikeout: false (0), true (1)
�c��g}|j�D]3\}}|jd|z�|jt|���5t|�S�N�-)�items�append�str�tuple)�self�kw�options�k�vs r�_setz Font._set2sG�����H�H�J�D�A�q��N�N�3�q�5�!��N�N�3�q�6�"���W�~�rc�R�g}|D]}|jd|z��t|�Sr)rr)r�argsr r!s r�_getz Font._get9s+�����A��N�N�3�q�5�!���W�~�rc�b�i}tdt|�d�D]}||dz|||dd<�|S)Nr�r)�range�len)rr%r �is r�_mkdictzFont._mkdict?s?�����q�#�d�)�Q�'�A�#'��!��9�G�D��G�A�B�K� �(��rNc��|�tjd�}t|d|�}|r#|j|j dd|��}n|j|�}|s!dt
t|j��z}||_ |r�d|_
|j|j|j dd��vr-tjjd|j�d���|rF|jdd |jg|���n&|jdd
|jg|���d|_
||_
|j|_|j|_y)Nzuse font�tk�font�actualFr
znamed font z does not already exist� configure�createT)�tkinter�_get_default_root�getattr� splitlist�callr#r�next�counterr�delete_font�_tkinter�TclError�_tk�_split�_call)rrr/rrr r.s r�__init__z
Font.__init__Es%���<��,�,�Z�8�D�
�T�4��
&����<�<������$� ?�@�D��9�9�W�%�D���C��T�\�\� 2�3�3�D��� ��$�D���y�y����R�W�W�V�W�-E� F�F��&�&�/�/�>B�i�i�I�K�K��������T�Y�Y�>��>�
�B�G�G�F�H�d�i�i�7�$�7�#�D������l�l����g�g��
rc��|jS�N)r�rs r�__str__zFont.__str__ds���y�y�rc�~�d|jj�d|jj�d|j�d�S)N�<�.z object �>)� __class__�
__module__�__qualname__rrCs r�__repr__z
Font.__repr__gs<���4�>�>�,�,�-�Q�t�~�~�/J�/J�.K��$�)�)��a�)� )rc��t|t�stS|j|jk(xr|j|jk(SrB)�
isinstancer�NotImplementedrr=)r�others r�__eq__zFont.__eq__ks7���%��&�!�!��y�y�E�J�J�&�@�4�8�8�u�y�y�+@�@rc�$�|j|�SrB)�cget)r�keys r�__getitem__zFont.__getitem__ps���y�y��~�rc�,�|jdi||i��y)N�)r1)rrT�values r�__setitem__zFont.__setitem__ss������&�#�u��&rc�x� |jr|jdd|j�yy#t$rYywxYw)Nr/�delete)r:r?r� ExceptionrCs r�__del__zFont.__del__vs;�� �����
�
�6�8�T�Y�Y�7� ��� �� �s�)-� 9�9c�J�t|jfi|j���S)z*Return a distinct copy of the current font)rr=r0rCs r�copyz Font.copy}s���D�H�H�.����
�.�.rc ���d}|rd|f}|r(|d|zfz}|jdd|jg|���S|j|j|jdd|jg|�����S)zReturn actual font attributesrW�
-displayofrr/r0)r?rr,r>)r�option� displayofr%s rr0zFont.actual�s}����� �)�,�D���3��<�*�*�D��4�:�:�f�h�� � �A�D�A�A��<�<����J�D�J�J�v�x����J�T�J�K�M�
Mrc�D�|jdd|jd|z�S)zGet font attributer/�configr)r?r)rrbs rrSz Font.cget�s���z�z�&�(�D�I�I�s�6�z�B�Brc ���|r/|jdd|jg|j|����y|j|j |jdd|j���S)zModify font attributesr/reN)r?rr#r,r>)rr s rrezFont.config�s`����D�J�J�v�x����
'��9�9�W�%�
'��<�<����D�J�J�v�x����C�D�F�
Frc��|f}|rd||f}|jj|jdd|jg|����S)zReturn text widthrar/�measure)r=�getintr?r)r�textrcr%s rrhzFont.measure�sC���w��� �)�T�2�D��x�x���z�t�z�z�&�)�T�Y�Y�N��N�O�Orc��d}|jdd�}|rd|f}|rL||j|�z}|jj|jdd|j
g|����S|j
|jdd|j
g|����}i}tdt|�d�D],}|jj||d z�|||d d<�.|S)
z}Return font metrics.
For best performance, create a dummy widget
using this font before calling this method.rWrcNrar/�metricsrr(r) �popr&r=rir?rr>r)r*)rr rr%rc�resr+s rrlzFont.metrics�s���
���F�F�;��-� �� �)�,�D���$�)�)�G�,�,�D��8�8�?�?���
�
�6�9�d�i�i�?�$�?�A�
A��+�+�j�d�j�j���D�I�I�M��M�N�C��G��1�c�#�h��*��&*�h�h�o�o�c�!�A�#�h�&?���A��q�r�
�#�+��Nr)NNNF�NNrB)�__name__rJrK�__doc__� itertools�countr9r#r&r,r@rDrLrQrUrYr]r_r0rSrer1rhrlrWrrrrsu���*�i�o�o�a� �G�����>�)�A�
�'��/�
M�C�F��I�P�rrc��|�tjd�}d}|rd|f}|jj|jjddg|����S)zGet font families (as a tuple)zuse font.families()rWrar/r �r3r4r.r6r7)rrcr%s rr r �sU���|��(�(�)>�?��
�D���i�(���7�7���\�T�W�W�\�\�&�*�D�t�D�E�Erc��|�tjd�}|jj|jj dd��S)z'Get names of defined fonts (as a tuple)zuse font.names()r/r
ru)rs rr
r
�s<���|��(�(�);�<���7�7���T�W�W�\�\�&�'�:�;�;r�__main__�times�)�family�size�weightrzr|�hello� linespace)rc)�Courier�r
)r/zHello, world)rjr/zQuit!)rj�commandr/)r|rBro)rrr3�__version__�__all__rrrrrrr r
rp�Tkr�f�printr0rerSrhrl�Label�w�pack�Button�destroyr_�fb�mainlooprWrr�<module>r�s�������6��
���� �� ��3�[�[�|F�<��z���7�:�:�<�D�
�G�"�V�4�A� �!�(�(�*�� �!�(�(�8�
�� �!�(�(�8�
�� �!�(�(�*�� �!�&�&��
�� �!�&�&��
�� �%�'�N� �!�)�)�G�
�a�i�i��4�5� �!�)�)�d�)�
#�$��)�*�A� �!�)�)�G�
�a�i�i��t�i�D�E���
�
�d��a�8�A��F�F�H�����t�'�4�<�<�@�A��F�F�H�
�1�V�9� � "� "� $�B��I�I�T�I���H�H�"�H���G����Gr
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists