Re: [xep-support] footnotes: reversed text and placement problem

From: Alexander Peshkov (
Date: Tue Oct 19 2004 - 09:34:12 PDT

  • Next message: Chris Cosentino: "[xep-support] Text compressed in table cells"

    Hello Susan,

    You've hit a known problem. This strange effect actually manifests
    strict compliance of XEP with XSL-FO specification :-)
    According to XSL-FO specification all indents are inheritable and
    should be inherited inside footnotes as well. In your case I suppose
    that fo:block that surrounds your footnote has a text-indent and this
    indent is inherited by the footnote. As a result the starting point of
    the text in the list label is pushed to the right of text ending point
    and the text became "reversed". The solution is to explicitly specify
    zero text-indent on the fo:footnote element.

    Best regards,
    Alexander Peshkov

    Cyc> Hello,
    Cyc> Still testing the XEP 3.8.4 trial version and have another problem. I
    Cyc> can do this transformation with Saxon/FOP, and it works fine. But when
    Cyc> I do it with XEP, I can't get the footnotes to line up even with the
    Cyc> left page margin--instead they are indented on the left. Also, in my
    Cyc> template I used "space-before="10pt" on <fo:list-item> in order to add
    Cyc> a separating space when multiple footnotes appear on one page. That
    Cyc> works fine in FOP, but when I use it in XEP I get the space between
    Cyc> footnotes, but then the text in list-item-label is reversed--that is,
    Cyc> footnote number 23. comes out as .32 or number 1. comes out as .1,
    Cyc> backward.

    Cyc> In my XML, the footnotes are inline, like this:

    Cyc> <p>Text here<note type='e'>a footnote here</note> and more text
    Cyc> here.</p>

    Cyc> The template I'm using looks like this:

    Cyc> <xsl:template match="note[@type='e']">
    Cyc> <fo:footnote>
    Cyc> <fo:inline baseline-shift="super" font-size="8pt">
    Cyc> <xsl:apply-templates select="(.)" mode="enumber"/>
    Cyc> <xsl:if test="following::node()[1][self::note]">
    Cyc> <fo:inline color="black" baseline-shift="super"
    Cyc> <xsl:text>/</xsl:text>
    Cyc> </fo:inline>
    Cyc> </xsl:if>
    Cyc> </fo:inline>
    Cyc> <fo:footnote-body>
    Cyc> <fo:list-block start-indent="0in">
    Cyc> <fo:list-item space-before="10pt">
    Cyc> <fo:list-item-label end-indent="label-end()">
    Cyc> <fo:block font-size="10pt" line-height="1em">
    Cyc> <xsl:apply-templates select="(.)"
    Cyc> <xsl:text>.</xsl:text>
    Cyc> </fo:block>
    Cyc> </fo:list-item-label>
    Cyc> <fo:list-item-body start-indent="2em">
    Cyc> <fo:block font-size="10pt" line-height="1em">
    Cyc> <xsl:apply-templates/>
    Cyc> </fo:block>
    Cyc> </fo:list-item-body>
    Cyc> </fo:list-item>
    Cyc> </fo:list-block>
    Cyc> </fo:footnote-body>
    Cyc> </fo:footnote>
    Cyc> </xsl:template>

    Cyc> In case it matters, other templates related to foonote numbering and
    Cyc> formatting are these:

    Cyc> <xsl:template match="note[@type='e']" mode="enumber">
    Cyc> <xsl:number level="any" count="note[@type='e']"
    Cyc> from="div[@type='section']"/>
    Cyc> </xsl:template>

    Cyc> <xsl:template match="note[@type='e']/p">
    Cyc> <fo:block font-size="10pt" line-height="1em">
    Cyc> <xsl:apply-templates/>
    Cyc> </fo:block>
    Cyc> </xsl:template>

    Cyc> I think I've tried everything, and I can't figure out why this works
    Cyc> fine in FOP but not in XEP. I found this in the xep-support archives:

    Cyc> "reversely printed labels (as well as any other text not due to
    Cyc> writing-mode) are usually caused by too narrow blocks causing negative
    Cyc> character-spacing. In the particular case described that was a bug in
    Cyc> the code. The bug is fixed and the fix will be published as a part of a
    Cyc> bugfix release soon."

    Cyc> If my problem is too narrow blocks, I don't know how to adjust that.
    Cyc> I've tried using various properties and combinations, but nothing
    Cyc> works. Now I'm totally confused. Any help will be greatly appreciated.

    Cyc> Thanks,
    Cyc> Susan

    Cyc> _______________________________
    Cyc> Do you Yahoo!?
    Cyc> Declare Yourself - Register online to vote today!
    Cyc> -------------------
    Cyc> (*) To unsubscribe, send a message with words 'unsubscribe xep-support'
    Cyc> in the body of the message to from the address
    Cyc> you are subscribed from.
    Cyc> (*) By using the Service, you expressly agree to these Terms of Service

    (*) To unsubscribe, send a message with words 'unsubscribe xep-support'
    in the body of the message to from the address
    you are subscribed from.
    (*) By using the Service, you expressly agree to these Terms of Service

    This archive was generated by hypermail 2.1.5 : Tue Oct 19 2004 - 09:53:08 PDT