Re: [svgwg] Is "M0,0L100,0ZL100,50L200,200ZL,0,200Z" 1 subpath or 3? (#866)

Philippe Verdy wrote:
> "M0,0ZZZZZZZZZZ" just creates a single subpath "M0,0Z",

This is not accurate.  There is nothing in the spec that corroborates that statement.

The spec states:
> If a "closepath" is followed immediately by a "moveto", then the "moveto" identifies the start point of the next subpath. If a "closepath" is followed immediately by any other command, then the next subpath must start at the same initial point as the current subpath.

It doesn't distinguish close-path commands from other commands.  So each extra Z should create new sub-path and immediately close it.

As proof, try the following test case in Firefox: https://jsfiddle.net/msqyx1k5/

````
<svg viewBox="-50 -50 100 100" width="400">
  <defs>
    <marker id="Triangle" viewBox="0 0 10 10" refX="1" refY="5" 
            markerUnits="strokeWidth" markerWidth="4" markerHeight="3"
            orient="auto">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="rgba(0,0,0, 0.2)"/>
    </marker>
  </defs>
  
  <path d="M-40,0Z" marker-end="url(#Triangle)" stroke="red" stroke-width="4"/>
  <path d="M40,0ZZZZZ" marker-mid="url(#Triangle)" stroke="red" stroke-width="4"/>
</svg>
````

You can see that the 20%-black mid markers stack on top of each other to make a darker triangle.
So Firefox at least creates multiple sub-paths.

Note: Don't try this in Chrome. It is buggy and does odd things.  I'm going to file a bug on that now.




-- 
GitHub Notification of comment by BigBadaboom
Please view or discuss this issue at https://github.com/w3c/svgwg/issues/866#issuecomment-1034453620 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 10 February 2022 03:25:11 UTC