[bug #68345] [troff] stop throwing font deprecation warnings on font names the user handles by remapping to valid names

"G. Branden Robinson" <[email protected]>
Newsgroups gmane.comp.printing.groff.bugs
Message-ID <[email protected]>
URL:
  <https://savannah.gnu.org/bugs/?68345>

                 Summary: [troff] stop throwing font deprecation warnings on
font names the user handles by remapping to valid names
                   Group: GNU roff
               Submitter: gbranden
               Submitted: Wed 13 May 2026 08:05:39 AM UTC
                Category: Core
                Severity: 4 - Important
              Item Group: Warning/Suspicious behaviour
                  Status: Confirmed
                 Privacy: Public
             Assigned to: gbranden
             Open/Closed: Open
         Discussion Lock: Unlocked
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Wed 13 May 2026 08:05:39 AM UTC By: G. Branden Robinson <gbranden>
Spawned off of bug #68261.

There, in comment 9, Deri wrote, in reply to me:

> Whilst it
> [https://cgit.git.savannah.gnu.org/cgit/groff.git/commit/?id=5011cd1d5a
> commit 5011cd1d5a]
> is only a deprecation and works (by switching to CR as it always
> has), I'm not too bothered, it is educating the users away from using a
> pseudo
> font (and the actual warning can be suppressed as you explained). My concern
> was if, at the end of the deprecation, you intended to convert the warning
> to
> an error, since it would mean that users who decide to tell troff which font
> to use instead of the pseudo (i.e. have heeded the warning by adding:-

.if t .if \n(.g .ftr C CR


> To a startup file to point troff to a real font) will be miffed.

I had no plans to "convert" the warning to an error, but instead to drop the
specialized deprecation code introduced by that commit.  Which, however, would
probably amount to the same thing.  If a user tried to select font `C` or
`Hx`, and didn't have font description files set up for fonts of those names
for the selected output device, then yeah, they'd get errors, just as in the
following case.


$ echo '.ft BOGUS' | ./build/test-groff -T ps
troff:<standard input>:1: error: cannot open font description file 'BOGUS': No
such file or directory
troff:<standard input>:1: warning: cannot select font 'BOGUS' [-w font]


In fact, what you propose would make GNU _troff_ **more** self-consistent:


$ printf '.ftr BOGUS TR\n.ft BOGUS\n' | ./build/test-groff -T ps 2>&1 \
  | grep . || echo cool beans -- no diagnostics
cool beans -- no diagnostics


Contrast:


$ printf '.ftr Hx TR\n.ft Hx\n' | ./build/test-groff -T ps 2>&1 | grep . ||
echo cool beans -- no diagnostics
troff:<standard input>:2: warning: font name 'Hx' is deprecated [-w font]


So, yeah, I think I had better change this.

Setting Severity to Important because I did not intend for GNU _troff_ to
screech at the user when they take reasonable steps to make their document not
select nonexistent fonts...but since we're screeching _before_ applying font
translations instead of after, that is the outcome.

That means moving the deprecation warning higher in the call stack.  I'm a
little nervous that this will mean having to change function signatures to add
an argument, or making `is_device_ps_or_pdf` global, but we'll see.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?68345>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCagQw2AAKCRCqLAuaBUf3
Tq9fAP4wl+O3cJNI8rVgrSAFVIusjfBwIRpo/w7aorQMhQ2gqAD/W6E6eI9p2NV/
t+Frrg5pLnbug/vfXQaIa+5bgN7dgAk=
=H9/M
-----END PGP SIGNATURE-----
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.