Bug 22048 - PDF renderer and hyphenation break character order
Summary: PDF renderer and hyphenation break character order
Status: CLOSED FIXED
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: page-master/layout (show other bugs)
Version: 0.20.4
Hardware: PC Linux
: P3 major
Target Milestone: ---
Assignee: fop-dev
URL: http://staff.csc.fi/aniemela/fopbug2.pdf
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-01 11:58 UTC by Antti VJ Niemel
Modified: 2012-04-01 06:45 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antti VJ Niemel 2003-08-01 11:58:33 UTC
The PDF renderer/page layout component/hyphenation break character order with
inline elements:
The following construct

<fo:block>
  Otsakerivin vapaamuotoisuuden takia ainoat jarkevasti hyodynnettavat
  arvot ovat kentan nimi ( 
  <fo:inline font-family="monospace">&lt;melting.point&gt;</fo:inline> 
  ) ja DT-numero. 
</fo:block>
Is rendered as
Otsakerivin [....] hyodynnettavat arvot ovat kentan nimi ( mel-
<ting.point> ) ja DT-numero.

Below is a cleaned-up version of Docbook-XSLT-produced FO data, which explains
the block-happiness. URL points to a FOP 0.20.4 rendered PDF which illustrates
the bug.

Full XSL-FO data follows:
<?xml version="1.0" encoding="utf-8" ?> 
  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="serif"
font-size="10pt" text-align="left" line-height="normal"
font-selection-strategy="character-by-character" language="en">
    <fo:layout-master-set>
    <fo:simple-page-master master-name="blank" page-width="210mm"
page-height="297mm" margin-top="0.5in" margin-bottom="0.5in"   
                           margin-left="1in" margin-right="1in">
      <fo:region-body display-align="center" margin-bottom="0.5in"
margin-top="0.5in" region-name="blank-body" /> 
    </fo:simple-page-master>

    <fo:simple-page-master master-name="body-first" page-width="210mm"
page-height="297mm" margin-top="0.5in" 
                           margin-bottom="0.5in" margin-left="1in"
margin-right="1in">
      <fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-count="1" /> 
    </fo:simple-page-master>
    <fo:simple-page-master master-name="body-odd" page-width="210mm"
page-height="297mm" margin-top="0.5in" 
                           margin-bottom="0.5in" margin-left="1in"
margin-right="1in">
      <fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-count="1" /> 
    </fo:simple-page-master>
    <fo:simple-page-master master-name="body-even" page-width="210mm"
page-height="297mm" margin-top="0.5in"
                           margin-bottom="0.5in" margin-right="1in"
margin-left="1in">
      <fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-count="1" /> 
    </fo:simple-page-master>
    <fo:page-sequence-master master-name="body">
      <fo:repeatable-page-master-alternatives>
        <fo:conditional-page-master-reference master-reference="blank"
blank-or-not-blank="blank" /> 
        <fo:conditional-page-master-reference master-reference="body-first"
page-position="first" /> 
        <fo:conditional-page-master-reference master-reference="body-odd"
odd-or-even="odd" /> 
        <fo:conditional-page-master-reference master-reference="body-even"
odd-or-even="even" /> 
      </fo:repeatable-page-master-alternatives>
    </fo:page-sequence-master>
  </fo:layout-master-set>
  <fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
hyphenate="true" master-reference="body" 
                    language="fi" format="1" initial-page-number="1"
hyphenation-character="-" 
                    hyphenation-push-character-count="2"
hyphenation-remain-character-count="2">
    <fo:flow flow-name="xsl-region-body">
      <fo:block id="d0e14">
        <fo:block>
          <fo:block>
            <fo:block keep-together="always" margin-left="-4pc"
font-family="sans-serif">
              <fo:block keep-with-next.within-column="always">
                <fo:block font-family="sans-serif" font-weight="bold"
keep-with-next.within-column="always" space-before.minimum="0.8em"
space-before.optimum="1.0em" space-before.maximum="1.2em">
                   <fo:block font-size="14.399999999999999pt">1.1.1.
Datamerkinnan otsakerivi</fo:block> 
                </fo:block>
              </fo:block>
            </fo:block>
          </fo:block>
          <fo:block /> 
        </fo:block>
        <fo:block space-before.optimum="1em" space-before.minimum="0.8em"
space-before.maximum="1.2em">
          Otsakerivin vapaamuotoisuuden takia ainoat jarkevasti hyodynnettavat
arvot ovat kentan nimi ( 
          <fo:inline font-family="monospace">&lt;melting.point&gt;</fo:inline> 
          ) ja DT-numero. 
        </fo:block>
      </fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>
Comment 1 J.Pietschmann 2003-08-01 12:40:51 UTC
This has been fixed already. Get the latest release.
Comment 2 Glenn Adams 2012-04-01 06:45:52 UTC
batch transition pre-FOP1.0 resolved+fixed bugs to closed+fixed