
    -Phh                         d Z dZddlmZ ddlmZ  G d dej                  Z G d dej                  Z G d	 d
ej                  Z	dS )z
XeLaTeX document tree Writer.

A variant of Docutils' standard 'latex2e' writer producing LaTeX output
suited for processing with the Unicode-aware TeX engines
LuaTeX and XeTeX.
reStructuredText    )frontend)latex2ec            	           e Zd ZdZdZ	 dZdZdZdZ e	j
        ej        j        ddez  d	ged
dfddgdeif          Zd ZdS )Writerz9A writer for Unicode-aware LaTeX variants (XeTeX, LuaTeX))latextexxetexxelatexluatexlualatexzxelatex.texz% Linux Libertine (free, wide coverage, not only for Linux)
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmonofont[HyphenChar=None,Scale=MatchLowercase]{DejaVu Sans Mono}zxetex writer)writerszlatex writersfont_encodingzTemplate file. Default: "%s".z
--templatez<file>)defaultmetavarzUCustomization by LaTeX code in the preamble. Default: select "Linux Libertine" fonts.z--latex-preambler   )templatelatex_preamblec                     t           j                            |            | j                            ddi           t
          | _        d S )Nfontencoding )r   r   __init__settings_defaultsupdateXeLaTeXTranslatortranslator_class)selfs    _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/docutils/writers/xetex/__init__.pyr   zWriter.__init__<   sB    %%%%%~r&:;;; 1    N)__name__
__module____qualname____doc__	supporteddefault_templatedefault_preambleconfig_sectionconfig_section_dependenciesr   filter_settings_specr   r   settings_specr    r   r   r   r      s        CCJI'$I $N"> 2H1$14DD..8DDFC+,"$457
 
 
M2 2 2 2 2r   r   c                   T   e Zd ZdZej        j                                        Ze                    i dddddddd	d
ddddddddddddddddddddddd            d! e	                                D             Zd"D ]Z
ee
                                = d# Zd$ Zd%S )&Babelz`Language specifics for XeTeX.

    Use `polyglossia` instead of `babel` and adapt settings.
    copcopticdegermanzde-1901ogermandvdivehidsblsorbianz
el-polyton	polygreekfafarsigrcancientgreekkokoreanhsbusorbianzsh-Cyrlserbianzsh-Latncroatiansqalbaniansrththaivi
vietnamesec                 >    i | ]\  }}|                                 |S r*   )lower).0kvs      r   
<dictcomp>zBabel.<dictcomp>^   s&    FFFtq!aggiiFFFr   )
afzde-ATz
de-AT-1901zen-CAzen-GBzen-NZzen-USzfr-CAz
grc-ibycuszsr-Latnc                     || _         || _        |                     |          | _        i | _        d| _        d| _        d| _        d| _        d S )Nz+Language "%s" not supported by Polyglossia.r   )"rP   rP   )	language_codereporterlanguage_namelanguageotherlanguageswarn_msgquote_indexquotesliteral_double_quote)r   rQ   rR   s      r   r   zBabel.__init__o   sT    * **=99 E  %(!!!r   c           	          dd| j         z  g}| j        rO|                    dd                    t	          | j                                                            z             d                    |          S )Nz\usepackage{polyglossia}z\setdefaultlanguage{%s}z\setotherlanguages{%s},
)rT   rU   appendjoinsortedkeys)r   setups     r   __call__zBabel.__call__{   s|    ,+dm;= 	GLL2&)<)A)A)C)C"D"DEEF G G Gyyr   N)r   r    r!   r"   r   r,   language_codescopyr   itemskeyrI   r   rb   r*   r   r   r,   r,   B   sw         ]16688N 
h
 	h
 	i	

 	h
 	j
 	k
 	g
 	n
 	h
 	j
 	i
 	j
 	j
 	i
  	f!
" 	l#
   * GF~/C/C/E/EFFFN ( ( 399;;''
( 
( 
(         r   r,   c                       e Zd ZdZd ZdS )r   z
    Generate code for LaTeX using Unicode fonts (XeLaTex or LuaLaTeX).

    See the docstring of docutils.writers._html_base.HTMLTranslator for
    notes on and examples of safe subclassing.
    c                     d| _         t          j                            | |t                     | j        dk    r| j                            dd            d S d| j        z  | j        d<   d S )NTutf8	_inputencz\XeTeXinputencoding %s )is_xetexr   LaTeXTranslatorr   r,   latex_encodingrequirementspop)r   documents     r   r   zXeLaTeXTranslator.__init__   sp    ((x???&((!!+t44444.H040C/DDk***r   N)r   r    r!   r"   r   r*   r   r   r   r      s2         E E E E Er   r   N)
r"   __docformat__docutilsr   docutils.writersr   r   r,   rl   r   r*   r   r   <module>rt      s     #       $ $ $ $ $ $"2 "2 "2 "2 "2W^ "2 "2 "2J?  ?  ?  ?  ? GM ?  ?  ? DE E E E E/ E E E E Er   