summaryrefslogtreecommitdiff
path: root/font
diff options
context:
space:
mode:
authorG. Branden Robinson <g.branden.robinson@gmail.com>2022-07-14 08:38:51 -0500
committerG. Branden Robinson <g.branden.robinson@gmail.com>2022-07-15 21:02:12 -0500
commitca0c6eb84bdcf08b518f4c70318f84fb91b863c8 (patch)
treeedac70133a6f6557d40ebe6dc683eea2662abed9 /font
parent7891e54facaa89c932a11709240cde4dd060b118 (diff)
downloadgroff-git-ca0c6eb84bdcf08b518f4c70318f84fb91b863c8.tar.gz
[build]: Add gropdf font description sanity tests.
[build]: Add sanity checks for font description file generation for PDF output device, prompted by discussion with Ingo Schwarze. See <https://lists.gnu.org/archive/html/groff/2022-06/msg00094.html>. * font/devpdf/tests/basic-fonts-present.sh: * font/devpdf/tests/urw-fonts-present.sh: Add files. * font/devpdf/devpdf.am (font_devpdf_TESTS): Add the former test unconditionally, and the latter only if `HAVE_URW_FONTS`.
Diffstat (limited to 'font')
-rw-r--r--font/devpdf/devpdf.am9
-rwxr-xr-xfont/devpdf/tests/basic-fonts-present.sh47
-rwxr-xr-xfont/devpdf/tests/urw-fonts-present.sh79
3 files changed, 135 insertions, 0 deletions
diff --git a/font/devpdf/devpdf.am b/font/devpdf/devpdf.am
index b2eecfac0..663774f01 100644
--- a/font/devpdf/devpdf.am
+++ b/font/devpdf/devpdf.am
@@ -170,6 +170,15 @@ uninstall_devpdf:
rmdir $(DESTDIR)$(devpdffontdir); \
fi
+font_devpdf_TESTS = \
+ font/devpdf/tests/basic-fonts-present.sh
+
+if HAVE_URW_FONTS
+font_devpdf_TESTS += font/devpdf/tests/urw-fonts-present.sh
+endif
+
+TESTS += $(font_devpdf_TESTS)
+EXTRA_DIST += $(font_devpdf_TESTS)
# Local Variables:
# mode: makefile-automake
diff --git a/font/devpdf/tests/basic-fonts-present.sh b/font/devpdf/tests/basic-fonts-present.sh
new file mode 100755
index 000000000..5b55ed5ef
--- /dev/null
+++ b/font/devpdf/tests/basic-fonts-present.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Copyright (C) 2022 Free Software Foundation, Inc.
+#
+# This file is part of groff.
+#
+# groff is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# groff is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# Ensure that groff's PDF device has the copies it needs of PostScript
+# device font descriptions.
+#
+# We need all of them except SS and ZDR.
+
+devps_fontsrcdir="${abs_top_srcdir:-..}"/font/devps
+devpdf_fontbuilddir="${abs_top_builddir:-.}"/font/devpdf
+
+psfonts=$(cd "$devps_fontsrcdir" && ls [A-Z]* \
+ | grep -Evx '(DESC\.in|SS|ZDR)')
+
+fail=
+
+for f in $psfonts
+do
+ printf "checking for font description %s...\n" "$f" >&2
+ if ! test -f "$devpdf_fontbuilddir"/"$f"
+ then
+ echo test -f "$devpdf_fontbuilddir"/"$f"
+ echo FAILED >&2
+ fail=yes
+ fi
+done
+
+test -z "$fail"
+
+# vim:set ai et sw=4 ts=4 tw=72:
diff --git a/font/devpdf/tests/urw-fonts-present.sh b/font/devpdf/tests/urw-fonts-present.sh
new file mode 100755
index 000000000..67af0f967
--- /dev/null
+++ b/font/devpdf/tests/urw-fonts-present.sh
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# Copyright (C) 2022 Free Software Foundation, Inc.
+#
+# This file is part of groff.
+#
+# groff is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# groff is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# Ensure that groff's PDF device has URW font descriptions it expects.
+
+devpdf_fontbuilddir="${abs_top_builddir:-.}"/font/devpdf
+
+# TODO: Scrape this list out of Foundry or Foundry.in. Not possible
+# with grep, likely a little tedious with sed.
+urwfonts='AB
+ABI
+AI
+AR
+BMB
+BMBI
+BMI
+BMR
+CB
+CBI
+CI
+CR
+HB
+HBI
+HI
+HNB
+HNBI
+HNI
+HNR
+HR
+NB
+NBI
+NI
+NR
+PB
+PBI
+PI
+PR
+S
+TB
+TBI
+TI
+TR
+ZCMI
+ZD'
+
+fail=
+
+for basefontname in $urwfonts
+do
+ f=U-$basefontname
+ printf "checking for font description %s...\n" $f >&2
+ if ! test -f "$devpdf_fontbuilddir"/$f
+ then
+ echo test -f "$devpdf_fontbuilddir"/$f
+ echo FAILED >&2
+ fail=yes
+ fi
+done
+
+test -z "$fail"
+
+# vim:set ai et sw=4 ts=4 tw=72: