[Top][All Lists]

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

[bug #63366] groff.texi: clarify handling of special fonts

From: Dave
Subject: [bug #63366] groff.texi: clarify handling of special fonts
Date: Mon, 14 Nov 2022 12:23:20 -0500 (EST)


                 Summary: groff.texi: clarify handling of special fonts
                 Project: GNU troff
               Submitter: barx
               Submitted: Mon 14 Nov 2022 11:23:18 AM CST
                Category: Core
                Severity: 2 - Minor
              Item Group: Documentation
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None


Follow-up Comments:

Date: Mon 14 Nov 2022 11:23:18 AM CST By: Dave <barx>
The "Special Fonts" section of the Texinfo documentation is ambiguous on one
point and seemingly missing info on another.

This section was last touched in 2014 (by commit e3c63595
<http://git.savannah.gnu.org/cgit/groff.git/commit/?id=e3c63595>, fixing a
recurring grammatical nit throughout the file), so has remained unchanged
since 1.22.3 (and therefore hasn't been Brandenified).

This section says both "The Symbol font is usually a special font" and "Use
the 'special' request to define special fonts.  Initially, this list is
empty."  So the initial list of special fonts both is empty and contains

That Symbol is in fact a default special font is easily demonstrable.  The
groff input characters \[HE] and \[CL] have glyphs in Symbol but not Times:

$ egrep 'HE|CL' /usr/share/groff/current/font/devps/TR
$ egrep 'HE|CL' /usr/share/groff/current/font/devps/S
CL      753,533,26      3       167     club
HE      753,532,33      3       169     heart

And groff input that specifies no font information, defaulting to Times, also
finds Symbol when needed:

$ printf 'I \[HE] my \[CL]\n' | groff -Z | fgrep font
x font 5 TR
wx font 11 S

This section of the manual also states, "Previous calls to 'special' or
'fspecial' are overwritten; without arguments, the particular list of special
fonts is set to empty."  So to remove the Symbol font from the list of special
fonts, one ought to be able to give these requests empty lists.

But this doesn't behave as might be expected from the above-quoted sentence:

$ printf '.special\n.fspecial TR\nI \[HE] my \[CL]\n' | groff -Z | fgrep font
x font 5 TR
wx font 11 S

That the two ".*special" requests in this sample input are essentially no-ops
can be explicitly demonstrated via:

$ diff <(printf 'I \[HE] my \[CL]\n' | groff -Z) <(printf '.special\n.fspecial
TR\nI \[HE] my \[CL]\n' | groff -Z) | wc
      0       0       0

I can only conclude that the Symbol font is an _extra_-special special font
that exists outside the _ordinary_ "special" mechanism.  The documentation
could be clearer about this.

Additionally, I'm puzzled by the word "usually" up there.  How does one
overturn this usual case, if the documented method of emptying the lists of
special fonts exempts the extra-special Symbol font?


Reply to this item at:


Message sent via Savannah

reply via email to

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