This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Attached is a file which demonstrates how the first three gradients should render (if I read the SVG standard correctly) by simply substituting the filtered gradients by gradients which mimic the filtering. I have no idea in what way, exactly, the current reference PNG is wrong, but it most definitely seems to be very wrong: - The first third of the "table" gradient should be a transition from yellow to black, without any green. This can be easily verified by considering that in the original gradient went from #ff0000 to #00ff00 and that the two transfer functions are mirror versions of each other. - At the far left of the "linear" gradient the red channel in the reference PNG reaches values above 200, while 255*(.5+.25)=191.25. - At x=133, the original gradient (at the top) has green value 207, the "gamma" gradient should therefore have value 255*(2*(207/255)^3+0)=272.8... (so 255, as the values are clamped). In contrast, the reference PNG has value 185.
Created attachment 612 [details] SVG file that demonstrates how filters-comptrans SHOULD render (except for the gamma gradient, which is not as easy to mimic)
I just found out about the color-interpolation properties, which means the calculations become a lot more complicated (and it's not as easy to calculate a correct reference). So, the original reference MIGHT be correct after all.
(In reply to comment #2) > I just found out about the color-interpolation properties, which means the > calculations become a lot more complicated (and it's not as easy to calculate a > correct reference). So, the original reference MIGHT be correct after all. Thats correct. The 'color-interpolation-filters' property is set to 'linearRGB' by default. Thats why your expected result looks different to the one on the test suite. You get your result, if you set 'color-interpolation-filters' to 'sRGB'. At least on viewers with support for this property. I think this bug can be closed.