You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by bu...@apache.org on 2010/08/31 08:35:49 UTC

DO NOT REPLY [Bug 49848] New: keep-together.within-line="always" does not work with nested fo:inline

https://issues.apache.org/bugzilla/show_bug.cgi?id=49848

           Summary: keep-together.within-line="always" does not work with
                    nested fo:inline
           Product: Fop
           Version: 0.95
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: page-master/layout
        AssignedTo: fop-dev@xmlgraphics.apache.org
        ReportedBy: stilor@att.net


As per suggestion on fop-users@, entering an issue:

I am trying to prevent a line from breaking, so I wrapped it inside a 
<fo:inline keep-together.within-line="always">...</fo:inline>. This works as 
long as the line is a plain text, but does not work if there is a nested 
fo:inline. In that case, the line breaks at the nested fo:inline.

Here is a FO snippet:

===========================
<fo:inline keep-together.within-line="always">very long and nasty 
<fo:inline/>line that should not probably wrap unless somebody is using a 
nested fo inline <fo:inline/> which allows this line to wrapping 
around<fo:inline/> even though it should not</fo:inline>
===========================

I am using FOP 0.95, packages from Ubuntu 10.04.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 49848] keep-together.within-line="always" does not work with nested fo:inline

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49848

Andreas L. Delmelle <ad...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #2 from Andreas L. Delmelle <ad...@apache.org> 2011-01-09 09:43:16 EST ---

Fixed in Trunk. See: http://svn.apache.org/viewvc?rev=1056945&view=rev

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 49848] keep-together.within-line="always" does not work with nested fo:inline

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49848

--- Comment #1 from Andreas L. Delmelle <ad...@apache.org> 2011-01-07 07:38:42 EST ---

Studying this issue closer, it seems to originate in TextLM, line 708:
...
        } else if (inWhitespace) {
            processWhitespace(alignment, sequence, true);
...

The literal 'true' means that when finishing the TextLM element list, it is
assumed that there is always supposed to be a break opportunity at the end,
while in reality, this obviously depends...

Using a literal 'true' as parameter value, we get a sequence of
Glue-Penalty-Glue for the space before the nested inline. This produces a break
opportunity that is used by the LineBreakingAlgorithm.

Using '!keepTogether' instead, produces only an auxiliary box in this case and
seems to resolve it.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 49848] keep-together.within-line="always" does not work with nested fo:inline

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49848

Glenn Adams <gl...@skynav.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |CLOSED

--- Comment #3 from Glenn Adams <gl...@skynav.com> 2012-04-01 06:18:20 UTC ---
batch transition to closed; if someone wishes to restore one of these to
resolved in order to perform a verification step, then feel free to do so

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.