#1036825 po4a: Gracefully handle unsupported fonts in man module

#1036825#5
Date:
2023-05-27 11:57:46 UTC
From:
To:
some man pages we translate have the following:

.sp
To create and activate a swapfile run the following commands:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
# truncate \-s 0 swapfile
# chattr +C swapfile
# fallocate \-l 2G swapfile
# chmod 0600 swapfile
# mkswap swapfile
# swapon swapfile
.ft P
.fi

The ".INDENT" creates warnings (which I can remove/ignore). However, the
.ft C
.ft P

creates the following error:
LC_ALL=C po4a-updatepo -f man --no-deprecation --option groff_code=verbatim --option generated --option untranslated="rstReportMargin,INDENT,UNINDENT,UN,a.RE,\|"  --option unknown_macros=untranslated --master
+"../upstream/archlinux/man5/btrfs.5" -M utf-8 -p /tmp/bfoo
../upstream/archlinux/man5/btrfs.5:844: (po4a::man)
               Unsupported font in: '\fC# truncate \-s 0 swapfile
               # chattr +C swapfile
               # fallocate \-l 2G swapfile
               # chmod 0600 swapfile
               # mkswap swapfile
               # swapon swapfile
               '.

If I comment out the two lines, i.e.
.ft C → ".ft C
and
.ft P → ".ft P

then processing proceeds.

As a workaround I'm currently considering patching the source files "on
the fly" to get the build to proceed.

Until recently I was ignoring this message, because it implies that
just a font is not properly handled; however I did not realize that
the build fails.

(This is now urgent as some man pages build for bullseye, but no
longer for bookworm, and once bullseye translations are gone, the
entire translation is gone - no good).

So there are two solutions:
a) Reword the message to clearly state that the build is aborted
b) Ignore the font change, i.e. actually build the pot file
   In this case, the warning can remain as is.

Obviously, I would prefer a) (and potentially a sane workaround until
then).

#1036825#10
Date:
2023-05-27 12:02:12 UTC
From:
To:
Hello,

I would prefer *b)*. Sorry for the typo.

Greetings

             Helge

#1036825#15
Date:
2023-06-27 22:23:04 UTC
From:
To:
  There should exist a file "man.local" (for example in /etc/groff)
which can be augmented with

.\" "CW" is not a portable font name, but some man pages use it anyway.
.\" Uncomment this to suppress warnings produced by such pages.  This
.\" test remaps the font to roman ("R") on nroff (terminal) devices. You
.\" might prefer to remap it to bold ("B") instead.
.if n \{\
.  ftr CW R
.  ftr C R
.  ftr P R
.\}

  Something like this will be in the next (pending) groff release,
but will have to be adjusted (locally) for the fonts in question.