svg – 为什么W3C要求掉空弧?

我们可以在
Appendif F : Implementation Requirements > F.6 Elliptical arc implementation notes中读到以下内容:

If the endpoints (x1, y1) and (x2, y2) are identical, then this is equivalent to omitting the elliptical arc segment entirely.

由于以下原因,这对我来说很奇怪:

>如果空A段在C和S之间,当我们删除该段时,S的解释会发生变化.
>此规则与其他规则不一致:为什么不省略空行或空曲线,但省略空弧?
>浏览器(Chrome,Firefox)不遵循此规则.例如,如果我们从M 0 0 C 0 10 10 10 10 0 A 10 10 0 0 0 10 0 S 20 -10 20 0下降空弧,我们得到非等效路径M 0 0 C 0 10 10 10 10 0 S 20 -10 20 0.

《svg – 为什么W3C要求掉空弧?》

所以我的问题是:如果我们编写一个SVG库,我们是否必须遵守这条规则?

最佳答案 浏览器遵循规则就好了. “省略”并不一定意味着完全无视其存在.它们可以省略渲染,但在解释S和T路径命令时不应忽略其坐标值.

点赞