← Prev in month
← Prev in thread
<menuchoice> FOP quirk
Hi all, and especially Bob (since you introduced the code below),
I am seeing a weird formatting artifact with FOP, where the arrow introduced between the parts of <menuchoice> sequence results in an increase of line height. It is especially visible where that line is a part of list item, as the list marker ends up being near the top of the line rather than in a middle. A screenshot is attached, and another one shows (with thin colored boxes) the height of the elements inside a <menuchoice>)
I traced this to the the following XSL code in fo/inline.xsl:
<xsl:variable name="mm.separator">
<xsl:choose>
<xsl:when test="($fop.extensions != 0 or $fop1.extensions != 0 ) and
contains($menuchoice.menu.separator, '→')">
<fo:inline font-family="Symbol">
<xsl:copy-of select="$menuchoice.menu.separator"/>
</fo:inline>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="$menuchoice.menu.separator"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
If I remove that fo:inline, <menuchoice> is formatted correctly. We don't use Symbol font, and we don't have it in fop.cfg. For that reason, we have $symbol.font.family set to empty value in our customization. Yet, this template bypasses the $symbol.font.family and attempts to use Symbol font directly. It maybe a font issue (having a glyph which exceeds the font size?), but the core issue is why DocBook XSL is attempting to use a font it wasn't configured to use?
I tried to dig the history what this workaround was trying to solve, but the commit message is not very descriptive:
Author: bobstayton
Date: Fri Apr 22 07:27:58 2005 UTC (8 years ago)
Changed paths: 1
Log Message:
Fix menuchoice.menu.separator for FOP.
Can you shed some light as to what issue this code tries to fix? Removing this <xsl:choice> and using $menuchoice.menu.separator seems to work fine for me (using FOP 1.1). If it is kept, is it possible to: add "and $symbol.font.family != ''" to <xsl:when/>, and set font-family to "{$symbol.font.family}"?
Regards,
Alexey.
If removal
Attachment:
snapshot.png
Description: PNG image
Attachment:
snapshot-boxes.png
Description: PNG image
← Prev in month
← Prev in thread