什么情况下SVG路径的命令可以省略?

cyq*_*mon 2 graphics svg

我正在使用来自维基百科的地图文件的 SVG 代码,并偶然发现了这个看起来很奇怪的path元素。

<path d="m 36.943395,239.60555 c -2.53599,-0.0564 1.53374,-0.10078 -2.36262,-0.80482 0.32392,1.46137 0.35668,3.39659 -0.2642,6.15571 -0.16424,0.73016 -0.53689,1.39667 -1.02526,1.94642 8.3e-4,0.003 -0.73141,3.09631 3.2815,0.64493 0.79653,-0.4865 0.81727,-3.85406 0.0695,-4.31941 -1.13081,-0.70362 0.19452,-0.0269 0.27789,-1.56755 0.0174,-0.32184 1.91842,-2.01319 0.0232,-2.05529 l 0,1e-5 z"/>
Run Code Online (Sandbox Code Playgroud)

它似乎省略了大部分命令,只留下坐标,但不知何故在 Chrome 和 Firefox 中仍然可以正确呈现。所以我怀疑这里有一些标准(或者至少是事实上的标准)。然而,经过一番搜索后,我找不到任何关于可选命令和/或命令省略的参考。

那么有人可以解释一下这path是如何解释的吗?命令省略是否有任何标准?谢谢。

Rob*_*son 5

SVG规范对此进行了解释。

通常,前面的命令会重复,但移动会变成线条。这在此处的文字中进行了解释

如果连续多次使用同一命令,则可以在后续命令中删除命令字母(例如,您可以删除“M 100 200 L 200 100 L -100 -200”中的第二个“L”并使用“M 100 200 L 200 100 -100 -200" 代替)。

所以你的路径相当于一个 m 后面跟着多个 c 命令。