Re: Maintainability
Manuel Mall wrote: On Thu, 29 Sep 2005 11:50 pm, Peter B. West wrote: Fopsters, I've always been somewhat sceptical of the new approach to page breaking, although I was prepared to concede that it would be a great achievement if you pulled it off. However, the closer the development has come to fruition, the more some of my original concerns have been reinforced. Think about the enormous amount of intellectual effort that has gone into mapping the problem into Knuthian. That effort is still under way. How is this going to be maintained? Where are the Knuthian speakers who are going to do that job over the next few years? I'm surprised, in fact, that some of the old hands have not raised this question already. Peter, I don't get it what you are aiming at here. Are you saying that the Knuth approach to line or page breaking is inherently more difficult to understand and therefore harder to maintain? Apart from being one of the best (in terms of visual quality of the output) algorithms for breaking it is also IMO inherently simple. This is one of the beauties of many of Knuth's works. He is IMO a brilliant Computer Scientist who manages to solve complex problems using simple concepts and algorithms. The concepts and algorithms are also well documented in papers and books which are usually accessible through your nearest university library. Just take the Breaking Paragraphs into Lines paper. Yes, it is over 80 odd pages long but the important concepts are explained in the first 10 pages. In my case, when I delved cold into the fop layout code I had no idea what was going on, but after reading the initial part of the paper it all suddenly made sense. So, where is the problem - Fop is using well documented concepts and algorithms to do its line and page breaking. Why should it be harder to maintain than some home cooked solution not backed up by previous research / papers / implementations (Tex)? And if you take the recent discussions mainly driven by Jeremias regarding the bpd space resolution the core of the problem is not mapping it into the appropriate Knuth sequences. It is the implementation of the space resolution rules themselves, i.e. figuring out how much space to leave or not leave in a particular situation, which is the hard part. Generating the appropriate Knuth sequence once you know what the resolved space is is easy. And quite a few of the stuff is also documented on the WIKI. In summary, and I can speak here from my own recent experience, I don't share your concerns about the Knuth approach increasing the maintainability cost of the fop code base. If you guys are happy with how the design is shaping up in terms of maintainability, great. There had been no discussion about this aspect, now there is. Peter -- Peter B. West http://cv.pbw.id.au/ Folio http://defoe.sourceforge.net/folio/ smime.p7s Description: S/MIME Cryptographic Signature
Re: Maintainability
Thanks to Luca for his (perhaps entirely co-incidental) posting to the Wiki. Peter -- Peter B. West http://cv.pbw.id.au/ Folio http://defoe.sourceforge.net/folio/ smime.p7s Description: S/MIME Cryptographic Signature
Re: Maintainability
Peter B. West wrote: Thanks to Luca for his (perhaps entirely co-incidental) posting to the Wiki. Well, not entirely co-incidental! :-) I started writing the page some time ago, but never found the time to finish it: your message made me think I really couldn't put this off any longer, so I added a few things and posted what was ready. I'd try and add the missing parts as soon as possible. Comments, questions, suggestions, and especially additions :-) are most welcome! Regards Luca
Re: Maintainability
Luca Furini wrote: Peter B. West wrote: Thanks to Luca for his (perhaps entirely co-incidental) posting to the Wiki. Well, not entirely co-incidental! :-) I started writing the page some time ago, but never found the time to finish it: your message made me think I really couldn't put this off any longer, so I added a few things and posted what was ready. I'd try and add the missing parts as soon as possible. Comments, questions, suggestions, and especially additions :-) are most welcome! Regards Luca Luca, There seem to be some misapprehensions about what you are attempting; perhaps they are mine, so please clarify this. As I understand it, the mature, well-documented technology is the line-breaking, as in Breaking Lines Into Paragraphs. Using this model for page-breaking is something that has been speculated about, in particular by Plass. However, in implementing this, you and the others are breaking new ground. If this is the case, then it is quite inaccurate to describe the page-breaking as mature, well-understood, well-documented and well-behaved technology. Is that fair? Peter -- Peter B. West http://cv.pbw.id.au/ Folio http://defoe.sourceforge.net/folio/ smime.p7s Description: S/MIME Cryptographic Signature
Re: Maintainability
On Fri, 30 Sep 2005 07:00 pm, Peter B. West wrote: Luca Furini wrote: Peter B. West wrote: Thanks to Luca for his (perhaps entirely co-incidental) posting to snip/ Luca, There seem to be some misapprehensions about what you are attempting; perhaps they are mine, so please clarify this. As I understand it, the mature, well-documented technology is the line-breaking, as in Breaking Lines Into Paragraphs. Using this model for page-breaking is something that has been speculated about, in particular by Plass. However, in implementing this, you and the others are breaking new ground. If this is the case, then it is quite inaccurate to describe the page-breaking as mature, well-understood, well-documented and well-behaved technology. Is that fair? Actually in the Breaking Paragraphs into Lines paper Knuth explicitly mentions that the Box-Glue-Penalty model applies equally well in the vertical direction. Peter Manuel
Re: Maintainability
Peter B. West wrote: There seem to be some misapprehensions about what you are attempting; perhaps they are mine, so please clarify this. As I understand it, the mature, well-documented technology is the line-breaking, as in Breaking Lines Into Paragraphs. Using this model for page-breaking is something that has been speculated about, in particular by Plass. However, in implementing this, you and the others are breaking new ground. If this is the case, then it is quite inaccurate to describe the page-breaking as mature, well-understood, well-documented and well-behaved technology. Is that fair? As Manuel has quickly answered, the box-penalty-glue model can be applied to both line breaking and page breaking, and this is already clearly stated in the cited article. In the Texbook you can find out that horizontal lists (representing the content of paragraphs) and vertical lists (representing content in the block progression direction) are made of the same elements: boxes, glues and penalties. So, I think we can surely state that the model suits the page breaking problem too. What Tex does not is performing Knuth's breaking algorithm in order to produce page breaks: it performs instead a simpler algorithm. But this is due to the resource limits existing at the moment when Tex was devised, and in the cited paper Knuth explicitly says so. The page breaking problem has some more difficulties, concerning objects whose placement does not follow the main flow, for example floating figures; in this case, the difficulty is the other side of freedom (the position of these objects has little constraints) and comes from trying to place them in the best possible way, which could lead to high computational complexity: should this be too much, it would be enough to use a simpler strategy instead, for example placing them in the first page where they fit, and the problem would be solved. So, I think we can say that the algorithm can be applied without any concern to page breaking too. Regards Lucat
Maintainability
Fopsters, I've always been somewhat sceptical of the new approach to page breaking, although I was prepared to concede that it would be a great achievement if you pulled it off. However, the closer the development has come to fruition, the more some of my original concerns have been reinforced. Think about the enormous amount of intellectual effort that has gone into mapping the problem into Knuthian. That effort is still under way. How is this going to be maintained? Where are the Knuthian speakers who are going to do that job over the next few years? I'm surprised, in fact, that some of the old hands have not raised this question already. Peter -- Peter B. West http://cv.pbw.id.au/ Folio http://defoe.sourceforge.net/folio/ smime.p7s Description: S/MIME Cryptographic Signature
Re: Maintainability
Peter B. West [EMAIL PROTECTED] wrote: Simon Pepping wrote: Maintaining FOP means maintaining a digital typesetting system means maintaining some of the best digital typography algorithms. I plan to resume my documenting activities in the coming months. I look forward to the challenge to document Knuth's algorithms and FOP's implementation of them in a clear and widely understandable fashion. That's a good thing, Simon, and your documentation is very comprehensive. However, I think the question still deserves serious consideration. You seem to be saying that inferior algorithms should be used for the sake of developers who don't have time to read the internals documentation. That doesn't seem like a worthwhile trade-off to me. -Peter-