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).