Jeff, I use a simpler method that just uses a font-size attribute. A bit more crude, but it works for me. You could expand this to cover paras in chapters with that attribute. That would make sure that the titles for the chapter still looked like the same as others. The downside of this code is that you have to do it for each para. <!-- Change the font size of the block or para --> <xsl:template match="para[@font-size]"> <fo:block font-size="_{@font-size_ (mailto:{@font-size) }"> <xsl:apply-templates/> </fo:block> </xsl:template> Regards, Dean Nelson In a message dated 6/1/2012 9:39:48 P.M. Pacific Daylight Time, jpowa...@vocera.com writes:
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.