aboutsummaryrefslogtreecommitdiff
path: root/bn_BD.UTF-8/share/xml/freebsd-fo.xsl
blob: bf908941b2af2cf66cfb8f96d0da5a6d519aa4c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?xml version='1.0'?>

<!-- $FreeBSD$ -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version='1.0'
                xmlns="http://www.w3.org/TR/xhtml1/transitional"
		xmlns:str="http://exslt.org/strings"
		xmlns:fo="http://www.w3.org/1999/XSL/Format"
		xmlns:db="http://docbook.org/ns/docbook"
                exclude-result-prefixes="db"
		extension-element-prefixes="str">
  <!--
	BENGALI-SPECIFIC PARAMETERS
  -->

  <!-- Base fonts -->
  <xsl:param name="body.font.family">Lohit Bengali</xsl:param>
  <xsl:param name="sans.font.family">Lohit Bengali, Andika</xsl:param>
  <xsl:param name="title.font.family">Lohit Bengali</xsl:param>
  <xsl:param name="monospace.font.family">DejaVu Sans Mono</xsl:param>

  <xsl:attribute-set name="intermixed.english.attributes">
    <xsl:attribute name="font-family">Gentium Plus</xsl:attribute>
  </xsl:attribute-set>

  <xsl:template match="*" mode="intermixed.english">
    <xsl:apply-templates select="."/>
  </xsl:template>

  <xsl:template match="text()" mode="intermixed.english">
    <xsl:for-each select="str:split(., ' ')">
      <xsl:choose>
	<xsl:when test="contains('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/(', substring(., 1, 1))">
	  <fo:inline xsl:use-attribute-sets="intermixed.english.attributes">
	    <xsl:value-of select="."/>
	    <xsl:text> </xsl:text>
	  </fo:inline>
	</xsl:when>
	<xsl:otherwise>
	  <xsl:value-of select="."/>
	  <xsl:text> </xsl:text>
	</xsl:otherwise>
      </xsl:choose>
    </xsl:for-each>
  </xsl:template>

<xsl:template match="db:para">
  <xsl:variable name="keep.together">
    <xsl:call-template name="pi.dbfo_keep-together"/>
  </xsl:variable>
  <fo:block xsl:use-attribute-sets="para.properties">
    <xsl:if test="$keep.together != ''">
      <xsl:attribute name="keep-together.within-column"><xsl:value-of
                      select="$keep.together"/></xsl:attribute>
    </xsl:if>
    <xsl:call-template name="anchor"/>
    <xsl:apply-templates mode="intermixed.english"/>
  </fo:block>
</xsl:template>

<xsl:template match="db:simpara">
  <xsl:variable name="keep.together">
    <xsl:call-template name="pi.dbfo_keep-together"/>
  </xsl:variable>
  <fo:block xsl:use-attribute-sets="normal.para.spacing">
    <xsl:if test="$keep.together != ''">
      <xsl:attribute name="keep-together.within-column"><xsl:value-of
                      select="$keep.together"/></xsl:attribute>
    </xsl:if>
    <xsl:call-template name="anchor"/>
    <xsl:apply-templates mode="intermixed.english"/>
  </fo:block>
</xsl:template>

</xsl:stylesheet>