Hi

I'm working on a bug to get AFP to draw borders so that the horizontal
and vertical lines are aligned. There are rounding errors in
or.apache.fop.afp.AFPBorderPainter.java in paint(PaintingInfo
paintInfo) caused by Math.round(), basically it's the age old issue
of:

x == y + z

doesn't mean

Math.round(x) = Math.round(y) + Math.round(z) (if y and z are rational)
but
Math.round(x) == Math.round(y+z) (if y and z are rational)

We're currently using floats to represent co-ordinates, would anyone
have any issues if i refactored it to use doubles? Obviously there's a
memory issue here, thus my asking, but we've got integer in the
Intermediate Format, the output is an integer, but we need to convert
between the two. Converting an int into a float is lossy where as
converting it to a double isn't, that is my reason for wanting the
change.

Thanks

Mehdi

Reply via email to