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