RE: source for hz algorithm
Dirk-Willem van Gulik wrote: > It is documented in either book 1 or 2 of Digital Typography by (I think!) > P. Karow, of URW (i.e. the folks behind the Ikarus format (just google > for URW and Digital Typograhy or Ikarus)). I think it is in book one. The > books are an absolute 'must have' - but hard to get. Occasionally one can > be found second hand; usually from a art/font firm dealing with the > high end market of posters and other big print publications. > > But the algorithm described there is not a computer one; but more a method > for someone cutting the scripts coming out of the linotypes and pasting > them on the wax board. I guess I am confused. The HZ algorithm is AFAIK a computer algorithm, or at least a mathematical one that can be implemented by a computer. I don't think it could be applied to a linotype at all, as that would be working with only one line of text at a time (I'm in over my head, barely knowing what a linotype is). Line-by-line breaking is what most word processors do, and what FOP currently does. HZ definitely looks at a bigger context -- either whole paragraphs or a fixed window of a quantity of lines. So I wonder whether we are talking about the same thing. I see Rhett's post that he has found a copy of the books, so perhaps we can figure out a way to check for sure. Thanks for the info! I must admit to being a bit humbled. I have shopped for font editing software at least twice, and never stumbled across URW, and have never heard of Ikarus before. I see also now in Bringhurst that he mentions the Seybold Report on Publishing Systems 22.11 as a source of information on this subject. A hard copy can be ordered for $25 ($20 if you are a Seybold subscriber) by pressing the "bk" button by "No. 11" at http://www.seyboldreports.com/SRPS/PSVOL22.HTM. I have ordered a copy. Bringhurst also mentions a book published by URW -- HZ-program: Micro-typography for Advanced Typesetting (Hamburg, 1993), which I have not yet been able to locate. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: source for hz algorithm
J.Pietschmann wrote: > The TeX-Book has a chapter about this problem. It is available > as textbook.tex (in TeX, and quite officially). Amazingly, I > didn't find it on CTAN, but a google search turns up other > servers (I can send you the 460k compressed source). I think it is also Volume A of Knuth's "Computers & Typesetting", which I hope to receive shortly. I am hoping not to have to stop and become a TeX user along the way, but I think it is worth learning as much as is morally possible from them. BTW, I looked for but did not find licensing information at tug & ctan licensing information, as well as in my Norman Walsh book "Making TeX Work". Does it use a GPL? If it had a compatible licensing scheme, it would sure seem to make sense to use as much of the TeX work as possible. Thanks for the information. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Sebastian Rahtz (PassiveTeX) would be a good source of information. I think he tends to hang around on [EMAIL PROTECTED] Btw, URW provide one of the best-known set of free Type1 fonts for linux. Peter Victor Mote wrote: J.Pietschmann wrote: The TeX-Book has a chapter about this problem. It is available as textbook.tex (in TeX, and quite officially). Amazingly, I didn't find it on CTAN, but a google search turns up other servers (I can send you the 460k compressed source). I think it is also Volume A of Knuth's "Computers & Typesetting", which I hope to receive shortly. I am hoping not to have to stop and become a TeX user along the way, but I think it is worth learning as much as is morally possible from them. BTW, I looked for but did not find licensing information at tug & ctan licensing information, as well as in my Norman Walsh book "Making TeX Work". Does it use a GPL? If it had a compatible licensing scheme, it would sure seem to make sense to use as much of the TeX work as possible. -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: source for hz algorithm
Peter B. West wrote: > These are interesting and important issues. I had no notion of the HZ > algorithm, but I was dimly aware from my reading as a teenager of the > "rivers" problem, and acutely conscious of its distracting effect from > my reading. In my thinking about layout, I have been conscious of the > need to be able to evaluate such issues at a high level. The only way > such an evaluation can be done is by layout look-ahead. The page must > be laid out before "rivers" can be assessed. (Finding them would be an > interesting problem in itself - and no doubt part of HZ.) It actually would seem to go beyond look-ahead, and instead be more along the lines of laying the content out multiple times & scoring each one. One of the articles that Rhett pointed out indicates that Karow was working on a "chapter" level optimization -- probably equivalent to a page-sequence for us. It would seem easy to have several thousand or more possible layout options for an expanse that big. One issue in implementing this kind of thing is to make it configurable, or even to make specification part of the standard. A lot of on-the-fly web-based users won't want to spend the hardware resources to get output this finely tuned, but those of us who are generating high-quality static content won't mind. In other words, we need quick-and-dirty solutions that are optimized for speed to be able to coexist with more complex solutions that are optimized for quality. Part of what triggered my thoughts here was a thread on the XSL-FO list in which it was stated that XEP takes about 3 times as long to run as FOP. There are a lot of possible reasons for this (including implementation of features that we don't have yet), but it is possible that they have implemented some better H&J work. I don't intend to implement any of this any time soon, but I need to let some of the concepts sink in for a while, so I thought I had better get started, in anticipation of (hopefully) getting back into FOP code again within about a week. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Victor Mote wrote: Peter B. West wrote: These are interesting and important issues. I had no notion of the HZ algorithm, but I was dimly aware from my reading as a teenager of the "rivers" problem, and acutely conscious of its distracting effect from my reading. In my thinking about layout, I have been conscious of the need to be able to evaluate such issues at a high level. The only way such an evaluation can be done is by layout look-ahead. The page must be laid out before "rivers" can be assessed. (Finding them would be an interesting problem in itself - and no doubt part of HZ.) It actually would seem to go beyond look-ahead, and instead be more along the lines of laying the content out multiple times & scoring each one. True, but I had in mind that any such approach will be built on the fact that any layout is, in some sense, tentative. Rhett raised the question some time ago of a means recording (and scoring) intermediate results, something which will be an essential element of such a solution. At this stage, I would tend to think not of doing every possible layout, but of following the "optimum" values to perform initial layout, and then testing the result for "goodness". The minimum-maximum range provides the slack - within the context of the spec - for applying whatever other set of layout tuning algorithms that FOP implements. I would see these being arranged as a set of heuristics - for want of a better word - that are applied in a structured fashion to detected layout conflicts of particular types. What comprises a conflict would be determined by those configurable parameters. In the initial version, we only need to provide for the most basic of these, as long as the mechanism is general enough to allow for refinement. One of the articles that Rhett pointed out indicates that Karow was working on a "chapter" level optimization -- probably equivalent to a page-sequence for us. It would seem easy to have several thousand or more possible layout options for an expanse that big. One issue in implementing this kind of thing is to make it configurable, or even to make specification part of the standard. A lot of on-the-fly web-based users won't want to spend the hardware resources to get output this finely tuned, but those of us who are generating high-quality static content won't mind. In other words, we need quick-and-dirty solutions that are optimized for speed to be able to coexist with more complex solutions that are optimized for quality. Part of what triggered my thoughts here was a thread on the XSL-FO list in which it was stated that XEP takes about 3 times as long to run as FOP. There are a lot of possible reasons for this (including implementation of features that we don't have yet), but it is possible that they have implemented some better H&J work. I don't intend to implement any of this any time soon, but I need to let some of the concepts sink in for a while, so I thought I had better get started, in anticipation of (hopefully) getting back into FOP code again within about a week. -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
> True, but I had in mind that any such approach will be built on the fact > that any layout is, in some sense, tentative. Rhett raised the question > some time ago of a means recording (and scoring) intermediate results, > something which will be an essential element of such a solution. > > At this stage, I would tend to think not of doing every possible layout, > but of following the "optimum" values to perform initial layout, and > then testing the result for "goodness". The minimum-maximum range > provides the slack - within the context of the spec - for applying > whatever other set of layout tuning algorithms that FOP implements. The idea I am working with (of which I have prototype working) is that a break is after a line. For this break it finds the BPD distance from the top down (flow layout manager) from the start of the page to the current break. It also finds the keeps from the current break position, looking at parent layout managers and next layout managers for keep with previous. A best break is found based on these two values. A next break is then found, since we don't know we have a best until there is a worse break. This can be done for all pages in the page sequence or until forced break. Then if for example we want to find the optimum break. There is also the possiblity to get the next break within a context (which invalidates all further breaks) or previous break. I am quite confident that this will work well. Footnotes and before floats suddenly become easy. Keeps are quite easy also. The only drawback is that it constantly needs to find the child layout manager that applies to a given break and that finding the BPD distance could be time consuming in some circumstances. Optimisations should help a bit. > I would see these being arranged as a set of heuristics - for want of a > better word - that are applied in a structured fashion to detected > layout conflicts of particular types. What comprises a conflict would > be determined by those configurable parameters. > > In the initial version, we only need to provide for the most basic of > these, as long as the mechanism is general enough to allow for refinement. I am hoping that making the breaks simple and easy to find certain properties from any position will help us to explore what to do next. Keiron. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Peter B. West wrote: > At this stage, I would tend to think not of > doing every possible layout, but of following > the "optimum" values to perform initial layout, > and then testing the result for "goodness". > The minimum-maximum range provides the slack - > within the context of the spec - for applying > whatever other set of layout tuning algorithms > that FOP implements. If I remember correctly from the TeX source, TeX does a similar thing: it just goes ahead, then rates the quality of the layout in terms of "badness" (do you realize that makes you an optimist and Don Knuth a pessimist? 8-)). If the "badness" of a paragraph is too large, TeX tries a different layout. This approach, however, should be quite difficult for a FO render, as FO has more degrees of freedom in layout (compared to TeX). So, somehow the renderer must have a good "idea" which layout alternatives are promising in terms of "badness" or "goodness" and which are not. -- Cappelino Informationstechnologie GmbH Arnd Beißner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: source for hz algorithm
I'd meant for him to contact me privately so I could mail him some photocopies and save him the trouble of trying to find copies of the book. -Original Message- From: Peter B. West [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 12:32 AM To: [EMAIL PROTECTED] Subject: Re: source for hz algorithm Rhett, Discussion of the actual algorithms would be of general interest, I think. Peter Rhett Aultman wrote: > My girlfriend just located both volumes at the University of Central Florida library >and is bringing them home for me to peruse. > > Vic, why don't you email me privately so we can discuss this? > > -Original Message- > From: Dirk-Willem van Gulik [mailto:[EMAIL PROTECTED]] ... > > It is documented in either book 1 or 2 of Digital Typography by (I think!) > P. Karow, of URW (i.e. the folks behind the Ikarus format (just google > for URW and Digital Typograhy or Ikarus)). I think it is in book one. The > books are an absolute 'must have' - but hard to get. Occasionally one can > be found second hand; usually from a art/font firm dealing with the > high end market of posters and other big print publications. > > But the algorithm described there is not a computer one; but more a method > for someone cutting the scripts coming out of the linotypes and pasting > them on the wax board. -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: source for hz algorithm
Peter, This brings back to light the possibility of needing to do multipass layout, doesn't it? I had suggested something along these lines previously. -Original Message- From: Peter B. West [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 12:30 AM To: [EMAIL PROTECTED] Subject: Re: source for hz algorithm Layout sometimes occurs in an environment of known available BPDimension and IPDimension, sometimes with only one dimension, and sometimes with neither. In the latter cases, the layout process is effectively a probe to see what the dimensional requirements range for this piece of layout is. However, problems like rivers, last page and footnotes turn all layout into probes, and all layout must potentially be undone and redone in the light of the knowledge gained. Peter -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Oops. Peter Rhett Aultman wrote: I'd meant for him to contact me privately so I could mail him some photocopies and save him the trouble of trying to find copies of the book. -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
drawing borders
Hi All, There is a way to draw a border of a cell/table/block minor than 1pt ? Thanks, Paulo Benfatti
RE: source for hz algorithm
Grrr...still I struggle with Outlook. I'm giving real thought to setting myself up with a new POP account and using a web client so that at least I can format emails the way I want. Responses below... -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 5:10 AM To: [EMAIL PROTECTED] Subject: Re: source for hz algorithm >> The idea I am working with (of which I have prototype working) is that a break is after a line. For this break it finds the BPD distance from the top down (flow layout manager) from the start of the page to the current break. It also finds the keeps from the current break position, looking at parent layout managers and next layout managers for keep with previous. A best break is found based on these two values. A next break is then found, since we don't know we have a best until there is a worse break. This can be done for all pages in the page sequence or until forced break. >> This might be semantic nitpicking more than anything, but how can finding a worse break prove you have the best break? Wouldn't you have to find all possible breaks and verify that they're "worse"? Also, just for personal enlightenment, what principles govern "betterness" or "worseness"? >> Then if for example we want to find the optimum break. There is also the possiblity to get the next break within a context (which invalidates all further breaks) or previous break. << Could you please expound on this idea a little further? I don't think I'm quite following. >> The only drawback is that it constantly needs to find the child layout manager that applies to a given break and that finding the BPD distance could be time consuming in some circumstances. Optimisations should help a bit. << Offhand, I would think that this won't represent a reall performance bottleneck, and it would seem quite necessary given my somewhat green understanding of what you're proposing. >> I am hoping that making the breaks simple and easy to find certain properties from any position will help us to explore what to do next. << I'd really like to see this feature in motion. Being able to find this seems imperative for handing conflicting constraints and other anomalous situations. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Keiron Liddle wrote: True, but I had in mind that any such approach will be built on the fact that any layout is, in some sense, tentative. Rhett raised the question some time ago of a means recording (and scoring) intermediate results, something which will be an essential element of such a solution. At this stage, I would tend to think not of doing every possible layout, but of following the "optimum" values to perform initial layout, and then testing the result for "goodness". The minimum-maximum range provides the slack - within the context of the spec - for applying whatever other set of layout tuning algorithms that FOP implements. The idea I am working with (of which I have prototype working) is that a break is after a line. For this break it finds the BPD distance from the top down (flow layout manager) from the start of the page to the current break. I can't visualise the flow of control here. I presume that the break (possibility?) is generated at, say, line-area building level. [Is this always based on knowledge of the IPDim, or does the possibility exist of not knowing IPDim, but being prepared to report upward on the possibilities for IPDim?] Does the information about this break then percolate back up to the flow-level layout manager? Is the BPDim from top of page reported back to the line-area level, or maintained at the flow manager level? It also finds the keeps from the current break position, looking at parent layout managers and next layout managers for keep with previous. A best break is found based on these two values. A next break is then found, since we don't know we have a best until there is a worse break. This can be done for all pages in the page sequence or until forced break. This implies that the answer to my previous question is that the BPDim comes back down to the line-area level, and that keeps are resolved between adjacent line-area builders. Your notes here seem to be referring to column and page breaks. At what level is the contention between two or more line-area builders for "best break" resolved? Then if for example we want to find the optimum break. There is also the possiblity to get the next break within a context (which invalidates all further breaks) or previous break. Is this invalidating of further breaks something which is instigated from a higher level? I am quite confident that this will work well. Footnotes and before floats suddenly become easy. Keeps are quite easy also. It would be good to get some more illustrations of the way these will work. The only drawback is that it constantly needs to find the child layout manager that applies to a given break and that finding the BPD distance could be time consuming in some circumstances. Optimisations should help a bit. I would see these being arranged as a set of heuristics - for want of a better word - that are applied in a structured fashion to detected layout conflicts of particular types. What comprises a conflict would be determined by those configurable parameters. In the initial version, we only need to provide for the most basic of these, as long as the mechanism is general enough to allow for refinement. I am hoping that making the breaks simple and easy to find certain properties from any position will help us to explore what to do next. I think this is similar to what I refer to as threading the tree to establish which areas are contiguous in the output, both for keeps and space specifiers resolution. Peter -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Rhett, If intermediate results from the FO tree and the Area tree are buffered to disk, the distinction between single pass with back-tracking and multiple pass begins to blur. For things like page number resolution a straight-forward multi-pass solution may be best, but I would like to see where we go with the other more localised problems before considering a full-on multi-pass model. Peter Rhett Aultman wrote: Peter, This brings back to light the possibility of needing to do multipass layout, doesn't it? I had suggested something along these lines previously. -Original Message- From: Peter B. West [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 12:30 AM To: [EMAIL PROTECTED] Subject: Re: source for hz algorithm Layout sometimes occurs in an environment of known available BPDimension and IPDimension, sometimes with only one dimension, and sometimes with neither. In the latter cases, the layout process is effectively a probe to see what the dimensional requirements range for this piece of layout is. However, problems like rivers, last page and footnotes turn all layout into probes, and all layout must potentially be undone and redone in the light of the knowledge gained. Peter -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Peter B. West wrote: Victor Mote wrote: Peter B. West wrote: These are interesting and important issues. I had no notion of the HZ algorithm, but I was dimly aware from my reading as a teenager of the "rivers" problem, and acutely conscious of its distracting effect from my reading. In my thinking about layout, I have been conscious of the need to be able to evaluate such issues at a high level. The only way such an evaluation can be done is by layout look-ahead. The page must be laid out before "rivers" can be assessed. (Finding them would be an interesting problem in itself - and no doubt part of HZ.) It actually would seem to go beyond look-ahead, and instead be more along the lines of laying the content out multiple times & scoring each one. True, but I had in mind that any such approach will be built on the fact that any layout is, in some sense, tentative. Rhett raised the question some time ago of a means recording (and scoring) intermediate results, something which will be an essential element of such a solution. At this stage, I would tend to think not of doing every possible layout, but of following the "optimum" values to perform initial layout, and then testing the result for "goodness". The minimum-maximum range provides the slack - within the context of the spec - for applying whatever other set of layout tuning algorithms that FOP implements. I would see these being arranged as a set of heuristics - for want of a better word - that are applied in a structured fashion to detected layout conflicts of particular types. What comprises a conflict would be determined by those configurable parameters. In the initial version, we only need to provide for the most basic of these, as long as the mechanism is general enough to allow for refinement. Does the idea that there would be intermediate results mean that a "human" could determine which is the best to perform the final layout? I'm thinking of a system similar to how some OCR programs enable the user to contribute to the process of recognition when the OCR program has problems determining a word or character. (FYI: OCR=Optical Character Recognition--used in scanning text-based documents which are converted to text for archiving, indexing, etc.). If so, could the implementation offer some way of "saving" the best method? I would think it would work like a userconfig file. -- Clay Leeds - [EMAIL PROTECTED] Web Developer - Medata, Inc. - http://www.medata.com PGP Public Key: https://mail.medata.com/pgp/cleeds.asc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Clay Leeds wrote: Does the idea that there would be intermediate results mean that a "human" could determine which is the best to perform the final layout? I'm thinking of a system similar to how some OCR programs enable the user to contribute to the process of recognition when the OCR program has problems determining a word or character. (FYI: OCR=Optical Character Recognition--used in scanning text-based documents which are converted to text for archiving, indexing, etc.). If so, could the implementation offer some way of "saving" the best method? I would think it would work like a userconfig file. Clay, It's an interesting idea. It could be thought of as another User Agent (or User Agency) function. Peter -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Forgive the response to my own post... Clay Leeds wrote: Peter B. West wrote: Victor Mote wrote: Peter B. West wrote: These are interesting and important issues. I had no notion of the HZ algorithm, but I was dimly aware from my reading as a teenager of the "rivers" problem, and acutely conscious of its distracting effect from my reading. In my thinking about layout, I have been conscious of the need to be able to evaluate such issues at a high level. The only way such an evaluation can be done is by layout look-ahead. The page must be laid out before "rivers" can be assessed. (Finding them would be an interesting problem in itself - and no doubt part of HZ.) It actually would seem to go beyond look-ahead, and instead be more along the lines of laying the content out multiple times & scoring each one. True, but I had in mind that any such approach will be built on the fact that any layout is, in some sense, tentative. Rhett raised the question some time ago of a means recording (and scoring) intermediate results, something which will be an essential element of such a solution. At this stage, I would tend to think not of doing every possible layout, but of following the "optimum" values to perform initial layout, and then testing the result for "goodness". The minimum-maximum range provides the slack - within the context of the spec - for applying whatever other set of layout tuning algorithms that FOP implements. I would see these being arranged as a set of heuristics - for want of a better word - that are applied in a structured fashion to detected layout conflicts of particular types. What comprises a conflict would be determined by those configurable parameters. In the initial version, we only need to provide for the most basic of these, as long as the mechanism is general enough to allow for refinement. Does the idea that there would be intermediate results mean that a "human" could determine which is the best to perform the final layout? I'm thinking of a system similar to how some OCR programs enable the user to contribute to the process of recognition when the OCR program has problems determining a word or character. (FYI: OCR=Optical Character Recognition--used in scanning text-based documents which are converted to text for archiving, indexing, etc.). If so, could the implementation offer some way of "saving" the best method? I would think it would work like a userconfig file. I meant to add my reasoning. Since one can assume that generating multiple iterations will be processor intensive, if there existed some sort of "config" file identifying clues as to how the hz algorithm should proceed for a particular file, it would shorten the processing time, as well as ensure that the output was always the same. -- Clay Leeds - [EMAIL PROTECTED] Web Developer - Medata, Inc. - http://www.medata.com PGP Public Key: https://mail.medata.com/pgp/cleeds.asc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: source for hz algorithm
Any attempt FOP has at laying rules for layout is going to be applying heuristics. It would be interesting to be able to expose the heuristics and allow for programmer/user control of them. Still, until more of this materializes, I think we're getting famous French mathematicians before the equine species (...getting DesCartes before the horse, or "de cart before the horse"...bad joke) -Original Message- From: Clay Leeds [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 10:18 AM To: [EMAIL PROTECTED] Subject: Re: source for hz algorithm Peter B. West wrote: > Victor Mote wrote: > >> Peter B. West wrote: >> >> >>> These are interesting and important issues. I had no notion of the HZ >>> algorithm, but I was dimly aware from my reading as a teenager of the >>> "rivers" problem, and acutely conscious of its distracting effect from >>> my reading. In my thinking about layout, I have been conscious of the >>> need to be able to evaluate such issues at a high level. The only way >>> such an evaluation can be done is by layout look-ahead. The page must >>> be laid out before "rivers" can be assessed. (Finding them would be an >>> interesting problem in itself - and no doubt part of HZ.) >> >> >> >> It actually would seem to go beyond look-ahead, and instead be more along >> the lines of laying the content out multiple times & scoring each one. > > > True, but I had in mind that any such approach will be built on the fact > that any layout is, in some sense, tentative. Rhett raised the question > some time ago of a means recording (and scoring) intermediate results, > something which will be an essential element of such a solution. > > At this stage, I would tend to think not of doing every possible layout, > but of following the "optimum" values to perform initial layout, and > then testing the result for "goodness". The minimum-maximum range > provides the slack - within the context of the spec - for applying > whatever other set of layout tuning algorithms that FOP implements. > > I would see these being arranged as a set of heuristics - for want of a > better word - that are applied in a structured fashion to detected > layout conflicts of particular types. What comprises a conflict would > be determined by those configurable parameters. > > In the initial version, we only need to provide for the most basic of > these, as long as the mechanism is general enough to allow for refinement. Does the idea that there would be intermediate results mean that a "human" could determine which is the best to perform the final layout? I'm thinking of a system similar to how some OCR programs enable the user to contribute to the process of recognition when the OCR program has problems determining a word or character. (FYI: OCR=Optical Character Recognition--used in scanning text-based documents which are converted to text for archiving, indexing, etc.). If so, could the implementation offer some way of "saving" the best method? I would think it would work like a userconfig file. -- Clay Leeds - [EMAIL PROTECTED] Web Developer - Medata, Inc. - http://www.medata.com PGP Public Key: https://mail.medata.com/pgp/cleeds.asc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/foschema fop.xsd schema2completion.xsl schema2dtd.xsl
jeremias2003/01/29 08:01:00 Added: src/foschema fop.xsd schema2completion.xsl schema2dtd.xsl Log: Move over from docs/foschema Revision ChangesPath 1.2 +4296 -0 xml-fop/src/foschema/fop.xsd 1.2 +197 -0xml-fop/src/foschema/schema2completion.xsl 1.2 +319 -0xml-fop/src/foschema/schema2dtd.xsl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/foschema fop.xsd schema2completion.xsl schema2dtd.xsl
jeremias2003/01/29 08:01:44 Removed: docs/foschema fop.xsd schema2completion.xsl schema2dtd.xsl Log: Move over to src/foschema - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: source for hz algorithm
Clay Leeds wrote: Does the idea that there would be intermediate results mean that a "human" could determine which is the best to perform the final layout? I'm thinking of a system similar to how some OCR programs enable the user to contribute to the process of recognition when the OCR program has problems determining a word or character. (FYI: OCR=Optical Character Recognition--used in scanning text-based documents which are converted to text for archiving, indexing, etc.). If so, could the implementation offer some way of "saving" the best method? I would think it would work like a userconfig file. I meant to add my reasoning. Since one can assume that generating multiple iterations will be processor intensive, if there existed some sort of "config" file identifying clues as to how the hz algorithm should proceed for a particular file, it would shorten the processing time, as well as ensure that the output was always the same. Clay, I don't see it this way. The multiple iterations occur within the rendering of a particular document. I saw the human intervention as a way of interactively deciding on one layout among a number of possibilities which the processor was unable easily to distinguish, not as some asynchronous event. While I can see the possibility of "learning" about the scoring of layout possibilities from such interactive input, I can't see that sets of rendering decisons need to persist. Peter -- Peter B. West [EMAIL PROTECTED] http://www.powerup.com.au/~pbwest/ "Lord, to whom shall we go?" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/fo/tables background.fo borders.fo break.fo headfoot.fo keep.fo omit.fo space.fo widowsorphans.fo
jeremias2003/01/29 08:07:57 Added: examples/fo .cvsignore build.xml runtests.bat runtests.sh examples/fo/advanced K3.TTF K3.xml bar.conf.xml barcode.fo cid-fonts.fo cid-fonts.pdf giro.fo examples/fo/basic alignment.fo blockcontainer.fo border.fo bordershorthand.fo character.fo corresprop.fo extensive.fo fonts.fo hyphen.fo images.fo inhprop.fo instream.fo leader.fo link.fo list.fo newlinktest.fo normal.fo normalex.fo pdfoutline.fo readme.fo simple.fo table.fo tableunits.fo textdeko.fo examples/fo/footnotes columns.fo simple.fo examples/fo/graphics fop.jpg linux.bmp listgeometry.gif page.gif xml_feather.gif xml_feather_transparent.gif examples/fo/keeps_and_breaks columnlevel1.fo pagelevel1.fo pagelevel2.fo pagelevel3.fo pagelevel4.fo examples/fo/markers glossary.xml glossary.xsl hide.fo examples/fo/pagination allregions.fo basic1.fo basic2.fo franklin_2pageseqs.fo franklin_alt.fo franklin_rep.fo franklin_rep_max_repeats.fo franklin_rep_max_repeats_expl.fo franklin_rep_max_repeats_nl.fo examples/fo/region_body simplecol.fo simplecol2.fo simplecol3.fo simplecol4.fo examples/fo/svg boxes.svg embedding.fo external.fo multi.svg ref.svg view.svg examples/fo/tables background.fo borders.fo break.fo headfoot.fo keep.fo omit.fo space.fo widowsorphans.fo Log: Move over from docs/examples Revision ChangesPath 1.2 +2 -0 xml-fop/examples/fo/.cvsignore 1.2 +134 -0xml-fop/examples/fo/build.xml 1.2 +33 -0 xml-fop/examples/fo/runtests.bat 1.2 +30 -0 xml-fop/examples/fo/runtests.sh 1.1 xml-fop/examples/fo/advanced/K3.TTF <> 1.1 xml-fop/examples/fo/advanced/K3.xml Index: K3.xml === New00392193903300TYPE0CIDFontType20 1.1 xml-fop/examples/fo/advanced/bar.conf.xml Index: bar.conf.xml === 1.1 xml-fop/examples/fo/advanced/barcode.fo Index: barcode.fo === http://www.w3.org/1999/XSL/Format";> Example embedding Font This example shows how to use an embedded font and uses a free barcode font as an example. The barcode font is from http://www.geocities.com/keith_dimmock/";>http://www.geocities.com/keith_dimmock/ and is free. *ID123456* normal text *ID123456* normal text 1.2 +450 -0xml-fop/examples/fo/advanced/cid-fonts.fo 1.2 +561 -0xml-fop/examples/fo/advanced/cid-fonts.pdf <> 1.2 +1244 -0 xml-fop/examples/fo/advanced/giro.fo 1.1 xml-fop/examples/fo/basic/alignment.fo Index: alignment.fo === http://www.w3.org/1999/XSL/Format"; xmlns:svg="http://www.w3.org/2000/svg";> Ex 1: This is a longer line of text that provides a context for the line with the images aligned on it. This is a line with before-edge , after-edge , middle , and no alignment. And this is the line of text that follows the line with the aligned objects on it. And finally, this line illustrates the normal spacing between lines of text in this font. Ex 2: This is a longer line of text that provides a context for the line with the images aligned on it. This is a line with before-edge , after-edge , middle alignment. And this is the line of text that follows the line with the aligned objects on it. And finally, this line illustrates the normal spacing be
cvs commit: xml-fop/docs/examples/tables background.fo borders.fo break.fo headfoot.fo keep.fo omit.fo space.fo widowsorphans.fo
jeremias2003/01/29 08:11:22 Removed: docs/examples .cvsignore build.xml results.html runtests.bat runtests.sh docs/examples/advanced K3.TTF K3.xml bar.conf.xml barcode.fo cid-fonts.fo cid-fonts.pdf giro.fo docs/examples/fo alignment.fo blockcontainer.fo border.fo bordershorthand.fo character.fo corresprop.fo extensive.fo fonts.fo hyphen.fo images.fo inhprop.fo instream.fo leader.fo link.fo list.fo newlinktest.fo normal.fo normalex.fo pdfoutline.fo readme.fo simple.fo table.fo tableunits.fo textdeko.fo docs/examples/footnotes columns.fo simple.fo docs/examples/keeps_and_breaks columnlevel1.fo pagelevel1.fo pagelevel2.fo pagelevel3.fo pagelevel4.fo docs/examples/markers glossary.xml glossary.xsl hide.fo docs/examples/pagination allregions.fo basic1.fo basic2.fo franklin_2pageseqs.fo franklin_alt.fo franklin_rep.fo franklin_rep_max_repeats.fo franklin_rep_max_repeats_expl.fo franklin_rep_max_repeats_nl.fo docs/examples/region_body simplecol.fo simplecol2.fo simplecol3.fo simplecol4.fo docs/examples/svg boxes.svg embedding.fo external.fo multi.svg ref.svg view.svg docs/examples/tables background.fo borders.fo break.fo headfoot.fo keep.fo omit.fo space.fo widowsorphans.fo Log: Move over to examples/fo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/graphics fop.jpg linux.bmp listgeometry.gif page.gif xml_feather.gif xml_feather_transparent.gif
jeremias2003/01/29 08:21:35 Removed: docs/graphics fop.jpg linux.bmp listgeometry.gif page.gif xml_feather.gif xml_feather_transparent.gif Log: Move over to examples/fo/graphics - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml - New directory
jeremias2003/01/29 08:22:41 xml-fop/examples/mathml - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/src - New directory
jeremias2003/01/29 08:22:55 xml-fop/examples/mathml/src - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/resources - New directory
jeremias2003/01/29 08:23:10 xml-fop/examples/mathml/resources - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/lib - New directory
jeremias2003/01/29 08:23:28 xml-fop/examples/mathml/lib - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/docs - New directory
jeremias2003/01/29 08:23:31 xml-fop/examples/mathml/docs - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/resources/META-INF/services - New directory
jeremias2003/01/29 08:23:53 xml-fop/examples/mathml/resources/META-INF/services - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/resources/META-INF - New directory
jeremias2003/01/29 08:23:45 xml-fop/examples/mathml/resources/META-INF - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/src/org - New directory
jeremias2003/01/29 08:24:04 xml-fop/examples/mathml/src/org - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/src/org/apache/fop - New directory
jeremias2003/01/29 08:24:14 xml-fop/examples/mathml/src/org/apache/fop - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/src/org/apache/fop/mathml - New directory
jeremias2003/01/29 08:24:20 xml-fop/examples/mathml/src/org/apache/fop/mathml - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/src/org/apache - New directory
jeremias2003/01/29 08:24:10 xml-fop/examples/mathml/src/org/apache - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/mathml/src/org/apache/fop/mathml MathMLElement.java MathMLElementMapping.java MathMLObj.java
jeremias2003/01/29 08:25:25 Added: examples/mathml .cvsignore README build.bat build.sh build.xml examples/mathml/docs example.mml mathml.fo examples/mathml/lib readme.txt examples/mathml/resources/META-INF/services org.apache.fop.fo.ElementMapping examples/mathml/src/org/apache/fop/mathml MathMLElement.java MathMLElementMapping.java MathMLObj.java Log: Move over from contrib/mathml Revision ChangesPath 1.1 xml-fop/examples/mathml/.cvsignore Index: .cvsignore === build 1.1 xml-fop/examples/mathml/README Index: README === FOP MathML Readme This directory contains an extension for MathML that can be used with FOP. This extension works with JEuclid which is available from: http://sourceforge.net/projects/jeuclid/ This simply uses JEuclid to convert the MathML CML into SVG. The SVG is then handled as normal. 1.1 xml-fop/examples/mathml/build.bat Index: build.bat === @echo off echo MathML Build System echo - if "%JAVA_HOME%" == "" goto error set LIBDIR=..\..\lib set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\ant.jar set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis.jar set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.2.1.jar set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.4.1.jar set ANT_HOME=%LIBDIR% echo Building with classpath %LOCALCLASSPATH% echo Starting Ant... %JAVA_HOME%\bin\java.exe -Dant.home=%ANT_HOME% -classpath "%LOCALCLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 goto end :error echo ERROR: JAVA_HOME not found in your environment. echo Please, set the JAVA_HOME variable in your environment to match the echo location of the Java Virtual Machine you want to use. :end rem set LOCALCLASSPATH= pause 1.1 xml-fop/examples/mathml/build.sh Index: build.sh === #!/bin/sh echo echo "MathML Build System" echo "-" echo if [ "$JAVA_HOME" = "" ] ; then echo "ERROR: JAVA_HOME not found in your environment." echo echo "Please, set the JAVA_HOME variable in your environment to match the" echo "location of the Java Virtual Machine you want to use." exit 1 fi LIBDIR=../../lib LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/ant.jar LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xml-apis.jar LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xercesImpl-2.2.1.jar LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xalan-2.4.1.jar ANT_HOME=$LIBDIR echo CP=$LOCALCLASSPATH echo Building with classpath $CP echo Starting Ant... echo $JAVA_HOME/bin/java -Dant.home=$ANT_HOME -classpath "$CP" org.apache.tools.ant.Main $* 1.1 xml-fop/examples/mathml/build.xml Index: build.xml === http://sourceforge.net/projects/jeuclid/"/> http://xml.apache.org/fop/)"/> 1.1 xml-fop/examples/mathml/docs/example.mml Index: example.mml === http://www.w3.org/1998/Math/MathML"; mode="display"> { a , ... , a ︷ k a 's
cvs commit: xml-fop/contrib/mathml/src/org/apache/fop/mathml MathMLElement.java MathMLElementMapping.java MathMLObj.java
jeremias2003/01/29 08:26:34 Removed: contrib/mathml .cvsignore README build.bat build.sh build.xml contrib/mathml/docs example.mml mathml.fo contrib/mathml/lib readme.txt contrib/mathml/resources/META-INF/services org.apache.fop.fo.ElementMapping contrib/mathml/src/org/apache/fop/mathml MathMLElement.java MathMLElementMapping.java MathMLObj.java Log: Move over to examples/mathml - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/docs - New directory
jeremias2003/01/29 08:33:42 xml-fop/examples/plan/docs - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan - New directory
jeremias2003/01/29 08:33:30 xml-fop/examples/plan - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/resources - New directory
jeremias2003/01/29 08:33:55 xml-fop/examples/plan/resources - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/resources/META-INF - New directory
jeremias2003/01/29 08:33:59 xml-fop/examples/plan/resources/META-INF - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/resources/META-INF/services - New directory
jeremias2003/01/29 08:34:02 xml-fop/examples/plan/resources/META-INF/services - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/src - New directory
jeremias2003/01/29 08:34:12 xml-fop/examples/plan/src - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/src/org - New directory
jeremias2003/01/29 08:34:16 xml-fop/examples/plan/src/org - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/src/org/apache - New directory
jeremias2003/01/29 08:34:19 xml-fop/examples/plan/src/org/apache - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/src/org/apache/fop - New directory
jeremias2003/01/29 08:34:23 xml-fop/examples/plan/src/org/apache/fop - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/src/org/apache/fop/plan - New directory
jeremias2003/01/29 08:34:27 xml-fop/examples/plan/src/org/apache/fop/plan - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/plan/src/org/apache/fop/plan ActionInfo.java EventList.java GroupInfo.java Main.java PlanDrawer.java PlanElement.java PlanElementMapping.java PlanHints.java PlanObj.java PlanRenderer.java SimplePlanDrawer.java
jeremias2003/01/29 08:35:07 Added: examples/plan .cvsignore README build.bat build.sh build.xml examples/plan/docs june.xml plan.fo examples/plan/resources/META-INF/services org.apache.fop.fo.ElementMapping examples/plan/src/org/apache/fop/plan ActionInfo.java EventList.java GroupInfo.java Main.java PlanDrawer.java PlanElement.java PlanElementMapping.java PlanHints.java PlanObj.java PlanRenderer.java SimplePlanDrawer.java Log: Move over from contrib/plan Revision ChangesPath 1.1 xml-fop/examples/plan/.cvsignore Index: .cvsignore === build 1.1 xml-fop/examples/plan/README Index: README === FOP Plan Readme The plan extension is an addition to FOP that can be used to produce a simple plan diagram with tasks etc. See docs/plan.fo for further information. 1.1 xml-fop/examples/plan/build.bat Index: build.bat === @echo off echo Plan Build System echo --- if "%JAVA_HOME%" == "" goto error set LIBDIR=..\..\lib set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\ant.jar set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis.jar set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.2.1.jar set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.4.1.jar set ANT_HOME=%LIBDIR% echo Building with classpath %LOCALCLASSPATH% echo Starting Ant... %JAVA_HOME%\bin\java.exe -Dant.home=%ANT_HOME% -classpath "%LOCALCLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 goto end :error echo ERROR: JAVA_HOME not found in your environment. echo Please, set the JAVA_HOME variable in your environment to match the echo location of the Java Virtual Machine you want to use. :end rem set LOCALCLASSPATH= pause 1.1 xml-fop/examples/plan/build.sh Index: build.sh === #!/bin/sh echo echo "Plan Build System" echo "" echo if [ "$JAVA_HOME" = "" ] ; then echo "ERROR: JAVA_HOME not found in your environment." echo echo "Please, set the JAVA_HOME variable in your environment to match the" echo "location of the Java Virtual Machine you want to use." exit 1 fi LIBDIR=../../lib LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/ant.jar LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xml-apis.jar LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xercesImpl-2.2.1.jar LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xalan-2.4.1.jar ANT_HOME=$LIBDIR echo CP=$LOCALCLASSPATH echo Building with classpath $CP echo Starting Ant... echo $JAVA_HOME/bin/java -Dant.home=$ANT_HOME -classpath "$CP" org.apache.tools.ant.Main $* 1.1 xml-fop/examples/plan/build.xml Index: build.xml === http://xml.apache.org/fop/)"/> 1.1 xml-fop/examples/plan/docs/june.xml Index: june.xml === http://xml.apache.org/fop/plan"; width="500" height="300" start="38320523" end="38320706"> Plan for June Panel Installation Constuctor Team 38320518 38320607 Integrety Test Constuctor Team 38320527 38320608 Shell Complete Constuctor Team 38320608 Environment Installation Enviros 38320608 38320623 Gas Enviros 38320608 38320612 Plan Optimisation Simulators 38320602 38320820 Simulation Params Simulators 38320602 38320610 Preparation Complete Simulators 38320610 Paths Simulators 38320610 38320630
cvs commit: xml-fop/contrib/plan/src/org/apache/fop/plan ActionInfo.java EventList.java GroupInfo.java Main.java PlanDrawer.java PlanElement.java PlanElementMapping.java PlanHints.java PlanObj.java PlanRenderer.java SimplePlanDrawer.java
jeremias2003/01/29 08:35:59 Removed: contrib/plan .cvsignore README build.bat build.sh build.xml contrib/plan/docs june.xml plan.fo contrib/plan/resources/META-INF/services org.apache.fop.fo.ElementMapping contrib/plan/src/org/apache/fop/plan ActionInfo.java EventList.java GroupInfo.java Main.java PlanDrawer.java PlanElement.java PlanElementMapping.java PlanHints.java PlanObj.java PlanRenderer.java SimplePlanDrawer.java Log: Move over to examples/plan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/examples/servlet/src FopPrintServlet.java FopServlet.java
jeremias2003/01/29 08:37:53 Added: examples/servlet .cvsignore README build.bat build.sh build.xml examples/servlet/conf web.xml examples/servlet/lib servlet-2.2.jar servlet.LICENSE.txt examples/servlet/src FopPrintServlet.java FopServlet.java Log: Move over from contrib/servlet Revision ChangesPath 1.2 +1 -0 xml-fop/examples/servlet/.cvsignore 1.2 +21 -0 xml-fop/examples/servlet/README 1.2 +34 -0 xml-fop/examples/servlet/build.bat 1.2 +28 -0 xml-fop/examples/servlet/build.sh 1.2 +91 -0 xml-fop/examples/servlet/build.xml 1.2 +21 -0 xml-fop/examples/servlet/conf/web.xml 1.2 +127 -0xml-fop/examples/servlet/lib/servlet-2.2.jar <> 1.2 +59 -0 xml-fop/examples/servlet/lib/servlet.LICENSE.txt 1.2 +240 -0xml-fop/examples/servlet/src/FopPrintServlet.java 1.2 +136 -0xml-fop/examples/servlet/src/FopServlet.java - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/contrib/servlet/src FopPrintServlet.java FopServlet.java
jeremias2003/01/29 08:39:01 Removed: contrib/servlet .cvsignore README build.bat build.sh build.xml contrib/servlet/conf web.xml contrib/servlet/lib readme.txt contrib/servlet/src FopPrintServlet.java FopServlet.java Log: Move over to examples/servlet - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: drawing borders
You can do things like border-width="0.25pt". Please use the fop-user mailing list for asking questions like this next time. Thanks a lot! On 29.01.2003 02:30:03 Paulo Gustavo Benfatti wrote: > There is a way to draw a border of a cell/table/block minor than 1pt ? Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: cvs commit: xml-fop/contrib/servlet/src FopPrintServlet.javaFopServlet.java
[EMAIL PROTECTED] wrote: Log: Move over to examples/servlet Umm. The servlet should rather go into the source tree, right next to the api and (ant-)task... J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
Keiron Liddle wrote: The only drawback is that it constantly needs to find the child layout manager that applies to a given break... Well, if there is a min < opt < max, and opt doesn't quite fit, you have to choose whether to use the wiggle room to the min or to the max side. This bothers me. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Fix for fo:leader
Hi, I more or less fixed the leader generation causing all sorts of problems and specifically #15936. Some issues: - The state machine detecting line breaks is brittle. It will probably cause problems if leaders are mixed with graphics on the same line I'm again tempted to do something about this. - If the source contains whitespace at the end of the text in a block, the last line of the block will have a space appended. Therefore Entry 32 will not be properly right aligned. I have no idea how to get rid of said space. Should we simply recommend to avoid whitespace at the end of blocks if alignment is critical? - If the line is not space-justified, all leaders get the opt length only. - Justify if there are several leaders in a line. Currently the algorithm is as follows: 1. Assign every leader opt space while filling the line. 2. In align(), max out leaders unless either there are no more leaders or no more slack space. 3. Distribute any slack space left equally on the resizable spaces (subject to round off, should use a Bresenham-like algo for perfection :-) Can anybody come up with an algorithm to distribute slack space over several leaders which can deal with arbitrary combinations of opt-max intervals? J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
On Wednesday, January 29, 2003, at 09:05 AM, Victor Mote wrote: BTW, I looked for but did not find licensing information at tug & ctan licensing information, as well as in my Norman Walsh book "Making TeX Work". Does it use a GPL? If it had a compatible licensing scheme, it would sure seem to make sense to use as much of the TeX work as possible. Information about the licenses used by the TeX related softwares are available on this page: http://www.ctan.org/tex-archive/help/Catalogue/licenses.html The core of TeX, the files written by Donald Knuth, doesn't seem to be covered by a particular license apart from the README file http://www.ctan.org/tex-archive/systems/knuth/tex/README The TeX FAQ confirms that TeX simply is free: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whyfree Sébastien Aperghis-Tramoni -- - --- -- - -- - --- -- - --- -- - --[ http://maddingue.org ] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: source for hz algorithm
Sébastien Aperghis-Tramoni wrote: > Information about the licenses used by the TeX related softwares > are available on this page: >http://www.ctan.org/tex-archive/help/Catalogue/licenses.html > > The core of TeX, the files written by Donald Knuth, doesn't seem to > be covered by a particular license apart from the README file >http://www.ctan.org/tex-archive/systems/knuth/tex/README > > The TeX FAQ confirms that TeX simply is free: >http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whyfree Thanks very much for digging those out. The last one describes what seems a lot like the Apache license -- in other words, there don't seem to be restrictions on commercial use. From what I have read so far, pdfTeX is the implementation that uses the HZ stuff (or something similar) most heavily. Digging through the first reference above led me to http://www.ctan.org/tex-archive/help/Catalogue/entries/pdftex.html which indicates that pdfTeX uses the GPL, so we may be out of luck there. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
On Wednesday, January 29, 2003, at 03:26 PM, Peter B. West wrote: I can't visualise the flow of control here. I presume that the break (possibility?) is generated at, say, line-area building level. Yes, a break is only generated where it is necessary [Is this always based on knowledge of the IPDim, or does the possibility exist of not knowing IPDim, but being prepared to report upward on the possibilities for IPDim?] For that situation I suggest a slightly different approach based on the same break ideas. If an LM needs to find the min/max IPD, for example table cell, then it will use getNextBreak to get the breaks from above and then look at the information. It can find the distance and constraints only within the table cell context. Does the information about this break then percolate back up to the flow-level layout manager? Is the BPDim from top of page reported back to the line-area level, or maintained at the flow manager level? Only the best break is needed for the general break finding. It keeps going downwards until this break is found. Once found it returns to the top, ie. flow manager. The BPD is only on the break and can be found at any time from anywhere using a start and end break. State information is not stored on the line areas. It also finds the keeps from the current break position, looking at parent layout managers and next layout managers for keep with previous. A best break is found based on these two values. A next break is then found, since we don't know we have a best until there is a worse break. This can be done for all pages in the page sequence or until forced break. This implies that the answer to my previous question is that the BPDim comes back down to the line-area level, and that keeps are resolved between adjacent line-area builders. Your notes here seem to be referring to column and page breaks. At what level is the contention between two or more line-area builders for "best break" resolved? As before the constraints can be found from anywhere at any time. So for page columns it can getNextBreak (doesn't invalidate since same IPD and page) calculate distance from top of column, calculate constraints. So the contention in this case is resolved by the page column LM. Then if for example we want to find the optimum break. There is also the possiblity to get the next break within a context (which invalidates all further breaks) or previous break. Is this invalidating of further breaks something which is instigated from a higher level? The stored breaks would be thrown away at a higher level. But for the finding breaks it think it could actually be done when doing a find or getting the next break, it would check the context and determine if it is different from before. I am quite confident that this will work well. Footnotes and before floats suddenly become easy. Keeps are quite easy also. It would be good to get some more illustrations of the way these will work. The only drawback is that it constantly needs to find the child layout manager that applies to a given break and that finding the BPD distance could be time consuming in some circumstances. Optimisations should help a bit. I would see these being arranged as a set of heuristics - for want of a better word - that are applied in a structured fashion to detected layout conflicts of particular types. What comprises a conflict would be determined by those configurable parameters. In the initial version, we only need to provide for the most basic of these, as long as the mechanism is general enough to allow for refinement. I am hoping that making the breaks simple and easy to find certain properties from any position will help us to explore what to do next. I think this is similar to what I refer to as threading the tree to establish which areas are contiguous in the output, both for keeps and space specifiers resolution. I have attached the code, very rough. proto.jar Description: Binary data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
On Wednesday, January 29, 2003, at 03:20 PM, Rhett Aultman wrote: This might be semantic nitpicking more than anything, but how can finding a worse break prove you have the best break? Wouldn't you have to find all possible breaks and verify that they're "worse"? Also, just for personal enlightenment, what principles govern "betterness" or "worseness"? I didn't say it properly. Okay, if we are going down a page the first break found after the first line will be the first best break. The next line will then become the best break as it is closer to the optimum distance and has no keeps. As we go down the page it will keep find better breaks for the current page. Going in only forwards a better break is one that has a lower keep value or an equal keep but is closer to the optimum. Once it goes past the optimum then if we find a break with an equal keep to the current best and it is further away then the current best is the best. Then if for example we want to find the optimum break. There is also the possiblity to get the next break within a context (which invalidates all further breaks) or previous break. << Could you please expound on this idea a little further? I don't think I'm quite following. Sorry don't have time right now. There is a bit of info in the other message. The only drawback is that it constantly needs to find the child layout manager that applies to a given break and that finding the BPD distance could be time consuming in some circumstances. Optimisations should help a bit. << Offhand, I would think that this won't represent a reall performance bottleneck, and it would seem quite necessary given my somewhat green understanding of what you're proposing. I am hoping that making the breaks simple and easy to find certain properties from any position will help us to explore what to do next. << I'd really like to see this feature in motion. Being able to find this seems imperative for handing conflicting constraints and other anomalous situations. Take a look at the code in attached to the other message. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Fix for fo:leader
J.Pietschmann wrote: >3. Distribute any slack space left equally on the resizable spaces > (subject to round off, should use a Bresenham-like algo for > perfection :-) >Can anybody come up with an algorithm to distribute slack space >over several leaders which can deal with arbitrary combinations >of opt-max intervals? Unless the spec indicates something different, my naive solution would be to distribute it in proportion to their pre-existing (optimal) size. So with 3 leaders, A, B, & C: new sizeA = sizeA + (sizeA / (sizeA + sizeB + sizeC) * slack) Compute the above for each leader, limiting each to the max. If any max out, they are completed, and the excess returns to the pool. Repeat this for remaining leaders until excess is used up or all of them max out. Don't apply your rounding until the end. If all of them max out, it would seem reasonable to distribute any remaining slack equally as space between the leaders. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: cvs commit: xml-fop/contrib/servlet/src FopPrintServlet.java FopServlet.java
Sorry, will relocate. Is org.apache.fop.tools.servlet ok? On 29.01.2003 21:50:21 J.Pietschmann wrote: > [EMAIL PROTECTED] wrote: > > Log: > > Move over to examples/servlet > > Umm. The servlet should rather go into the source tree, right next > to the api and (ant-)task... Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: source for hz algorithm
On Wednesday, January 29, 2003, at 09:54 PM, J.Pietschmann wrote: Keiron Liddle wrote: The only drawback is that it constantly needs to find the child layout manager that applies to a given break... Well, if there is a min < opt < max, and opt doesn't quite fit, you have to choose whether to use the wiggle room to the min or to the max side. This bothers me. By that I mean using this code all the time: int start = 0; if (last != null) { LM currentchild = last.getChildOf(this); if (currentchild != null) { start = childBlocks.indexOf(currentchild); } } It has no relationship to finding a break. It is just finding where a break is when start from last break, adding breaks from last to current break, finding distance from last to current break. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]