CairoSVG icon indicating copy to clipboard operation
CairoSVG copied to clipboard

Correctly handle caps for 0-length lines

Open liZe opened this issue 11 years ago • 6 comments

See: https://github.com/Kozea/CairoSVG/tree/master/test/fail/cap/.

liZe avatar May 10 '13 16:05 liZe

It seems as if these are already working. I don't know which update fixed it, but I think this issue can be closed.

ErikOnBike avatar Jul 09 '16 20:07 ErikOnBike

It's not working for me with Cairo 1.14.6 and the master branch of CairoSVG, the round caps are drawn but not the square ones. @ErikOnBike are you sure that it's working for you?

liZe avatar Jul 12 '16 16:07 liZe

I just compared the original SVG (in both Safari and Chrome) and the SVG output from CairoSVG and they seem to be equal (visually). According to comment inside the file (painting-control-04-f.svg) the result should be "Test passes if there is a blue circle, a blue square, and no red on the page.". I see the blue square and blue circle (and no red) after converting the original into a SVG file. I'm also using Cairo 1.14.6 (on Mac OS X).

Funnily, in the Finder the preview shows something resembling a (8 points) star instead of a square. The preview is sometimes a bit 'off' in more cases, so that does not count as evidence that something is wrong.

ErikOnBike avatar Jul 12 '16 17:07 ErikOnBike

I don't get the square! lol

liZe avatar Jul 12 '16 18:07 liZe

Wow?!

I just wanted to show off that my version is okay and then....I just saw a single circle....with PNG as output format. If I convert to SVG it shows the circle AND the square. If I convert to PNG is shows ONLY the circle?!

If I convert to PDF it also ONLY shows the circle.

The converted SVG is really from CairoSVG (I checked the content). So there must be some difference in the Surface being used then...I assume... I will look into this.

ErikOnBike avatar Jul 12 '16 18:07 ErikOnBike

Guillaume,

Duh....it works in SVG, because the resulting (converted) SVG simply keeps the line-cap as in the original.

Line caps on zero length lines is a Cairo issue. Fixing this might be done in the same manner as Mozilla (see link below). This would mean that we add a small delta on this type of line. What do you think? Is this a real problem (ie does it occur in real live examples)? The fix is not completely trivial (seeing the discussion).

https://bugzilla.mozilla.org/show_bug.cgi?id=589648

ErikOnBike avatar Jul 12 '16 19:07 ErikOnBike