From: Johan E. <jbc...@sw...> - 2014-08-05 18:46:47
|
Hi all, Liam just committed a bug fix to Inkscape trunk, regarding our SVG parser. SVG spec says: "If the endpoints (x1, y1) and (x2, y2) are identical, then this is equivalent to omitting the elliptical arc segment entirely." [1] Liam changed the parser so that it will simply drop such segments: void _arcTo(double rx, double ry, double angle, bool large_arc, bool sweep, Point p) { + if (_current == p) { // sic, probably should be are_near(_current, p) + return; + } _quad_tangent = _cubic_tangent = _current = p; _sink.arcTo(rx, ry, angle, large_arc, sweep, p); } I am not sure about this change. We are not dropping any degenerate bezier segments in our parser. Thanks for input, Johan [1] http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes <http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes> |