RE: source for hz algorithm

2003-01-29 Thread Victor Mote
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

2003-01-29 Thread Victor Mote
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

2003-01-29 Thread Peter B. West
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

2003-01-29 Thread Victor Mote
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

2003-01-29 Thread Peter B. West
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

2003-01-29 Thread Keiron Liddle
> 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

2003-01-29 Thread Arnd Beißner
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

2003-01-29 Thread Rhett Aultman

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

2003-01-29 Thread Rhett Aultman
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

2003-01-29 Thread Peter B. West
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

2003-01-29 Thread Paulo Gustavo Benfatti



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

2003-01-29 Thread Rhett Aultman

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

2003-01-29 Thread Peter B. West
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

2003-01-29 Thread Peter B. West
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

2003-01-29 Thread Clay Leeds
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

2003-01-29 Thread Peter B. West
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

2003-01-29 Thread Clay Leeds
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

2003-01-29 Thread Rhett Aultman
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread Peter B. West


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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread jeremias
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

2003-01-29 Thread Jeremias Maerki
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

2003-01-29 Thread J.Pietschmann
[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

2003-01-29 Thread J.Pietschmann
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

2003-01-29 Thread J.Pietschmann
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

2003-01-29 Thread Sébastien Aperghis-Tramoni
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

2003-01-29 Thread Victor Mote
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

2003-01-29 Thread Keiron Liddle

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

2003-01-29 Thread Keiron Liddle

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

2003-01-29 Thread Victor Mote
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

2003-01-29 Thread Jeremias Maerki
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

2003-01-29 Thread Keiron Liddle

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]