Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1360

[PATCH] List label and bodyindentation incorrect in RTF

Details

    • Bug
    • Status: Open
    • Resolution: Unresolved
    • 0.93
    • None
    • renderer/rtf
    • Operating System: Windows XP
      Platform: PC
    • 42374

    Description

      I'm using FOP 0.93 to convert FO to RTF. The FO has a numbered list inside a
      table cell as below. The list item label and body in the generated RTF are not
      indented correctly according to the "start-indent" settings in the FO. It
      looks like the first indent is hard coded with a value 360 and the FO "start-
      indent" setting is being ignored in RtfListItem.java.

      <fo:table end-indent="-5.4pt" start-indent="-5.4pt" table-layout="fixed">
      <fo:table-column column-width="95.4pt"/>
      <fo:table-column column-width="369pt"/>
      <fo:table-body end-indent="0pt" start-indent="0pt">
      <fo:table-row>
      <fo:table-cell padding-left="5.4pt" padding-right="5.4pt">
      <fo:block line-height="13.7pt" orphans="1" widows="1">
      <fo:leader line-height="13.7pt"/>
      </fo:block>
      </fo:table-cell>
      <fo:table-cell padding-left="5.4pt" padding-right="5.4pt">
      <fo:list-block>
      <fo:list-item orphans="1" widows="1">
      <fo:list-item-label end-indent="0pt" start-indent="14.2pt">
      <fo:block line-height="13.7pt" text-align="start" text-indent="0pt">
      <fo:inline font-family="Arial, sans-serif" font-size="12pt">
      i.</fo:inline>
      </fo:block>
      </fo:list-item-label>
      <fo:list-item-body end-indent="0pt" start-indent="45.35pt">
      <fo:block line-height="13.7pt" text-align="start" text-indent="0pt">
      <fo:inline font-family="Arial, sans-serif" font-size="12pt">
      List item 1</fo:inline>
      </fo:block>
      </fo:list-item-body>
      </fo:list-item>
      <fo:list-item orphans="1" widows="1">
      <fo:list-item-label end-indent="0pt" start-indent="14.2pt">
      <fo:block line-height="13.7pt" text-align="start" text-indent="0pt">
      <fo:inline font-family="Arial, sans-serif" font-size="12pt">
      ii.</fo:inline>
      </fo:block>
      </fo:list-item-label>
      <fo:list-item-body end-indent="0pt" start-indent="45.35pt">
      <fo:block line-height="13.7pt" text-align="start" text-indent="0pt">
      <fo:inline font-family="Arial, sans-serif" font-size="12pt">
      List item 2</fo:inline>
      </fo:block>
      </fo:list-item-body>
      </fo:list-item>
      <fo:list-item orphans="1" widows="1">
      <fo:list-item-label end-indent="0pt" start-indent="14.2pt">
      <fo:block line-height="13.7pt" text-align="start" text-indent="0pt">
      <fo:inline font-family="Arial, sans-serif" font-size="12pt">
      iii.</fo:inline>
      </fo:block>
      </fo:list-item-label>
      <fo:list-item-body end-indent="0pt" start-indent="45.35pt">
      <fo:block line-height="13.7pt" text-align="start" text-indent="0pt">
      <fo:inline font-family="Arial, sans-serif" font-size="12pt">
      List item 3</fo:inline>
      </fo:block>
      </fo:list-item-body>
      </fo:list-item>
      </fo:list-block>
      <fo:block line-height="13.7pt" orphans="1" widows="1">
      <fo:leader line-height="13.7pt"/>
      </fo:block>
      <fo:block line-height="13.7pt" orphans="1" widows="1">
      <fo:leader line-height="13.7pt"/>
      </fo:block>
      </fo:table-cell>
      </fo:table-row>
      </fo:table-body>
      </fo:table>

      Attachments

        1. 42374.fo
          3 kB
          Max Aster
        2. bug42374fixed.rtf
          4 kB
          Chris Bowditch
        3. List_Indentation.fo
          11 kB
          Max Aster
        4. List_Indentation.txt
          8 kB
          Max Aster
        5. Result.rtf
          3 kB
          Max Aster

        Activity

          maximilian.aster@boc-eu.com Max Aster added a comment -

          Changed several things, also in RtfListItem.java.
          The attribute "provisional-distance-between-starts" should now also be handled correctly.

          maximilian.aster@boc-eu.com Max Aster added a comment - Changed several things, also in RtfListItem.java. The attribute "provisional-distance-between-starts" should now also be handled correctly.
          maximilian.aster@boc-eu.com Max Aster added a comment -

          Attachment List_Indentation.txt has been added with description: Patch proposal

          maximilian.aster@boc-eu.com Max Aster added a comment - Attachment List_Indentation.txt has been added with description: Patch proposal
          maximilian.aster@boc-eu.com Max Aster added a comment -

          Attachment Result.rtf has been added with description: Result of the posted fo

          maximilian.aster@boc-eu.com Max Aster added a comment - Attachment Result.rtf has been added with description: Result of the posted fo
          maximilian.aster@boc-eu.com Max Aster added a comment -

          Attachment List_Indentation.fo has been added with description: Another small test fo

          maximilian.aster@boc-eu.com Max Aster added a comment - Attachment List_Indentation.fo has been added with description: Another small test fo
          cbowditch Chris Bowditch added a comment -

          Thanks for the patch, I'm processing it ATM. So far I found that you've made some minor mistakes in following code guidelines. Specifically { brace should appear on same line as IF test and whitespace hasn't been used inbetween operators in the IF test.

          cbowditch Chris Bowditch added a comment - Thanks for the patch, I'm processing it ATM. So far I found that you've made some minor mistakes in following code guidelines. Specifically { brace should appear on same line as IF test and whitespace hasn't been used inbetween operators in the IF test.
          cbowditch Chris Bowditch added a comment -

          Are you sure that the patch is correct? After I apply the patch and correct the minor checkstyle issues, the RTF generated is very different from the one you attached. Specifically I don't see the list labels at all when viewing the RTF in Word.

          cbowditch Chris Bowditch added a comment - Are you sure that the patch is correct? After I apply the patch and correct the minor checkstyle issues, the RTF generated is very different from the one you attached. Specifically I don't see the list labels at all when viewing the RTF in Word.
          cbowditch Chris Bowditch added a comment -

          Attachment bug42374fixed.rtf has been added with description: RTF after patch applied

          cbowditch Chris Bowditch added a comment - Attachment bug42374fixed.rtf has been added with description: RTF after patch applied
          maximilian.aster@boc-eu.com Max Aster added a comment -

          Sorry for the guideline mistakes.
          To be generated correctly i had to remove the newlines between the fo:block, fo:inline and the text inside the list-item-label.

          maximilian.aster@boc-eu.com Max Aster added a comment - Sorry for the guideline mistakes. To be generated correctly i had to remove the newlines between the fo:block, fo:inline and the text inside the list-item-label.
          maximilian.aster@boc-eu.com Max Aster added a comment -

          Attachment 42374.fo has been added with description: Fo file

          maximilian.aster@boc-eu.com Max Aster added a comment - Attachment 42374.fo has been added with description: Fo file
          cbowditch Chris Bowditch added a comment -

          Thanks for sending the FO. I thought I'd corrected the whitespace but I guess I must have missed something.

          The first test file then Renders as expected, but the second test file gave me some odd results in the PDF Renderer, which I was comparing to the RTF Result. I raised FOP-1603 against List Indentations in PDF.

          However, I don't think the RTF Renderer behaves correctly as per the specification with your patch applied. Certainly the patch is an improvement to the existing code, but it seems to compute the indents incorrectly, e.g. for example the start-body() function should be based on the indent of the list-block + provisional-distance-between-starts and not take into account the start-indent on list-item.

          cbowditch Chris Bowditch added a comment - Thanks for sending the FO. I thought I'd corrected the whitespace but I guess I must have missed something. The first test file then Renders as expected, but the second test file gave me some odd results in the PDF Renderer, which I was comparing to the RTF Result. I raised FOP-1603 against List Indentations in PDF. However, I don't think the RTF Renderer behaves correctly as per the specification with your patch applied. Certainly the patch is an improvement to the existing code, but it seems to compute the indents incorrectly, e.g. for example the start-body() function should be based on the indent of the list-block + provisional-distance-between-starts and not take into account the start-indent on list-item.
          gadams Glenn Adams added a comment -

          resetting P2 open bugs to P3 pending further review

          gadams Glenn Adams added a comment - resetting P2 open bugs to P3 pending further review
          gadams Glenn Adams added a comment -

          increase priority for bugs with a patch

          gadams Glenn Adams added a comment - increase priority for bugs with a patch
          gadams Glenn Adams added a comment -

          change status from ASSIGNED to NEW for consistency

          gadams Glenn Adams added a comment - change status from ASSIGNED to NEW for consistency

          People

            Unassigned Unassigned
            dlai333@hotmail.com David Lai
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: