<p dir="ltr">The little square model is OK for Cairo, since it uses a box filter for sampling tje omage when rendering. This is necessary for antialiasing. You can substitute "pixel centers" with "pixel positions" and "pixel edges" with "boundaries of the support of the box filter evaluated for the relevant pixels".</p>
<div class="gmail_quote">On Apr 22, 2016 09:53, "Bill Spitzak" <<a href="mailto:spitzak@gmail.com">spitzak@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think it is clearest to say the boundaries between the pixels are at integers.<div><br></div><div>The centers (I don't think there is anything wrong with saying center) is a i+.5, j+.5 where i and j are integers.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 21, 2016 at 9:05 PM, Lawrence D'Oliveiro <span dir="ltr"><<a href="mailto:ldo@geek-central.gen.nz" target="_blank">ldo@geek-central.gen.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The explanation of how to draw sharp single-pixel-wide lines<br>
<<a href="http://cairographics.org/FAQ/#sharp_lines" rel="noreferrer" target="_blank">http://cairographics.org/FAQ/#sharp_lines</a>> could be better phrased.<br>
The claim<br>
<br>
    When some people hear pixels described as little squares it sets<br>
    their teeth on edge.<br>
<br>
is nonsense. Saying this doesn’t set anyone’s “teeth on edge” (not of<br>
knowledgeable people, anyway), it is simply wrong<br>
<<a href="http://www.alvyray.com/Memos/MemosCG.htm#PixelIsNotSquare" rel="noreferrer" target="_blank">http://www.alvyray.com/Memos/MemosCG.htm#PixelIsNotSquare</a>>.<br>
<br>
The explanation could be expressed simply as an issue of where to<br>
position the pixels* with respect to the coordinate system. In my Cairo<br>
Gotchas notebook<br>
<<a href="https://github.com/ldo/qahirah_notebooks/blob/master/Cairo%20Gotchas.ipynb" rel="noreferrer" target="_blank">https://github.com/ldo/qahirah_notebooks/blob/master/Cairo%20Gotchas.ipynb</a>>,<br>
I currently say<br>
<br>
    Cairo locates pixels at integer+½ units in device coordinates. This<br>
    way, adjacent filled areas which share the same integer-coordinate<br>
    boundary will abut nicely without overlaps or gaps. So if you want<br>
    to draw lines that don’t get smeared across extra pixels, you will<br>
    have to position them at coordinates n such that n mod 1 = ½<br>
<br>
which is a much more direct way of putting it, don’t you think? And<br>
completely avoiding any misleading comments about “little squares”.<br>
<br>
*Note I said “pixels”, not “pixel centres”.<br>
<span><font color="#888888">--<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org" target="_blank">cairo@cairographics.org</a><br>
<a href="https://lists.cairographics.org/mailman/listinfo/cairo" rel="noreferrer" target="_blank">https://lists.cairographics.org/mailman/listinfo/cairo</a></font></span></blockquote></div><br></div>
<br>--<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="https://lists.cairographics.org/mailman/listinfo/cairo" rel="noreferrer" target="_blank">https://lists.cairographics.org/mailman/listinfo/cairo</a><br></blockquote></div>