X-Received: by 2002:a05:6214:1c83:b0:46b:a79a:2f0b with SMTP id ib3-20020a0562141c8300b0046ba79a2f0bmr35513222qvb.103.1658430159785; Thu, 21 Jul 2022 12:02:39 -0700 (PDT) X-Received: by 2002:a05:6808:10d5:b0:33a:b18f:7f3b with SMTP id s21-20020a05680810d500b0033ab18f7f3bmr1025852ois.14.1658430159255; Thu, 21 Jul 2022 12:02:39 -0700 (PDT) Path: csiph.com!tncsrv06.tnetconsulting.net!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.postscript Date: Thu, 21 Jul 2022 12:02:39 -0700 (PDT) In-Reply-To: <6fudnUECfJxtwkT_nZ2dnUU7_83NnZ2d@giganews.com> Injection-Info: google-groups.googlegroups.com; posting-host=185.176.160.84; posting-account=Cp97SgoAAAC0t1Gya5PaPqyoafMoOtAn NNTP-Posting-Host: 185.176.160.84 References: <62351448-10c4-45c7-a2b7-7d71ac7d03aan@googlegroups.com> <6fudnUECfJxtwkT_nZ2dnUU7_83NnZ2d@giganews.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <06a35d75-fbcd-46f2-b6bf-99d277bf64d7n@googlegroups.com> Subject: Re: ArcPrecise, an accurate arc From: jdaw1 Injection-Date: Thu, 21 Jul 2022 19:02:39 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2038 Xref: csiph.com comp.lang.postscript:3778 > so programmers have no surprises when they use ArcPrecise. Good desideratum.=20 I=E2=80=99m coming to the view that ArcPrecise should have an extra paramet= er, which could be one of three values: =E2=9C=AA `/l` =E2=9F=B9=EF=B8=8E `arc`-style `lineto`; =E2=9C=AA `/m` =E2=9F=B9=EF=B8=8E `moveto`, especially useful if previous c= ommand was `closepath`; =E2=9C=AA `/n` =E2=9F=B9=EF=B8=8E nothing, presumably because the currentpo= int is already the start of the curve. The compulsory extra parameter prevents surprises. > Advice: 'ArcPrecise' should have the same API as 'arc'.=20 Good desideratum. And=20 `/arc {/l ArcPrecise} def` would work as you require. Would this extra final parameter, `/l` | `/m` | `/n`, satisfy everybody?