
    ddh                         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	y)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y)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                  |        | j                  j	                  ddi       t
        | _        y )Nfontencoding )r   r   __init__settings_defaultsupdateXeLaTeXTranslatortranslator_class)selfs    A/usr/lib/python3/dist-packages/docutils/writers/xetex/__init__.pyr   zWriter.__init__<   s5    %%%~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JI'$I $N"> 2H11$$14DD..8DFC+,"$457
M2r   r   c                      e Zd ZdZej
                  j                  j                         Zej                  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        ej                         D  ci c]  \  }}|j                         | c}}} Zd!D ]  Zeej                         =  d" Zd# Zy$c c}}} w )%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
vietnamese)
afzde-ATz
de-AT-1901zen-CAzen-GBzen-NZzen-USzfr-CAz
grc-ibycuszsr-Latnc                     || _         || _        | j                  |      | _        i | _        d| _        d| _        d| _        d| _        y )Nz+Language "%s" not supported by Polyglossia.r   )"rJ   rJ   )	language_codereporterlanguage_namelanguageotherlanguageswarn_msgquote_indexquotesliteral_double_quote)r   rK   rL   s      r   r   zBabel.__init__o   sK    * **=9 E  %(!r   c           	          dd| j                   z  g}| j                  rD|j                  ddj                  t	        | j                  j                                     z         dj                  |      S )Nz\usepackage{polyglossia}z\setdefaultlanguage{%s}z\setotherlanguages{%s},
)rN   rO   appendjoinsortedkeys)r   setups     r   __call__zBabel.__call__{   sf    ,+dmm;=LL2&)<)<)A)A)C"DEF Gyyr   N)r   r    r!   r"   r   r,   language_codescopyr   itemslowerkeyr   r\   ).0kvs   000r   r,   r,   B   sO    ]]11668N 
h
 	h
 	i	

 	h
 	j
 	k
 	g
 	n
 	h
 	j
 	i
 	j
 	j
 	i
  	f!
" 	l#
 * 0>/C/C/EFFtq!aggilFN ( 399;'(
( ; Gs    B?r,   c                       e Zd ZdZd Zy)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                  j                  | |t               | j
                  dk(  r| j                  j                  dd        y d| j
                  z  | j                  d<   y )NTutf8	_inputencz\XeTeXinputencoding %s )is_xetexr   LaTeXTranslatorr   r,   latex_encodingrequirementspop)r   documents     r   r   zXeLaTeXTranslator.__init__   sd    ((x?&(!!+t4.H040C0C/DDk*r   N)r   r    r!   r"   r   r*   r   r   r   r      s    Er   r   N)
r"   __docformat__docutilsr   docutils.writersr   r   r,   rj   r   r*   r   r   <module>rr      sM    #  $"2W^^ "2J? GMM ? DE// Er   