sammycage / lunasvg

lunasvg is a standalone SVG rendering library in C++
MIT License
818 stars 115 forks source link

Rendering issue (mismatch with other SVG libraries) #127

Closed m-carrasco closed 6 months ago

m-carrasco commented 1 year ago

Hi,

I found this SVG file causing LunaSVG (b66e22402526ae2fc58a0de508442401002b550b) to generate a different image to GNOME Image Viewer (v3.36.3), ReSVG (v0.29.0), and Firefox (v111.0).

LunaSVG PNG

The PNG generated by LunaSVG mismatches in drawing the two-ends tail of the triangle, at the top left side of the image. The next image is a side by side comparison of LunaSVG (top) and Image Viewer (bottom), and the mismatch region in red (added by me):

mismatch

If possible, I'd like to ask/confirm if this is a bug in LunaSVG or it is a legal difference between the SVG libraries.

Thanks for sharing this project o/

Best regards, Manuel

sammycage commented 1 year ago

Dear Manuel,

After investigating the issue further, I can confirm that the problem is indeed a bug in LunaSVG. The issue is not related to any legal difference between the SVG libraries.

I am reaching out to request the original source site for the file that you provided. I am currently working on fixing a code bug and I believe that the information on the original source site may be necessary for me to successfully resolve the issue.

Would it be possible for you to provide me with the original source site so that I can access the information needed to fix the code bug? Your assistance would be greatly appreciated and I look forward to hearing back from you soon.

Best regards, Sam

m-carrasco commented 1 year ago

Hi Sam,

Thanks a lot for checking on this bug!

I am reaching out to request the original source site for the file that you provided. I am currently working on fixing a code bug and I believe that the information on the original source site may be necessary for me to successfully resolve the issue.

The reported SVG file was generated by us in the context of our research. I am not sure if I understand what you mean by source site. Could you tell me what information in specific would be helpful to solve the bug?

Best regards, Manuel.

sammycage commented 1 year ago

Could you please provide an explanation of the purpose of this file in relation to bug testing?

For instance, this file was created to be used for testing the behavior of the round line-cap when applied to paths with zero length? #40

m-carrasco commented 1 year ago

Hi Sam,

I can't provide a particular use case for the given input since the SVG has been generated in an automated way. We understand that the SVG specification determines the semantics of the test case and the expected behaviour is validated by checking the result with different SVG libraries (as reported).

Our research goal is to automatically generate a valid SVG for LunaSVG, which exhibits a rendering bug. The technique analyzes LunaSVG and ensures generating an SVG that LunaSVG accepts. Then, we classify it as a bug when there is a divergence with several other SVG rendering libraries.

Thanks again for your time!

Best regards, Manuel.