<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 18 Jan 2023 at 13:04, luigi scarso <<a href="mailto:luigi.scarso@gmail.com">luigi.scarso@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 18 Jan 2023 at 12:53, Lutz Haseloff <<a href="mailto:lutz.haseloff@toppkieker.info" target="_blank">lutz.haseloff@toppkieker.info</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hi Luigi,</p>
    <p>I tested a bit further.</p>
    <p>MP:</p>
    <p>outputformat := "svg";<br>
      outputtemplate := "%j-%c.%{outputformat}";<br>
      beginfig(19)<br>
      fill fullcircle scaled 19 withcolor red ;<br>
      endfig;<br>
      end<br>
    </p>
    <p>SVG:</p>
    <p><?xml version="1.0"?><br>
      <!-- Created by MetaPost 2.02 on 2023.01.18:1229 --><br>
      <svg version="1.1" xmlns=<a href="http://www.w3.org/2000/svg" target="_blank">"http://www.w3.org/2000/svg"</a>
      xmlns:xlink=<a href="http://www.w3.org/1999/xlink" target="_blank">"http://www.w3.org/1999/xlink"</a> width="19.000000"
      height="19.000000" viewBox="0 0 19.000000 19.000000"><br>
      <!-- Original BoundingBox: -9.500000 -9.500000 9.500000
      9.500000 --><br>
        <path d="M18.500000 9.000000 (should be 19.0 9.5) ...
      11.519557 -0.500000 (should be 0) ... -0.500000 9.000000 (should
      be 0) ... ,18.500000 9.000000Z" style="fill:
      rgb(100.000000%,0.000000%,0.000000%);stroke:
      none;"></path><br>
      </svg><br>
    </p>
    <p>It seems, that the path d is not correctly transformed from the
      ps hires boundingbox (-9.5 -9.5 9.5 9.5) to the svg viewbox (0 0
      19 19).</p>
    <p>With even sizes ( say 20) it works ok.</p>
    <p><br></p></div></blockquote><div><br></div><div>indeed, I was looking at it ... this evening can check it better</div><div><br></div><div>--</div><div>luigi</div><div><br></div><div> </div></div></div></blockquote><div><br></div><div>looking at this now, maybe the integer dx and dy are not ok.</div><div><br></div><div>@ We often need to print a pair of coordinates. <br><br>Because of bugs in svg rendering software, it is necessary to <br>change the point coordinates so that there are all in the "positive" <br>quadrant of the SVG field. This means an shift and a vertical flip.<br><br>The two correction values are calculated by the function that writes<br>the initial |<svg>| tag, and  are stored in two globals:<br><br>@<Globals@>=<br>integer dx;<br>integer dy;<br><br>@ @c<br>void mp_svg_pair_out (MP mp,double x, double y) { <br>  mp_svg_store_double(mp, (x+mp->svg->dx));<br>  append_char(' ');<br>  mp_svg_store_double(mp, (-(y+mp->svg->dy)));<br>}</div><div><br>If I use double, i.e.</div><div>@<Globals@>=<br>double dx;<br>double dy;<br></div><div><br></div><div>I have now</div><div><br></div><div><?xml version="1.0"?><br><!-- Created by MetaPost 2.02 on 2023.01.19:0912 --><br><svg version="1.1" xmlns="<a href="http://www.w3.org/2000/svg">http://www.w3.org/2000/svg</a>" xmlns:xlink="<a href="http://www.w3.org/1999/xlink">http://www.w3.org/1999/xlink</a>" width="19.000000" height="19.000000" viewBox="0 0 19.000000 19.000000"><br><!-- Original BoundingBox: -9.500000 -9.500000 9.500000 9.500000 --><br>  <path d="M19.000000 9.500000C19.000000 6.980331,17.998917 4.564163,16.217377 2.782623C14.435837 1.001083,12.019669 -0.000000,9.500000 -0.000000C6.980331 -0.000000,4.564163 1.001083,2.782623 2.782623C1.001083 4.564163,0.000000 6.980331,0.000000 9.500000C0.000000 12.019669,1.001083 14.435837,2.782623 16.217377C4.564163 17.998917,6.980331 19.000000,9.500000 19.000000C12.019669 19.000000,14.435837 17.998917,16.217377 16.217377C17.998917 14.435837,19.000000 12.019669,19.000000 9.500000Z" style="fill: rgb(100.000000%,0.000000%,0.000000%);stroke: none;"></path><br></svg><br><br></div><div>--</div><div>luigi</div></div></div>