https://issues.apache.org/ooo/show_bug.cgi?id=123410

            Bug ID: 123410
        Issue Type: DEFECT
           Summary: [SVG] marker rotation wrong on line close line
                    sequence in d attribute in path element
           Product: Draw
           Version: 4.1.0-dev
          Hardware: All
               URL: http://www.w3.org/TR/SVG/painting.html#OrientAttribute
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: open-import
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
        Depends on: 119118

Created attachment 81692
  --> https://issues.apache.org/ooo/attachment.cgi?id=81692&action=edit
Example with close command followed by line command

If there is no moveto but another command immediately after a z command, then
the spec defines a special calculation for the marker rotation:

"When a 'closepath' command is followed by a command other than a 'moveto'
command, then the orientation of the marker corresponding to the 'closepath'
command is calculated assuming that:
    the path segment going into the vertex is the path segment corresponding to
the closepath
    the path segment coming out of the vertex is the first path segment of the
subsequent subpath."

The current implementation of get_markerRotation cannot handle this, because it
only knows the polygon, to which the vertex belongs, but not the next polygon.

Because of the still missing fix for bug 119118, testing is yet not possible.
You will see a completely wrong rendering. The attachment contains the
svg.graphic and a picture how it is rendered in IE 10, and a document with both
linked.

Armin, I have put you in CC, because this cannot be fixed by simple changes
inside a method, but a design change might be needed. Is the information,
whether a subpath was started with a moveto command still available in method
SvgStyleAttributes::add_markers?

-- 
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.

Reply via email to