U
    \ªSh§  ã                   @  s0   d Z ddlmZ ddlmZ G dd„ deƒZdS )zUtilities for LaTeX builder.é    )Úannotations)ÚBabelc                      sn   e Zd ZdZdddddœ‡ fdd„Zdd	œd
d„Zdd	œdd„Zdddœ‡ fdd„Zdd	œ‡ fdd„Z‡  Z	S )ÚExtBabel)Ú	bulgarianZkazakhZ	mongolianÚrussianZ	ukrainianFÚstrÚboolÚNone)Úlanguage_codeÚuse_polyglossiaÚreturnc                   s"   || _ || _d| _tƒ  |¡ d S )NT)r
   r   Ú	supportedÚsuperÚ__init__)Úselfr
   r   ©Ú	__class__© úM/root/rtd-docs/venv/lib/python3.8/site-packages/sphinx/builders/latex/util.pyr      s    zExtBabel.__init__)r   c                 C  s   | j | jkS ©N)ÚlanguageÚcyrillic_languages©r   r   r   r   Úuses_cyrillic   s    zExtBabel.uses_cyrillicc                 C  s   | j S r   )r   r   r   r   r   Úis_supported_language   s    zExtBabel.is_supported_language)r
   r   c                   sB   t ƒ  |¡}|dkr| jrdS |r&|S | d¡r4dS d| _dS d S )NÚngermanÚgermanÚzhÚenglishF)r   Úlanguage_namer   Ú
startswithr   )r   r
   r   r   r   r   r      s    
zExtBabel.language_namez
str | Nonec                   s@   | j dkrdS | jdkr8tƒ  | j¡}|dkr2dS dS n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   r   r   Úget_mainlanguage_options%   s    

z!ExtBabel.get_mainlanguage_options)F)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r!   Ú__classcell__r   r   r   r   r      s   r   N)Ú__doc__Ú
__future__r   Zdocutils.writers.latex2er   r   r   r   r   r   Ú<module>   s   