Blame xsl/lang.xsl

Packit Service 76cb02
Packit Service 76cb02
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
    XSLT Stylesheet DocBook -> LaTeX 
Packit Service 76cb02
    ############################################################################ -->
Packit Service 76cb02
Packit Service 76cb02
<xsl:param name="body.font.family">DejaVu Serif</xsl:param>
Packit Service 76cb02
<xsl:param name="sans.font.family">DejaVu Sans</xsl:param>
Packit Service 76cb02
<xsl:param name="monospace.font.family">DejaVu Sans Mono</xsl:param>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:param name="latex.encoding">latin1</xsl:param>
Packit Service 76cb02
<xsl:param name="latex.engine.options"/>
Packit Service 76cb02
<xsl:param name="korean.package">CJK</xsl:param>
Packit Service 76cb02
<xsl:param name="cjk.font">cyberbit</xsl:param>
Packit Service 76cb02
<xsl:param name="xetex.font">
Packit Service 76cb02
  <xsl:value-of select="concat('\setmainfont{',$body.font.family,'}
')"/>
Packit Service 76cb02
  <xsl:value-of select="concat('\setsansfont{',$sans.font.family,'}
')"/>
Packit Service 76cb02
  
Packit Service 76cb02
       select="concat('\setmonofont{',$monospace.font.family,'}
')"/>
Packit Service 76cb02
</xsl:param>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="babel.setup">
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$latex.babel.use='1'">
Packit Service 76cb02
    <xsl:variable name="babel">
Packit Service 76cb02
      <xsl:call-template name="babel.language">
Packit Service 76cb02
        <xsl:with-param name="lang">
Packit Service 76cb02
          <xsl:call-template name="l10n.language">
Packit Service 76cb02
            <xsl:with-param name="target" select="(/set|/book|/article)[1]"/>
Packit Service 76cb02
            <xsl:with-param name="xref-context" select="true()"/>
Packit Service 76cb02
          </xsl:call-template>
Packit Service 76cb02
        </xsl:with-param>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
    <xsl:if test="$babel!=''">
Packit Service 76cb02
      <xsl:text>\usepackage[</xsl:text>
Packit Service 76cb02
      <xsl:value-of select="$babel"/>
Packit Service 76cb02
      <xsl:text>]{babel}
</xsl:text>
Packit Service 76cb02
      <xsl:text>\usepackage{cmap}
</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="lang.setup">
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="lang">
Packit Service 76cb02
    <xsl:call-template name="l10n.language">
Packit Service 76cb02
      <xsl:with-param name="target" select="(/set|/book|/article)[1]"/>
Packit Service 76cb02
      <xsl:with-param name="xref-context" select="true()"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$lang!='' and $lang!='en'">
Packit Service 76cb02
    <xsl:text>\setuplocale{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="substring($lang, 1, 2)"/>
Packit Service 76cb02
    <xsl:text>}
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:if test="$latex.babel.use='1'">
Packit Service 76cb02
    <xsl:variable name="babel">
Packit Service 76cb02
      <xsl:call-template name="babel.language">
Packit Service 76cb02
        <xsl:with-param name="lang" select="$lang"/>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
    </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
    <xsl:if test="$babel!=''">
Packit Service 76cb02
      <xsl:text>\setupbabel{</xsl:text>
Packit Service 76cb02
      <xsl:value-of select="$lang"/>
Packit Service 76cb02
      <xsl:text>}
</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="babel.language">
Packit Service 76cb02
  <xsl:param name="lang" select="'en'"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="$latex.babel.language!=''">
Packit Service 76cb02
      <xsl:value-of select="$latex.babel.language"/>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'af')">afrikaans</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'br')">breton</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'ca')">catalan</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'cs')">czech</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'cy')">welsh</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'da')">danish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'de')">ngerman</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'el')">greek</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'en')">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="starts-with($lang,'en-CA')">canadian</xsl:when>
Packit Service 76cb02
        <xsl:when test="starts-with($lang,'en-GB')">british</xsl:when>
Packit Service 76cb02
        <xsl:when test="starts-with($lang,'en-US')">USenglish</xsl:when>
Packit Service 76cb02
        <xsl:otherwise></xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'eo')">esperanto</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'es')">spanish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'et')">estonian</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'fi')">finnish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'fr')">french</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'ga')">irish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'gd')">scottish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'gl')">galician</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'he')">hebrew</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'hr')">croatian</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'hu')">hungarian</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'id')">bahasa</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'it')">italian</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'nb')">norsk</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'nl')">dutch</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'nn')">norsk</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'pl')">polish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'pt')">
Packit Service 76cb02
      <xsl:choose>
Packit Service 76cb02
        <xsl:when test="starts-with($lang,'pt_br')">brazil</xsl:when>
Packit Service 76cb02
        <xsl:otherwise>portuges</xsl:otherwise>
Packit Service 76cb02
      </xsl:choose>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'ro')">romanian</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'ru')">russian</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'sk')">slovak</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'sl')">slovene</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'sv')">swedish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'tr')">turkish</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'uk')">ukrainian</xsl:when>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="lang.document.begin">
Packit Service 76cb02
  <xsl:param name="lang"/>
Packit Service 76cb02
  
Packit Service 76cb02
                starts-with($lang,'ja') or
Packit Service 76cb02
                (starts-with($lang,'ko') and $korean.package='CJK')">
Packit Service 76cb02
    <xsl:text>\begin{CJK}{UTF8}{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$cjk.font"/>
Packit Service 76cb02
    <xsl:text>}
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="lang.document.end">
Packit Service 76cb02
  <xsl:param name="lang"/>
Packit Service 76cb02
  
Packit Service 76cb02
                starts-with($lang,'ja') or
Packit Service 76cb02
                (starts-with($lang,'ko') and $korean.package='CJK')">
Packit Service 76cb02
    <xsl:text>\clearpage
</xsl:text>
Packit Service 76cb02
    <xsl:text>\end{CJK}
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     # Encodings #
Packit Service 76cb02
     ############# -->
Packit Service 76cb02
Packit Service 76cb02
     to use -->
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="lang-in-unicode">
Packit Service 76cb02
  <xsl:param name="lang"/>
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'zh')">1</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'ko')">1</xsl:when>
Packit Service 76cb02
    <xsl:when test="starts-with($lang,'ja')">1</xsl:when>
Packit Service 76cb02
    <xsl:otherwise>0</xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="py.params.set">
Packit Service 76cb02
  <xsl:variable name="lang">
Packit Service 76cb02
    <xsl:call-template name="l10n.language">
Packit Service 76cb02
      <xsl:with-param name="target" select="(/set|/book|/article)[1]"/>
Packit Service 76cb02
      <xsl:with-param name="xref-context" select="true()"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="use-unicode">
Packit Service 76cb02
    <xsl:call-template name="lang-in-unicode">
Packit Service 76cb02
      <xsl:with-param name="lang" select="$lang"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:text>%%<params>
</xsl:text>
Packit Service 76cb02
  <xsl:text>%% document.language </xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$lang"/>
Packit Service 76cb02
  <xsl:text>
</xsl:text>
Packit Service 76cb02
  <xsl:if test="$use-unicode='1' or $latex.encoding='utf8'">
Packit Service 76cb02
    <xsl:text>%% latex.encoding utf8
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:if test="$latex.engine.options != ''">
Packit Service 76cb02
    <xsl:text>%% latex.engine.options </xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$latex.engine.options"/>
Packit Service 76cb02
    <xsl:text>
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:if test="$latex.index.tool != ''">
Packit Service 76cb02
    <xsl:text>%% latex.index.tool </xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$latex.index.tool"/>
Packit Service 76cb02
    <xsl:text>
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:if test="$latex.index.language != ''">
Packit Service 76cb02
    <xsl:text>%% latex.index.language </xsl:text>
Packit Service 76cb02
    <xsl:value-of select="$latex.index.language"/>
Packit Service 76cb02
    <xsl:text>
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:text>%%</params>
</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="encode.before.style">
Packit Service 76cb02
  <xsl:param name="lang"/>
Packit Service 76cb02
  <xsl:variable name="use-unicode">
Packit Service 76cb02
    <xsl:call-template name="lang-in-unicode">
Packit Service 76cb02
      <xsl:with-param name="lang" select="$lang"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:text>\IfFileExists{ifxetex.sty}{%
Packit Service 76cb02
    \usepackage{ifxetex}%
Packit Service 76cb02
  }{%
Packit Service 76cb02
    \newif\ifxetex
Packit Service 76cb02
    \xetexfalse
Packit Service 76cb02
  }
Packit Service 76cb02
  </xsl:text>
Packit Service 76cb02
  <xsl:text>\ifxetex
</xsl:text>
Packit Service 76cb02
  <xsl:text>\usepackage{fontspec}
</xsl:text>
Packit Service 76cb02
  <xsl:text>\usepackage{xltxtra}
</xsl:text>
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:text>\defaultfontfeatures{Mapping=tex-text}
</xsl:text>
Packit Service 76cb02
  <xsl:value-of select="$xetex.font"/>
Packit Service 76cb02
  <xsl:text>\else
</xsl:text>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="$use-unicode='1'">
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:text>\usepackage{ucs}
</xsl:text>
Packit Service 76cb02
    <xsl:text>\def\hyperparamadd{unicode=true}
</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:when test="$latex.encoding='latin1'">
Packit Service 76cb02
    <xsl:text>\usepackage[T1]{fontenc}
</xsl:text>
Packit Service 76cb02
    <xsl:text>\usepackage[latin1]{inputenc}
</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:when test="$latex.encoding='utf8'">
Packit Service 76cb02
    <xsl:text>\usepackage[T2A,T2D,T1]{fontenc}
</xsl:text>
Packit Service 76cb02
    <xsl:text>\usepackage{ucs}
</xsl:text>
Packit Service 76cb02
    <xsl:text>\usepackage[utf8x]{inputenc}
</xsl:text>
Packit Service 76cb02
    <xsl:text>\def\hyperparamadd{unicode=true}
</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:text>\fi
</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="encode.after.style">
Packit Service 76cb02
  <xsl:param name="lang"/>
Packit Service 76cb02
  <xsl:variable name="use-unicode">
Packit Service 76cb02
    <xsl:call-template name="lang-in-unicode">
Packit Service 76cb02
      <xsl:with-param name="lang" select="$lang"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="$use-unicode='1' or $latex.encoding='utf8'">
Packit Service 76cb02
    <xsl:text>\lstset{inputencoding=utf8x, extendedchars=true}
</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:when test="$latex.encoding='latin1' and $latex.unicode.use!='0'">
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:text>\usepackage{unicode}
</xsl:text>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template name="font.setup">
Packit Service 76cb02
  <xsl:param name="lang"/>
Packit Service 76cb02
  <xsl:call-template name="encode.before.style">
Packit Service 76cb02
    <xsl:with-param name="lang" select="$lang"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
  <xsl:call-template name="encode.after.style">
Packit Service 76cb02
    <xsl:with-param name="lang" select="$lang"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
</xsl:stylesheet>