]> pere.pagekite.me Git - text-free-culture-lessig.git/blobdiff - data/xetex_param.xsl
Add several font setups + group the index font in the setup + add french template.
[text-free-culture-lessig.git] / data / xetex_param.xsl
index 04ea199ebe1370d892d2151318919151322a03ad..83110418a40b56ccd83c2c9d852f2f39b1c60131 100644 (file)
 <?xml version='1.0'?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
-<!-- vim: set sts=2 ai expandtab: -->
 
-<!--############################################################################
-    XSLT Stylesheet DocBook -> LaTeX 
-    ############################################################################ -->
+<xsl:param name="book.font" select="'crimson'"/>
 
-  <xsl:param name="xetex.font">
-    <!-- Western centric Adobe PostScript looks-alike: gsfonts -->
-    <xsl:text>\setmainfont{Nimbus Roman No9 L}&#10;</xsl:text>
-    <xsl:text>\setsansfont{Nimbus Sans L}&#10;</xsl:text>
-    <xsl:text>\setmonofont{Nimbus Mono L}&#10;</xsl:text>
-    <xsl:text>\usepackage{xeCJK}&#10;</xsl:text>
-    <xsl:choose>
-      <xsl:when test="$lingua = 'zh-cn'">
-       <!-- zh_CN centric: ttf-arphic-gbsn00lp, ttf-wqy-zenhei -->
-        <xsl:text>\setCJKmainfont{AR PL SungtiL GB}&#10;</xsl:text>
-        <xsl:text>\setCJKsansfont{WenQuanYi Zen Hei}&#10;</xsl:text>
-        <xsl:text>\setCJKmonofont{WenQuanYi Zen Hei Mono}&#10;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$lingua = 'zh-tw'">
-        <!-- zh_TW centric: ttf-arphic-bsmi00lp, ttf-wqy-zenhei -->
-        <xsl:text>\setCJKmainfont{AR PL Mingti2L Big5}&#10;</xsl:text>
-        <xsl:text>\setCJKsansfont{WenQuanYi Zen Hei}&#10;</xsl:text>
-        <xsl:text>\setCJKmonofont{WenQuanYi Zen Hei Mono}&#10;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$lingua = 'ja'">
-        <!-- ja centric: otf-ipafont-mincho otf-ipafont-gothic -->
-        <xsl:text>\setCJKmainfont{IPAMincho}&#10;</xsl:text>
-        <xsl:text>\setCJKsansfont{IPAPGothic}&#10;</xsl:text>
-        <xsl:text>\setCJKmonofont{IPAGothic}&#10;</xsl:text>
-      </xsl:when>
-      <xsl:when test="$lingua = 'ko'">
-        <!-- ko centric: ttf-unfonts-core -->
-        <xsl:text>\setCJKmainfont{UnBatang}&#10;</xsl:text>
-        <xsl:text>\setCJKsansfont{UnDotum}&#10;</xsl:text>
-        <xsl:text>\setCJKmonofont{UnDotum}&#10;</xsl:text>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:param>
+<xsl:param name="xetex.font.crimson">
+  <xsl:text>\setmainfont{Crimson Text}&#10;</xsl:text>
+  <xsl:text>\setsansfont{Crimson Text}&#10;</xsl:text>
+  <xsl:text>\setmonofont{Latin Modern Mono}&#10;</xsl:text>
 
-</xsl:stylesheet>
+  <!-- Force <emphasis role='strong'> to be bold, not semibold -->
+  <xsl:text>\setmainfont[BoldFont={CrimsonText-Bold}]{Crimson Text}&#10;</xsl:text>
+
+  <!-- Use a font that has smallcaps -->
+  <xsl:text>\newfontinstance\scshape[Letters=SmallCaps,Scale=1.15]{Crimson}&#10;</xsl:text>
+
+  <!-- Use a smaller font except for the letter heading which is bold -->
+  <xsl:text>\newfontfamily\indexfont[Scale=0.7,
+                           BoldFeatures={Scale=1}]{Crimson Text}&#10;</xsl:text>
+</xsl:param>
+
+<xsl:param name="xetex.font.alegreya">
+  <xsl:text>\setmainfont[SmallCapsFont={Alegreya SC}]{Alegreya}&#10;</xsl:text>
+  <xsl:text>\setsansfont{Alegreya Sans}&#10;</xsl:text>
+  <xsl:text>\setmonofont{DejaVu Sans Mono}&#10;</xsl:text>
 
-<!--
-= Asian font basics =
+  <!-- Use a smaller font except for the letter heading which is bold -->
+  <xsl:text>\newfontfamily\indexfont[Scale=0.7,
+                           BoldFeatures={Scale=1}]{Alegreya}&#10;</xsl:text>
+</xsl:param>
 
-== Sanserif ==
-  simplified Chinese: 黑体 hēi tǐ
-    ttf-wqy-zenhei (zh_CN centric)
-      WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑
-      WenQuanYi Zen Hei Sharp,文泉驛點陣正黑,文泉驿点阵正黑
-      WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑
-  traditional Chinese: 黑體 hēi tǐ 
-  Japanese: ゴシック kaku goshikku, gothic
-    otf-ipafont-gothic (ja centric)
-      IPAGothic,IPAゴシック
-      IPAPGothic,IPA Pゴシック
+<xsl:param name="xetex.font.gandhi">
+  <xsl:text>\setmainfont[SmallCapsFont={Alegreya SC}]{Gandhi Serif}&#10;</xsl:text>
+  <xsl:text>\setsansfont{Gandhi Sans}&#10;</xsl:text>
+  <xsl:text>\setmonofont{DejaVu Sans Mono}&#10;</xsl:text>
 
-== Serif ==
-中国大陆一般称:宋体;台湾香港一般称:明體
-  simplified Chinese: 宋体/(明体), Sòngtǐ
-    ttf-arphic-gbsn00lp (zh_CN centric)
-      AR PL SungtiL GB
-  traditional Chinese: (宋體)/明體, Sòngtǐ
-    ttf-arphic-bsmi00lp (zh_TW centric)
-      AR PL Mingti2L Big5
-      (Missing some character in output...)
-    ttf-arphic-uming    (zh_TW centric)
-      AR PL UMing
-       = "AR PL Mingti2L Big5" and "AR PL SungtiL GB" + extra in Taiwan-style
-       (BUild failure happened thus not used)
-  Japanese: 明朝体, Minchōtai
-    otf-ipafont-mincho (ja centric)
-      IPAMincho,IPA明朝:style=Regular
-      IPAPMincho,IPA P明朝:style=Regular
-  Korean: Hangul: 명조체; Hanja: 明朝體; Revised Romanization: Myeongjoche
+  <!-- Use a smaller font except for the letter heading which is bold -->
+  <xsl:text>\newfontfamily\indexfont[Scale=0.7,
+                           BoldFeatures={Scale=1}]{Gandhi Serif}&#10;</xsl:text>
+</xsl:param>
 
-== Script () ==
-  simplified Chinese: 楷书; kǎishū
-    ttf-arphic-gkai00mp (zh_CN centric)
-      AR PL KaitiM GB
-  traditional Chinese: 楷書; kǎishū
-    ttf-arphic-bkai00mp (zh_TW centric)
-      AR PL KaitiM Big5
-    ttf-arphic-ukai     (zh_TW centric)
-      AR PL UKai
-       = AR PL KaitiM Big5" + "AR PL KaitiM GB" + extra in Taiwan-style
-  Japanese: 楷書, kaisho (教科書体)
+<xsl:param name="xetex.font">
+  <xsl:choose>
+  <xsl:when test="$book.font = 'crimson'">
+    <xsl:value-of select="$xetex.font.crimson"/>
+  </xsl:when>
+  <xsl:when test="$book.font = 'gandhi'">
+    <xsl:value-of select="$xetex.font.gandhi"/>
+  </xsl:when>
+  <xsl:when test="$book.font = 'alegreya'">
+    <xsl:value-of select="$xetex.font.alegreya"/>
+  </xsl:when>
+  <xsl:otherwise>
+    <!-- Fallback to the default Crimson font -->
+    <xsl:value-of select="$xetex.font.crimson"/>
+  </xsl:otherwise>
+  </xsl:choose>
+</xsl:param>
 
-Korean:
-ttf-baekmuk 1st most popular    which contains 4 font families.
-                                latex-cjk-xcjk suggest this
-      /usr/share/fonts/truetype/baekmuk/dotum.ttf
-      /usr/share/fonts/truetype/baekmuk/hline.ttf
-      /usr/share/fonts/truetype/baekmuk/gulim.ttf
-      /usr/share/fonts/truetype/baekmuk/batang.ttf
-      Baekmuk Batang,백묵 바탕:style=Regular       ... serif
-      Baekmuk Dotum,백묵 돋움:style=Regular        ... san-serif  medium (print?)
-      Baekmuk Gulim,백묵 굴림:style=Regular        ... san-serif  thin   (screen?)
-      Baekmuk Headline,백묵 헤드라인:style=Regular ... bold san-serif    (best screen small)
-ttf-unfonts-core    2nd popular and increasing
-                    made from the HLaTeX's PostScript fonts
-                    UnBatang, UnDotum, Ungraphic, Unpilgi, and UnGungseo
-      UnBatang  ... serif
-      UnDotum   ... san-serif
-      UnGungseo ... Kai/kaisho
-                    latex-cjk-xcjk uses UnBatang as example
-ttf-alee    3rd most popular    many fonts by alee
-ttf-nanum                       Myeongjo and Gothic Korean font families/screen font
-ttf-nanum-coding                Korean fixed width font family
 
-encoding names:
-  * GB2312, GBK or GB18030: Simplified Chinese
-  * Big5:                   Traditional Chinese
--->
+<!-- Do it the hard way: put this content in a file loaded by \maketitle -->
+<xsl:template match="colophon">
+  <xsl:variable name="titlepage.verso">
+    <xsl:text>\begin{colophon}&#10;</xsl:text>
+    <xsl:apply-templates/>
+    <xsl:text>\end{colophon}&#10;</xsl:text>
+  </xsl:variable>
+  <xsl:call-template name="write.text.chunk">
+    <!-- The filename must end with 'input.rtex' to be parsed by dblatex -->
+    <xsl:with-param name="filename">
+      <xsl:text>titlepg.input.rtex</xsl:text>
+    </xsl:with-param>
+    <xsl:with-param name="method" select="'text'"/>
+    <xsl:with-param name="content">
+      <xsl:value-of select="$titlepage.verso"/>
+    </xsl:with-param>
+    <xsl:with-param name="encoding" select="$chunker.output.encoding"/>
+  </xsl:call-template>
+</xsl:template>
 
+<!-- French typography requises the surname of the cited authors being in
+     Small Capitals -->
+<xsl:template match="footnote//personname">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="footnote//surname">
+  <xsl:text>\textsc{</xsl:text>
+  <xsl:apply-templates/>
+  <xsl:text>}</xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>