I've got a book that I need to output to 2 different page formats, a larger 
size (7.5x9) for online viewing and a smaller size (4.125x6) for print, so I've 
got a separate stylesheet for each book even though both books contain the same 
XML content.

For the printed book, I'd like to keep the page count under 300 pages. 
Consequently, I've decided to reduce the fonts of two chapters of the book 
(which contain specifications, regulatory info, etc.). I did this by adding a 
custom attribute called "reducefont" to many elements, and then I process those 
elements whose reducefont attribute is set to "yes", thus reducing the font 
size by 60%:

<xsl:template match="d:para">
  <fo:block xsl:use-attribute-sets="normal.para.spacing">
    <xsl:if test="@reducefont and (@reducefont = 'yes')">
      <xsl:attribute name="font-size">
        <xsl:value-of select="$body.font.master * .6"/>
        <xsl:text>pt</xsl:text>
      </xsl:attribute>
    </xsl:if>
    <xsl:call-template name="anchor"/>
    <xsl:apply-templates/>
  </fo:block>
</xsl:template>

This works, but it seems like a hack. Is there a simpler way to resize the 
fonts in these two chapters?

Regards,
Jeff Powanda
Vocera Communications, Inc.

Reply via email to