为什么W3C会要求掉空弧?

时间:2015-12-31 15:37:45

标签: svg

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

  

如果端点(x1,y1)和(x2,y2)相同,则相当于完全省略椭圆弧段。

由于以下原因,我觉得很奇怪:

  • 如果空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

enter image description here

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

1 个答案:

答案 0 :(得分:2)

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