<xsl:template name="publisher.attribution">
<xsl:text> </xsl:text>
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
<xsl:text>⌂IP ""</xsl:text>
<xsl:if test="not($blurb-indent = '')">
<xsl:text> </xsl:text>
<!-- * Editor, then render the corresponding localized gentext -->
<xsl:when test="self::author">
<xsl:text> </xsl:text>
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
<xsl:text>⌂IP ""</xsl:text>
<xsl:if test="not($blurb-indent = '')">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:when test="self::editor">
<xsl:text> </xsl:text>
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
<xsl:text>⌂IP ""</xsl:text>
<xsl:if test="not($blurb-indent = '')">
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="@class and @class != 'other'">
<xsl:text> </xsl:text>
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
<xsl:text>⌂IP ""</xsl:text>
<xsl:if test="not($blurb-indent = '')">
<xsl:text> </xsl:text>
|../othername|../lineage|../honorific
|../affiliation|../email|../address">
<xsl:text> </xsl:text>
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
<xsl:text>⌂IP ""</xsl:text>
<xsl:if test="not($blurb-indent = '')">
<xsl:text> </xsl:text>
<xsl:value-of select="$list-indent"/>
</xsl:if>
<xsl:text> </xsl:text>
- <xsl:text>\h'-</xsl:text>
+ <xsl:text>\h'░</xsl:text>
<xsl:if test="not($list-indent = '')">
<xsl:text>0</xsl:text>
<xsl:value-of select="$list-indent"/>
<xsl:value-of select="$list-indent"/>
</xsl:if>
<xsl:text> </xsl:text>
- <xsl:text>\h'-</xsl:text>
+ <xsl:text>\h'░</xsl:text>
<xsl:if test="not($list-indent = '')">
<xsl:text>0</xsl:text>
<xsl:value-of select="$list-indent"/>
<!-- * .TE = "Table End" -->
<xsl:text>⌂TE </xsl:text>
<xsl:text>⌂\" line length decrease back to previous value </xsl:text>
- <xsl:text>⌂ll -(\n(LLu * 62u / 100u) </xsl:text>
+ <xsl:text>⌂ll ░(\n(LLu * 62u / 100u) </xsl:text>
<!-- * put a blank line of space below the table -->
<xsl:text>⌂sp </xsl:text>
</xsl:template>
<xsl:param name="manual"/>
<xsl:param name="source"/>
<xsl:text>⌂\" Title: </xsl:text>
- <xsl:value-of select="$title"/>
+ <xsl:call-template name="replace.dots.and.dashes">
+ <xsl:with-param name="content" select="$title"/>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<xsl:text>⌂\" Author: </xsl:text>
- <xsl:call-template name="make.roff.metadata.author">
- <xsl:with-param name="info" select="$info"/>
- </xsl:call-template>
+ <xsl:call-template name="replace.dots.and.dashes">
+ <xsl:with-param name="content">
+ <xsl:call-template name="make.roff.metadata.author">
+ <xsl:with-param name="info" select="$info"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<xsl:text>⌂\" Generator: DocBook XSL Stylesheets v</xsl:text>
- <xsl:value-of select="$VERSION"/>
- <xsl:text> <http://docbook.sf.net/></xsl:text>
+ <xsl:call-template name="replace.dots.and.dashes">
+ <xsl:with-param name="content" select="$VERSION"/>
+ </xsl:call-template>
+ <xsl:text> <http://docbook⌂sf⌂net/></xsl:text>
<xsl:text> </xsl:text>
<xsl:text>⌂\" Date: </xsl:text>
- <xsl:call-template name="string.subst">
- <!-- * replace hyphens in date with dots -->
- <xsl:with-param name="string" select="$date"/>
- <xsl:with-param name="target" select="'-'"/>
- <xsl:with-param name="replacement" select="'.'"/>
- </xsl:call-template>
+ <xsl:call-template name="replace.dots.and.dashes">
+ <xsl:with-param name="content" select="$date"/>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<xsl:text>⌂\" Manual: </xsl:text>
- <xsl:value-of select="$manual"/>
+ <xsl:call-template name="replace.dots.and.dashes">
+ <xsl:with-param name="content" select="$manual"/>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<xsl:text>⌂\" Source: </xsl:text>
- <xsl:value-of select="$source"/>
+ <xsl:call-template name="replace.dots.and.dashes">
+ <xsl:with-param name="content" select="$source"/>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<xsl:text>⌂\"</xsl:text>
<xsl:text> </xsl:text>
<!-- * up one line vertically to negate the line of vertical space -->
<!-- * that's added by the .HP macro -->
<xsl:if test="preceding-sibling::*[1][self::synopfragment]">
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
</xsl:if>
<xsl:text>⌂HP </xsl:text>
<!-- * For each Synopfragment, make a hanging paragraph, with the -->
<!-- * (because funcdef is always followed by one open paren char) -->
<xsl:value-of select="string-length (normalize-space ($funcprototype.string.value)) + 1"/>
<xsl:text> </xsl:text>
- <xsl:text>.</xsl:text>
+ <xsl:text>⌂</xsl:text>
<xsl:value-of select="$man.font.funcprototype"/>
<xsl:text> </xsl:text>
<!-- * The following quotation mark (and the one further below) are -->
</xsl:if>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text> </xsl:text>
- <xsl:text>⌂sp -1n </xsl:text>
+ <xsl:text>⌂sp ░1n </xsl:text>
</xsl:if>
<!-- * mark the start of the table -->
<!-- ================================================================== -->
+ <!-- * The replace.dots.and.dashes template is used to cause real -->
+ <!-- * dots and dashes to be output in the top comment (instead of -->
+ <!-- * escaped ones as in the source for the text displayed in the -->
+ <!-- * body of the page) -->
+ <xsl:template name="replace.dots.and.dashes">
+ <xsl:param name="content">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <xsl:variable name="dot-content">
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="$content"/>
+ <xsl:with-param name="target" select="'.'"/>
+ <xsl:with-param name="replacement" select="'⌂'"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="$dot-content"/>
+ <xsl:with-param name="target" select="'-'"/>
+ <xsl:with-param name="replacement" select="'░'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- ================================================================== -->
+
<!-- * The nested-section-title template is called for refsect3, and any -->
<!-- * refsection nested more than 2 levels deep. -->
<xsl:template name="nested-section-title">
<!-- * The next few lines are some arcane roff code to control line -->
<!-- * spacing after headings. -->
<xsl:text>⌂sp </xsl:text>
- <xsl:text>⌂it 1 an-trap </xsl:text>
- <xsl:text>⌂nr an-no-space-flag 1 </xsl:text>
- <xsl:text>⌂nr an-break-flag 1 </xsl:text>
+ <xsl:text>⌂it 1 an░trap </xsl:text>
+ <xsl:text>⌂nr an░no░space░flag 1 </xsl:text>
+ <xsl:text>⌂nr an░break░flag 1 </xsl:text>
<xsl:text>⌂br </xsl:text>
<!-- * make title wrapper so that we can use mode="bold" template to -->
<!-- * apply character formatting to it -->
<!-- * argument for a command across a line, if that argument contains -->
<!-- * a dash/hyphen); so, we must globally change all hyphens to "\-" -->
<substitution oldstring="-" newstring="\-"/>
- <!-- * now, we need to restore single-hypens in all roff requests -->
- <!-- * (because the substitution above added backslashes before them) -->
- <substitution oldstring="\h'\-" newstring="\h'-"/>
- <substitution oldstring=".sp \-" newstring=".sp -"/>
- <substitution oldstring=".it 1 an\-trap" newstring=".it 1 an-trap"/>
- <substitution oldstring=".nr an\-no\-space\-flag 1" newstring=".nr an-no-space-flag 1"/>
- <substitution oldstring=".nr an\-break\-flag 1" newstring=".nr an-break-flag 1"/>
- <substitution oldstring=".ll \-" newstring=".ll -"/>
+ <!-- * restore dashes in all roff requests and comments -->
+ <substitution oldstring="░" newstring="-"/>
<!-- * squeeze multiple newlines before a roff request -->
<substitution oldstring=" ." newstring=" ."/>
<!-- * remove any .sp occurences that directly follow a .PP -->