Re: Potential bug in sv geometry

"onf" <[email protected]>
Newsgroups gmane.comp.printing.groff.general
Message-ID <[email protected]>
Hi Bjarni,

On Tue Nov 25, 2025 at 12:05 AM CET, Bjarni Ingi Gislason wrote:
> On Sun, Nov 23, 2025 at 08:12:32PM +0000, Bjarni Ingi Gislason wrote:
> > On Fri, Nov 21, 2025 at 08:28:49PM +0100, onf wrote:
[...]
> > > Given the input,
> > >   .de x
> > >   . br
> > >   ..
> > >   .wh 2v x
> > >   Lorem
> > >   .br
> > >   .sv 1v
> > >   ipsum
> > >   .br
> > >   dolor
> > > 
> > > groff gives the output
> > >   Lorem
> > >   ipsum
> > >   dolor
> > > 
> > > whereas both Heirloom troff and Plan 9 troff give
> > >   Lorem
> > > 
> > >   ipsum
> > >   dolor
[...]
> >   The bug in the 'sv' request is in the heirloom's and plan9's version.
> > 
> >   A text baseline lands exactly on the next baseline after a 1v long jump.
> > 
> >   See "Troff User's Manual" (https://troff.org/54.pdf).
>
>   My explanation is wrong.
>
>   The difference between "groff" and the heirloom's and plan9's versions is
> the position of the trap.
>
>   Groff sets the vertical position at 24000
>   Heirloom sets it at                 24001
>   Plan9 sets it at                    241 (lower resolution)

It's not, they just seem to be calculating that based on register nl,
which is -1 at startup:

  $ 9 troff << 'EOF' >/dev/null
  .de x
  . br
  ..
  .wh 2v x
  .tm \n(nl \n(.t
  EOF
  -1 241

  $ 9 troff << 'EOF' >/dev/null
  .de x
  . br
  ..
  .wh 2v x
  .br
  .tm \n(nl \n(.t
  EOF
  0 240

Cheers,
onf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.