xfc_pro_java fo2docx and fo2odt render list-item with leading minus sign incorrectly
David Clunie <[email protected]> Thu, 09 Jul 2015 12:12:44 -0400
| Newsgroups | gmane.text.xml.xfc.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Hussein
I came across an issue where a '-1' in a DocBook <variablelist/>
<varlistentry/> <term/> that is rendered in the FO as a
<fo:list-block/> <fo:list-item/> <fo:block/> <fo:inline/> text
value is being rendered in the DOCX or ODT as '2', not '-1'.
The Word output looks like:
Enumerated Values:
1 Lower pixel values correspond to less X-Ray beam intensity
2 Higher pixel values correspond to less X-Ray beam intensity
whereas it should be:
Enumerated Values:
1 Lower pixel values correspond to less X-Ray beam intensity
-1 Higher pixel values correspond to less X-Ray beam intensity
and I notice that it is using the Word bullet numbering feature for
these, which is perhaps (incorrectly) automatically detected in this
case.
I have attached an FO object that demonstrates the problem (towards
the end of the file):
<fo:block xmlns:d="http://docbook.org/ns/docbook"
xmlns:rx="http://www.renderx.com/XSL/Extensions"
space-before.optimum="1em" space-before.minimum="0.8em"
space-before.maximum="1.2em"
keep-with-next.within-column="always">Enumerated Values:</fo:block>
<fo:list-block id="idp140441762944656"
provisional-distance-between-starts="2em * 0.60+1em"
provisional-label-separation="1em" space-before.optimum="0.5em"
space-before.minimum="0.4em" space-before.maximum="0.6em"
space-after.optimum="0.5em" space-after.minimum="0.4em"
space-after.maximum="0.6em">
<fo:list-item id="idp140441762961952"
space-before.optimum="0em" space-before.minimum="0em"
space-before.maximum="0.2em">
<fo:list-item-label end-indent="label-end()" text-align="start">
<fo:block hyphenate="false" font-weight="bold">
<fo:inline>1</fo:inline>
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block
id="para_53931309-ab74-4e67-8066-e7b0b19b66d5">Lower pixel values
correspond to less X-Ray beam intensity</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item id="idp140441763193200"
space-before.optimum="0em" space-before.minimum="0em"
space-before.maximum="0.2em">
<fo:list-item-label end-indent="label-end()" text-align="start">
<fo:block hyphenate="false" font-weight="bold">
<fo:inline>-1</fo:inline>
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block
id="para_44931a0f-f13b-4d9a-97ea-fe0e2884cf1a">Higher pixel values
correspond to less X-Ray beam intensity</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
and
I assume this is a consequence of what is described in the documentation
(section 4.2 "XFC automatically tries to infer the numbering style from
the label of the first list item")
If I put a space before the minus sign in the second list item, it renders
as expected (as ' -1'), in case that helps diagnose the problem, but then
that creates an unwanted space in the output.
David
--
XMLmind FO Converter Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xfc-support
testvariablelistsignedentries.zip
(application/x-zip-compressed, 13.2 KB) - not displayed