[Top][All Lists]

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

Re: [PATCH v2 3/4] zic.8: Use correct escape sequences instead of specia

From: Paul Eggert
Subject: Re: [PATCH v2 3/4] zic.8: Use correct escape sequences instead of special characters
Date: Sat, 26 Nov 2022 16:12:25 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 2022-11-26 13:19, G. Branden Robinson wrote:
I would attach scans of Tables I and II from "NROFF/TROFF User's
Manual", the version dated 1976, published with Volume 2 of the Unix
Programmer's Manual (1979)

Thanks for looking into this. It took me a trip down memory lane as I believe I was the first person to submit a computer-typeset PhD thesis to UCLA. I used 7th Edition Unix troff along with the C/A/T phototypesetter that was troff's main target in the 1970s. (As an aside, the C/A/T was why stderr was invented; see Diomidis Spinellis's "The Birth of Standard Error" 2013-12-11 <>.)

Solaris 10 /usr/bin/troff is largely unchanged from 1970s troff, and supports \(ga but none of the other escapes you mention, I expect because they were not present in the Bell Labs special font version 4 and Commercial II that Unix assumed on the C/A/T. The source code of 7th Edition Unix troff agrees with Solaris 10 behavior here, and this also agrees with 7th Edition Unix /usr/doc/troff/table2 which documents \(ga but none of the other escapes you mentioned. I'm a bit surprised that the printed manuals you mention disagree with 7th Edition Unix, but anyway it doesn't matter all that much since Solaris 10 is what it is.

On other words, on Solaris 10 if I take this file 'foo':

        default font
        aq |\(aq| |'|
        ga |\(ga| |`|
        ha |\(ha| |^|
        ti |\(ti| |~|
        .ft CW
        CW font
        aq |\(aq| |'|
        ga |\(ga| |`|
        ha |\(ha| |^|
        ti |\(ti| |~|

and run the shell command:

   /usr/bin/troff foo | /usr/lib/lp/postscript/dpost >

I get the attached file, and 'evince' says only \(ga works and even there it's barely usable in the default font, as shown in the attached screenshot foo.png of 'evince' displaying

.ie \n(.g .q \f(CR!$%&\(aq()*,/:;<=>?@[\e]\(ha\(ga{|}\(ti\fP .
.el .ie t .q \f(CW!$%&'()*,/:;<=>?@[\e]\(ha\(ga{|}\(ti\fP .
.    el   .q !$%&'()*,/:;<=>?@[\e]\(ha\(ga{|}\(ti .

With Solaris 10 in mind, in the second line of your proposed code the \f(CW...\fP and the \(ga are OK but the \(ha, \(ga, \(ti are dubious so I installed the attached patch instead.

Description: PostScript document

Attachment: foo.png
Description: PNG image

Attachment: 0001-zic.8-Work-better-with-Solaris-10-troff.patch
Description: Text Data

reply via email to

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