
    }c                     >    d Z ddlmZ ddlmZ  G d de          ZdS )zUtilities for LaTeX builder.    )Optional)Babelc                   z     e Zd ZdZddededdf fdZdefdZdefd	Zdedef fd
Z	de
e         f fdZ xZS )ExtBabel)	bulgariankazakh	mongolianrussian	ukrainianFlanguage_codeuse_polyglossiareturnNc                 t    || _         || _        d| _        t                                          |           d S )NT)r   r   	supportedsuper__init__)selfr   r   	__class__s      :lib/python3.11/site-packages/sphinx/builders/latex/util.pyr   zExtBabel.__init__   s8    *.'''''    c                     | j         | j        v S N)languagecyrillic_languagesr   s    r   uses_cyrilliczExtBabel.uses_cyrillic   s    } 777r   c                     | j         S r   )r   r   s    r   is_supported_languagezExtBabel.is_supported_language   s
    ~r   c                     t                                          |          }|dk    r	| j        rdS |r|S |                    d          rdS d| _        dS )NngermangermanzhenglishF)r   language_namer   
startswithr   )r   r   r   r   s      r   r$   zExtBabel.language_name   sl    77((77y  
	T%9 
	 8 	O%%d++ 	9"DN9r   c                     | j         du rdS | j        dk    r0t                                          | j                  }|dk    rdS dS dS )z6Return options for polyglossia's ``\setmainlanguage``.FNr!   r    zspelling=newzspelling=old)r   r   r   r$   r   )r   r   r   s     r   get_mainlanguage_optionsz!ExtBabel.get_mainlanguage_options%   s]    5( 		4]h& 	ww,,T-?@@H9$ &%~%~4r   )F)__name__
__module____qualname__r   strboolr   r   r   r$   r   r'   __classcell__)r   s   @r   r   r      s        U( (c (D (T ( ( ( ( ( (8t 8 8 8 8t    3 3      (3-          r   r   N)__doc__typingr   docutils.writers.latex2er   r    r   r   <module>r2      sc    " "       * * * * * *( ( ( ( (u ( ( ( ( (r   