OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: <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, '&#x2192;')">

<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



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]