[svgwg] Corner-case incompleteness of stroke-miterlimit specification for "arcs" join (#772)

skef has just created a new issue for https://github.com/w3c/svgwg:

== Corner-case incompleteness of stroke-miterlimit specification for "arcs" join ==
This is in reference to section [13.5.5](https://svgwg.org/svg2-draft/painting.html#LineJoin) of the current SVG 2 draft.

The end of 13.5.5 has this note about stroke-miterlimit:

> For the **arcs** value, the miter length is calculated along a circular arc that is tangent to the line bisecting the angle between the two segments at the point the two segments intersect and passes through the end point of the join. The line join is clipped, if necessary, by a line perpendicular to this arc at an arc length from the intersection point equal to half the value of the stroke-miterlimit value multiplied by the stroke width.

Imagine, however, a completely symmetric "source contour" for which the curvatures are equal and opposite:

![symjoin](https://user-images.githubusercontent.com/6175836/72070330-27ab9800-329e-11ea-851d-0d395997109b.png)

In such a case the line that passes through the intersection point and the end of the join will have the same slope as the line bisecting the tangent angle. Therefore there will be no such clipping circle (or the radius of the circle will be infinite). Therefore the clipping line should instead be perpendicular to the line between the intersection and the end point, with the distance from the intersection also measured along that line. 

Please view or discuss this issue at https://github.com/w3c/svgwg/issues/772 using your GitHub account

Received on Thursday, 9 January 2020 13:15:38 UTC