[Manuel]
Agree, and I have a solution for that ready to go.
I think this deserves some further comment / discussion. One, IMO
important, reason I want to do the evaluation during the FO parsing
stage is that once we are in the LMs we lost the property inheritance
information. That is something like:
<fo:block font-size="120%">
<fo:block>Text</fo:block>
</fo:block>
looks to the LM like:
<fo:block font-size="120%">
<fo:block font-size="120%">Text</fo:block>
</fo:block>
True, but the percentbase of the second 120% should be the same as the
base of the first. They are both 120% of a value on <fo:flow>. So when
evaluated, the result values will be the same. All inheritance must be
resolve by the property system.
Otherwise it is a bug.
The reason for keeping the values as percentage is to support
font-size="120% + 1pt" and to *really* open the discussion it should be
noted that the spec does *not* require additive operation on relative
lengths. Only multiplications are required.
Once the expression engine in fop tried to use that by calculating a
factor to be applied to relative lengths.
Does svn view have an attic?
http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/
If it does I could propably find the code, it wasn't pretty.
regards,
finn