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 Simon Pepping <sp...@leverkruid.eu> on 2006/05/01 20:20:04 UTC
Re: Generalized Knuth-Plass Linebreaking Algorithm
Hello,
During the past weeks I added a test facility. This allows one to feed
test texts in an XHTML-like document. It is now available on my web
site, http://www.leverkruid.eu/GKPLinebreaking/index.html. Since
publication, I discovered that there is a problem with the treatment
of soft-hyphens. I am working on it.
Note that I am changing web domain from nl to eu.
Regards, Simon
On Mon, Apr 03, 2006 at 09:38:13PM +0200, Simon Pepping wrote:
> Hello,
>
> Some time ago Manuel Mall pointed out a number of problems with
> linebreaking in FOP. Specifically, there are some hard to solve
> problems with suppression of whitespace before a linebreak.
>
> I propose that the problems can be solved using a generalized set of
> building blocks (a.k.a. Knuth elements):
>
> 1. Box, with elastic width. A box has two boolean properties:
>
> 1. suppress-at-linebreak, default value false. According to
> the FO specification, in the default case in an FO text
> it is true for the space character U+0020. The user may
> deviate from the default and set it to false for the
> space character, and to true for other characters.
>
> 2. is-BP, default value false. This property indicates
> whether a box corresponds to a border and/or a padding
> width. It is true for boxes which are generated by
> padding widths and borders.
>
> 2. Penalty, with a penalty value and two elastic widths. When the
> penalty element is the chosen linebreak, it contributes the
> first elastic width before the linebreak and the second elastic
> width after the linebreak.
>
> Penalties are legal breakpoints. Boxes are not.
>
> On my website I have published a detailed account of my proposal in
> the essay 'Generalized Knuth-Plass Linebreaking Algorithm'. In order
> to test my ideas in practice, I have written a simple implementation
> in Java of this approach.
>
> See http://www.leverkruid.nl/GKPLinebreaking/index.html.
>
> Please, let me know what you think of it.
>
> Regards, Simon
>
> --
> Simon Pepping
> home page: http://www.leverkruid.nl
>
--
Simon Pepping
home page: http://www.leverkruid.eu
Re: Knuth linebreaking elements for Formatting Objects
Posted by Simon Pepping <sp...@leverkruid.eu>.
On Mon, May 01, 2006 at 08:20:04PM +0200, Simon Pepping wrote:
> Hello,
>
> During the past weeks I added a test facility. This allows one to feed
> test texts in an XHTML-like document. It is now available on my web
> site, http://www.leverkruid.eu/GKPLinebreaking/index.html. Since
> publication, I discovered that there is a problem with the treatment
> of soft-hyphens. I am working on it.
The problem has been solved. In doing so I introduced a new element,
box-penalty. I also added a section to my essay about a derivation of
the elements. Finally I changed the title into something less
generalized.
> Note that I am changing web domain from nl to eu.
>
> On Mon, Apr 03, 2006 at 09:38:13PM +0200, Simon Pepping wrote:
> > Hello,
> >
> > Some time ago Manuel Mall pointed out a number of problems with
> > linebreaking in FOP. Specifically, there are some hard to solve
> > problems with suppression of whitespace before a linebreak.
> >
> > I propose that the problems can be solved using a generalized set of
> > building blocks (a.k.a. Knuth elements):
> >
> > 1. Box, with elastic width. A box has two boolean properties:
> >
> > 1. suppress-at-linebreak, default value false. According to
> > the FO specification, in the default case in an FO text
> > it is true for the space character U+0020. The user may
> > deviate from the default and set it to false for the
> > space character, and to true for other characters.
> >
> > 2. is-BP, default value false. This property indicates
> > whether a box corresponds to a border and/or a padding
> > width. It is true for boxes which are generated by
> > padding widths and borders.
> >
> > 2. Penalty, with a penalty value and two elastic widths. When the
> > penalty element is the chosen linebreak, it contributes the
> > first elastic width before the linebreak and the second elastic
> > width after the linebreak.
> >
> > Penalties are legal breakpoints. Boxes are not.
Regards, Simon
--
Simon Pepping
home page: http://www.leverkruid.eu