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/

Attachment: signature.asc
Description: PGP signature

Reply via email to