Comment 7 for bug 1093742

Revision history for this message
Alvin Penner (apenner) wrote :

sorry, I misspoke myself, the source of the problem is not in the file 'svg\css-ostringstream.cpp', or the routine 'write_num'. The source of the problem is that the data coming in to this routine, which is variables like fill-opacity, stroke-width, and stroke-miterlimit, are all originally declared to be single-precision variables, even though they are being passed into a routine that accepts double-precision variables. Therefore it is unavoidable that there will be some round-off error in them if they are inspected at the 8th significant digit, which is the default behavior in Inkscape.
    It is not really feasible to convert these variables from single-precision to double-precision at this stage of the game, and there is very little practical purpose in doing so. Therefore I would recommend using the above workaround, in comment 5. I believe this should solve the problem in all cases.