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 Jeremias Maerki <de...@greenmail.ch> on 2005/03/10 11:57:45 UTC

Got Plass' dissertation

I got my copy of Michael Plass' dissertation today. A cursory overview
shows that this document will provide some insight on using Knuth
element model for page breaking but it also makes clear that we still
have to come up with solutions for certain tricky problems that he
didn't have to deal with back then. At any rate, the dissertation seems
more helpful than the two documents we found by Brüggemann-Klein, Klein
and Wohlfeil.

Jeremias Maerki


Re: Got Plass' dissertation

Posted by Steinar Bang <sb...@dod.no>.
>>>>> Jeremias Maerki <de...@greenmail.ch>:

> I got my copy of Michael Plass' dissertation today. A cursory
> overview shows that this document will provide some insight on using
> Knuth element model for page breaking

Just a side hint.  Another source for insight on using the Knuth
element model, is the WYSIWIG document editor named "doc" from the
InterViews GUI toolkit.

InterViews still lives on in ivtools
	http://www.ivtools.org/ivtools/

but I couldn't find much about doc there.  ivtools seems to be
centered around the Unidraw functionality of InterViews.

Ah, I found something here
	http://www.ivtools.org/ivtools/interviews.html

An early overview on the "glyphs" used in doc, is in this paper:
	ftp://interviews.stanford.edu/pub/interviews/pub/papers/glyphs.ps.Z

but the glyph concept matured a lot after that paper was written, I
think.

Also IIRC doc is used as an example in the "Design Patterns" book by Gamma,
Helm, Johnson, and Vlissides.  (John Vlissides worked on InterViews at
Stanford in the late 80-ies, early 90-ies)

And the latest version of the code should be there to look at in the
3.2a tarball that can be found at eg. the SGI InterViews site:
	ftp://ftp.sgi.com/graphics/interviews/

Re: Got Plass' dissertation

Posted by Jeremias Maerki <de...@greenmail.ch>.
We are. Luca commented on how we can make a total-fit behave like a
best-fit/first-fit.

On 11.03.2005 00:14:24 Victor Mote wrote:
> Jeremias Maerki wrote:
> 
> > A fact is that FOP 0.20.5 had no problems with differing 
> > available IPDs.
> > With Luca's suggestions I think we can (auto-)configure the 
> > page breaking algorithm (read: no separate layout strategy) 
> > so it can handle differing IPDs.
> 
> Sorry, I thought we were talking about total-fit. FOP 0.20.5 and Luca's
> comments are both related to first-fit.
> 
> Victor Mote



Jeremias Maerki


RE: Got Plass' dissertation

Posted by Victor Mote <vi...@outfitr.com>.
Jeremias Maerki wrote:

> A fact is that FOP 0.20.5 had no problems with differing 
> available IPDs.
> With Luca's suggestions I think we can (auto-)configure the 
> page breaking algorithm (read: no separate layout strategy) 
> so it can handle differing IPDs.

Sorry, I thought we were talking about total-fit. FOP 0.20.5 and Luca's
comments are both related to first-fit.

Victor Mote


Re: Got Plass' dissertation

Posted by Jeremias Maerki <de...@greenmail.ch>.
On 10.03.2005 16:15:10 Victor Mote wrote:
> Jeremias Maerki wrote:
> 
> > I got my copy of Michael Plass' dissertation today. A cursory 
> > overview shows that this document will provide some insight 
> > on using Knuth element model for page breaking but it also 
> > makes clear that we still have to come up with solutions for 
> > certain tricky problems that he didn't have to deal with back 
> > then. At any rate, the dissertation seems more helpful than 
> > the two documents we found by Brüggemann-Klein, Klein and Wohlfeil.
> 
> Hi Jeremias:
> 
> I got my copy yesterday and spent some time in it as well. I wanted to weave
> some thoughts about it into the thread from a few days ago that dealt with
> this same topic. In that thread, you raised the same two issues that I have
> been troubled about for page-breaking: 1) differing page IPDs, and 2)
> side-floats.
> 
> WRT differing page IPDs, I think it is probably very acceptable in almost
> every case to simply change the rules. IOW, If you want to use layout
> strategy X, you must do so on a page-sequence-master that has all page IPDs
> the same and that uses the same column-count. (Plass acknowledges that the
> problem to be solved is two-dimensional, but specifically says that his
> algorithm is one-dimensional.) Whether dealing with business forms
> (invoices, purchase orders, etc.) or high-end book publishing (I have
> experience with both), I cannot think of a use case for differing IPDs on
> pages in the same page-sequence. If the goal is 100% standard compliance,
> this isn't good enough. However, if the goal is to get some work done for a
> client, and it doesn't hinder future 100% compliance, then this would be the
> way I would address it.

A fact is that FOP 0.20.5 had no problems with differing available IPDs.
With Luca's suggestions I think we can (auto-)configure the page
breaking algorithm (read: no separate layout strategy) so it can handle
differing IPDs.

> Side-floats are another story. Plass addresses them by adding a new
> primitive to the box/glue/penalty model, called "insert" (page 15). However,
> I thought the following was pretty interesting as well, drawn from the last
> paragraph of his dissertation:
> 
> "There are other ways of incorporating approximations into the pagination
> routine; for instance, inset figures could be handled satisfactorily by
> doing the pagination as if they were full width figures with the same area
> as the original figures; afterwards the paragraphs could be re-broken in
> order to fit them around the figures. The optimizing line breaking algorithm
> would be helpful in this regard, since it could break the text on the page
> in such a way that it would come out to the right number of lines. Layout
> artists traditionally use approximate copyfitting techniques to do such
> tasks, so methods like this hold much promise."
> 
> So, if an insert requiring 4 square inches is required, and the IPD is six
> inches, add 2/3 of an inch to the BPD of the block, do your copyfitting,
> then come back and lay the block out properly later.
> 
> After thinking through all of these papers and ideas, I am more convinced
> than ever of the utility of pluggable layout. But I guess you guys like
> branches better :-)


Jeremias Maerki


RE: Got Plass' dissertation

Posted by Victor Mote <vi...@outfitr.com>.
Jeremias Maerki wrote:

> I got my copy of Michael Plass' dissertation today. A cursory 
> overview shows that this document will provide some insight 
> on using Knuth element model for page breaking but it also 
> makes clear that we still have to come up with solutions for 
> certain tricky problems that he didn't have to deal with back 
> then. At any rate, the dissertation seems more helpful than 
> the two documents we found by Brüggemann-Klein, Klein and Wohlfeil.

Hi Jeremias:

I got my copy yesterday and spent some time in it as well. I wanted to weave
some thoughts about it into the thread from a few days ago that dealt with
this same topic. In that thread, you raised the same two issues that I have
been troubled about for page-breaking: 1) differing page IPDs, and 2)
side-floats.

WRT differing page IPDs, I think it is probably very acceptable in almost
every case to simply change the rules. IOW, If you want to use layout
strategy X, you must do so on a page-sequence-master that has all page IPDs
the same and that uses the same column-count. (Plass acknowledges that the
problem to be solved is two-dimensional, but specifically says that his
algorithm is one-dimensional.) Whether dealing with business forms
(invoices, purchase orders, etc.) or high-end book publishing (I have
experience with both), I cannot think of a use case for differing IPDs on
pages in the same page-sequence. If the goal is 100% standard compliance,
this isn't good enough. However, if the goal is to get some work done for a
client, and it doesn't hinder future 100% compliance, then this would be the
way I would address it.

Side-floats are another story. Plass addresses them by adding a new
primitive to the box/glue/penalty model, called "insert" (page 15). However,
I thought the following was pretty interesting as well, drawn from the last
paragraph of his dissertation:

"There are other ways of incorporating approximations into the pagination
routine; for instance, inset figures could be handled satisfactorily by
doing the pagination as if they were full width figures with the same area
as the original figures; afterwards the paragraphs could be re-broken in
order to fit them around the figures. The optimizing line breaking algorithm
would be helpful in this regard, since it could break the text on the page
in such a way that it would come out to the right number of lines. Layout
artists traditionally use approximate copyfitting techniques to do such
tasks, so methods like this hold much promise."

So, if an insert requiring 4 square inches is required, and the IPD is six
inches, add 2/3 of an inch to the BPD of the block, do your copyfitting,
then come back and lay the block out properly later.

After thinking through all of these papers and ideas, I am more convinced
than ever of the utility of pluggable layout. But I guess you guys like
branches better :-)

Victor Mote