On Tue 09 May 2017 13:55:38 John Gardner wrote: > Looks like there's a mistake in groff_out(5). It describes its arc-drawing > command as: > > *Draw arc from current position to (h1, v1)+(h2, v2) with center at (h1, > > > v1);* > > However, gropdf.pl tells a different story. To quote line #2791: > <http://git.savannah.gnu.org/cgit/groff.git/tree/src/devices/gropdf/gropdf.p > l?id=453a8aa7c8f8dd0c78160466301f81be8c40df2e#n2791> > > *Documentation is wrong. Groff does not use Dh1,Dv1 as centre of the > circle!* > > I noticed something odd when drawing an arc which wasn't an evenly-sized > quarter-circle. For instance, the following Pic code: > > .PS > > > move down > > A: box > > arc at A.n > > line right > > .PE > > ... generates the following output: > > … > > V84000 > > H99000 > > > Da 0 -36000 18000 54000 > > Which looks like this in gropdf and my own canvas code, respectively: >
In gropdf I adjust the circle centre using code I found in the geometry.cpp library used by the grops driver, so that I could duplicate the output produced by grops.