fskpf/svg2roughjs

Parsing polygon (and possibly polyline) point lists is broken

ygra opened this issue · 0 comments

ygra commented

Both coordinate pairs and coordinates can be separated by comma-wsp. This breaks the shapes-polygon-01-t test from the SVG test suite:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"[]>
<svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360" viewBox="0 0 480 360">
  <g id="test-body-content">
    <!-- Test case label. -->
    <!-- ====================================================================== -->
    <!-- First two polygons, convex and "regular".                              -->
    <!-- ====================================================================== -->
    <!-- Open, convex, "regular". -->
    <polygon id="polygon-01" fill="none" stroke="#000000" points="59,45,95,63,108,105,82,139,39,140,11,107,19,65" />
    <!-- Closed, convex, "regular". -->
    <polygon id="polygon-02" fill="red" points="179,45,218,63,228,105,202,139,159,140,131,107,139,65,179,45" />
    <!-- ====================================================================== -->
    <!-- Third polygon, concave and irregular.                                  -->
    <!-- ====================================================================== -->
    <!-- Closed, convex, "irregular". -->
    <polygon id="polygon-03" fill="blue" stroke="black" stroke-width="6" points="350,45 375,80 410,95 375,110 350,145 325,120 290,95 325,70,350,45" />
    <!-- ====================================================================== -->
    <!-- Fourth and fifth polygons.                                             -->
    <!-- ====================================================================== -->
    <!-- Closed, convex, "regular". -->
    <polygon id="polygon-05" fill="none" stroke="#0000FF" stroke-width="8" points="59,185,98,203,108,245,82,279,39,280,11,247,19,205,59,185" />
    <!-- Open, convex, "regular". -->
    <polygon id="polygon-06" fill="#00FF00" stroke="#0000FF" stroke-width="8" points="179,185,218,203,228,245,202,279,159,280,131,247,139,205" />
    <!-- ====================================================================== -->
    <!-- Sixth polygons, irregular with both concave and convex angles.         -->
    <!-- ====================================================================== -->
    <polygon id="polygon-07" fill="none" stroke="#00FF00" stroke-width="8" points="270,225 300,245 320,225 340,245 280,280                   390,280 420,240 280,185" />
  </g>
  <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.7 $</text>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
</svg>