https://issues.apache.org/ooo/show_bug.cgi?id=123401
Bug ID: 123401
Issue Type: DEFECT
Summary: [SVG] special treatment for marker on zero-length path
segment is missing
Product: Draw
Version: 4.1.0-dev
Hardware: All
URL: http://www.w3.org/TR/SVG/implnote.html#PathElementImpl
ementationNotes
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: open-import
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Created attachment 81688
--> https://issues.apache.org/ooo/attachment.cgi?id=81688&action=edit
Examples with zero-length path segments
The SVG specification has a special algorithm for markers on zero-length path
segments,
"Certain line-capping and line-joining situations and markers require that a
path segment have directionality at its start and end points. Zero-length path
segments have no directionality. In these cases, the following algorithm is
used to establish directionality: to determine the directionality of the start
point of a zero-length path segment, go backwards in the path data
specification within the current subpath until you find a segment which has
directionality at its end point (e.g., a path segment with non-zero length) and
use its ending direction; otherwise, temporarily consider the start point to
lack directionality. Similarly, to determine the directionality of the end
point of a zero-length path segment, go forwards in the path data specification
within the current subpath until you find a segment which has directionality at
its start point (e.g., a path segment with non-zero length) and use its
starting direction; otherwise, temporarily consider the end point to lack
directionality. If the start point has directionality but the end point
doesn't, then the end point uses the start point's directionality. If the end
point has directionality but the start point doesn't, then the start point uses
the end point's directionality. Otherwise, set the directionality for the path
segment's start and end points to align with the positive x-axis in user
space."
The current implementation of get_markerRotation in
svgio\source\svgreader\svgstyleattributes.cxx does not consider this algorithm.
The attached zip-file contains a set of svg-graphics and a document with mockup
of expected import results. The results are as I think, they should be
following the given algorithm. Looking at browsers does not really help,
because they do not agree in rendering.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are watching all bug changes.