<html><head></head><body>Including zero-width strokes makes sense to me. After all, true hairlines are supposed to act as though they're zero-width.<br><br>The reason I implemented it this way it's because I was worried about two use cases:<br><br>1) Some applications might rely on zero-width lines being invisible. (Imagine an artist who selects all the lines he wants to hide and changes their line width to zero.)<br><br>2) Maybe some CNC machines rely on zero-width lines? PS_COSMETIC lines are always 1 unit wide, so there would be no way to send zero-width lines to the printer any more. This seems unlikely to be a problem, but it's possible.<br><br>(1) can be fixed by the calling application, and (2) isn't likely a real problem, and if we include zero-width strokes it would make it easier for developers to make true zero-width hairlines (since they don't need to know the target device's minimum unit size), so I'm down for it.<br><br>-Rick-<br><br><div class="gmail_quote">On October 18, 2018 9:10:07 AM PDT, Carl Worth <cworth@cworth.org> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Wed, Oct 17 2018, Rick Yorgason wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">With this patch, I can use Inkscape to set my stroke width to 0.001" and <br>it will cut through the material as expected.<br></blockquote><br>If we're going to have a magic value here, I think I'd be much happier<br>to have 0 be the magic value.<br><br>(I know that your code isn't actually making 0.001" be magic, but a<br>whole range of values. I think I would really prefer to have that range<br>include rather then exclude 0.0.)<br><br>Does anyone see any reason why a stroke width of 0 shouldn't be treated<br>this way?<br><br>I think that would make a much better way to be able to document<br>this. ("Use a value of 0 to get a PS_COSMETIC pen which is useful when<br>targeting devices such as laser cutters".)<br><br>And speaking of documentation, it seems this patch should also be<br>touching up the documentation, such as in cairo_set_line_width?<br><br>I know the code is specific to the Windows backend, but I think it's<br>reasonable to put a backend-specific note into the general documentation<br>in a case like this.<br><br>-Carl<br></pre></blockquote></div><br>-- <br>Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>