groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: units used in `ss` request (was: device-dependent warnings)


From: Dave Kemper
Subject: Re: units used in `ss` request (was: device-dependent warnings)
Date: Tue, 23 May 2023 15:24:26 -0500

On 5/21/23, G. Branden Robinson <g.branden.robinson@gmail.com> wrote:
> At 2023-05-13T12:52:06-0500, Dave Kemper wrote:
>> .nf
>> .ss 36
>> foo bar
>> .ss 48
>> foo bar
>> foo\h'1m'bar
>>
>> In Heirloom troff, the space on the first and third lines match.  In
>> groff (both 1.22.4 and 1.23 rc4), the second and third lines do.
>
> On DWB 3.3 troff, a direct descendant of Kernighan troff, and the basis
> for Heirloom Doctools troff, the second and third lines match:

The behavioral divergence between DWB 3.3 and Heirloom surprises me.
I wondered if maybe this was the result of a different Times space
width in Heirloom, but if I'm reading its metrics files correctly
(which I admit is partly educated guesswork on my part), the widths
appear to match groff's:

$ cd heirloom/local/ucblib/doctools/font/devps
$ fgrep 'N space ' *
B.afm:C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
BI.afm:C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
CB.afm:C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
CI.afm:C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
CW.afm:C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
CX.afm:C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
H.afm:C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
HB.afm:C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
HI.afm:C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
HX.afm:C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
I.afm:C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
R.afm:C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
S.afm:C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
S1.afm:C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
ZD.afm:C 32 ; WX 278 ; N space ; B 0 0 0 0 ;

> I don't think I trust Heirloom here.  First, I suspect what they did was
> treat the CSTR #54 as more authoritative than empirically measured
> formatter behavior.

I can't rule that out, but it sure goes against (my understanding of)
the general philosophy of the Heirloom project (which is to use only
the original source code for original functionality, not
reverse-engineering any of it).

But I have no alternative theory that fits the facts.

I guess the upshot is that rather than a groff difference that needs
to be documented, this is a CSTR #54 erratum (which groff could still
document, but it feels less important).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]