- From: fuchsia via GitHub <sysbot+gh@w3.org>
- Date: Fri, 29 Sep 2017 09:58:30 +0000
- To: public-svg-issues@w3.org
fuchsia has just created a new issue for https://github.com/w3c/svgwg: == The SVG2 points-attribute is not backwardly-compatible with SVG1.1 == ``` <polygon stroke="black" fill="red" points=" 0. 32. 32. 0. 64. 32."/> <polyline stroke="black" fill="none" points="96. 32. 128. 0. 160. 32."/> ``` The above draws a triangle and a chevron in SVG 1.1; but draws nothing in SVG 2. That's because, in SVG 1.1, [the points attribute is defined](https://www.w3.org/TR/SVG/shapes.html#PointsBNF) using a bespoke grammer which allow trailing dots on numbers. Whereas [SVG2 uses](https://svgwg.org/svg2-draft/shapes.html#DataTypePoints) the CSS definition of [`<number-token>`](https://drafts.csswg.org/css-syntax-3/#number-token-diagram) which prohibits trailing dots, stopping the above rendering. Is this intentional? If so, what's the rational for changing it here and not on pathdata? (See #331) It's probably worth pointing out that SVG 1.1 is inconsistent with itself: it allows trailing dots in pathdata and the points attribute, but prohibits them on all other [numbers](https://www.w3.org/TR/SVG11/types.html#DataTypeNumber). So ``` <line stroke="black" x1="288." y1="0." x2="320." y2="32."/> ``` is illegal. To me that suggests permitting them at all was bug in SVG 1.1. Compatibility table: trailing dots allowed on numbers? --------------------------------------------------------- Desktop Browser | points | pathdata | general number attributes ----------------|----------|--------------|------------- Chrome 62.0 | no | no | yes Firefox 55.0.3 | no | no | no Edge ??? | yes | yes | yes Safari 10.1.2 | no | no | no Derived by running [this fiddle](https://jsfiddle.net/qdoem0ta/) and seeing what renders. ``` <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="352px" height="96px"> <polygon stroke="black" fill="red" points="0. 32. 32. 0. 64. 32." /> <polyline stroke="black" fill="none" points="96. 32. 128. 0. 160. 32." /> <path stroke="black" fill="red" d="M 192. 32. 224. 0. 256. 32." /> <line stroke="black" x1="288." y1="0." x2="320." y2="32." /> <text x="32" y="48" dominant-baseline="middle" text-anchor="middle">polygon</text> <text x="128" y="48" dominant-baseline="middle" text-anchor="middle">polyline</text> <text x="224" y="48" dominant-baseline="middle" text-anchor="middle">path</text> <text x="304" y="48" dominant-baseline="middle" text-anchor="middle">line</text> </svg> ``` Ping @tshinnic Please view or discuss this issue at https://github.com/w3c/svgwg/issues/347 using your GitHub account
Received on Friday, 29 September 2017 09:58:21 UTC