63 Commits

Author SHA1 Message Date
G. Branden Robinson
e7bc2afe46 Declare groff's provenance consistently. 2025-12-17 16:56:49 -06:00
G. Branden Robinson
131de13dc2 [devpdf]: Fix Savannah #67415.
* font/devpdf/devpdf.am: Rationalize use of make(1) macros for
  intelligibility and to fix a missing-prerequisite bug.

  (DEVPDFFONTFILES_FROM_DEVPS): Rename this...
  (devpdffont_descriptions_from_devps): ...to this.  Not all "files" are
  font descriptions, and we need a macro to track only the latter.

  (DEVPDFFONTFILES_FOR_URW): Rename this...
  (devpdffont_descriptions_for_urw): ...to this for similar reasons.

  (DEVPDFFONTFILES): Rename and rescope this...
  (devpdffontdescriptions): ...to this.  Retain the "SS" font
  description file in its expansion but drop "symbolsl.{afm,pfb}" and
  "download"...

  (devpdffontdata): ...moving them here, along with the expansion of
  `devpdffontdescriptions`.

  (font/devpdf/download): Depend on the expansion of
  `devpdffont_descriptions_from_devps`.

Fixes <https://savannah.gnu.org/bugs/?67415>.  Thanks to Bjarni Ingi
Gislason for the report and analysis.  Problem introduced (I think--its
exposure required "make --shuffle") by me in commit bace292caf, 29 June.
2025-08-14 12:53:58 -05:00
G. Branden Robinson
3a334f7a17 [devpdf]: Reduce noise from Makefile.
* font/devpdf/devpdf.am (font/devpdf/download): Drop `--strict` option
  from rule command.  The `BuildFoundries` script no longer supports it.

Fixes <https://savannah.gnu.org/bugs/?67366>. Thanks to Bjarni Ingi
Gislason for the report.

Continues commit 3c415fd70 from Deri, 24 July.
2025-07-28 01:08:07 -05:00
G. Branden Robinson
88d43b8217 XXX symbolsl.afm 2025-07-09 07:50:19 -05:00
G. Branden Robinson
cf655a7e15 [devpdf]: Rename slanted symbol font.
It's not a standard PDF font, so it's less misleading to omit "Standard"
from its name.

* font/devpdf/generate/StandardSymSL.sfd: Rename this...
* font/devpdf/generate/symbolsl.sfd: ...to this...
* font/devpdf/StandardSymSL.pfb.in: ...and this...
* font/devpdf/symbolsl.pfb.in: ...to this.

* font/devpdf/devpdf.am (DEVPDFFONTFILES): Update macro definition.

  (EXTRA_DIST): Update macro appendment.

  ($(devpdf_builddir)/StandardSymSL.pfb): Rename target from this...
  ($(devpdf_builddir)/symbolsl.pfb): ...to this.  Update prerequisite
  and rule to use new names.

* font/devpdf/download.in: Update embeddable font file name.

* src/util/pfbtops/tests/smoke-test.sh: Update test.

* src/devices/gropdf/gropdf.1.man (Files): Reflect rename.
2025-07-09 07:50:19 -05:00
G. Branden Robinson
ec2327b6b7 font/devps/generate/*: Stop generating symbol.map.
We'll maintain it in the source tree henceforth.
2025-07-05 07:55:47 -05:00
G. Branden Robinson
20d59d263f [devpdf]: Fix Savannah #67268.
* font/devpdf/devpdf.am: Tidy up for better build reliability.

  (font/devpdf/util/BuildFoundries): Stop handling the "download" file.

  (font/devpdf/download): Move the file's comment header from here...

* font/devpdf/download.in: ...to here.

* font/devpdf/devpdf.am (font/devpdf/download): Use "BuildFoundries"'s
  new `--download` option to construct the target from "download.in".
  Stop setting write permission on the generated download file in the
  build tree; it's no longer necessary.

Fixes <https://savannah.gnu.org/bugs/?67268>.  Thanks to Dave Kemper for
the report.
2025-07-04 09:46:35 -05:00
G. Branden Robinson
ca68e94af7 [devpdf]: Ship abstract CJK font descriptions.
* font/devpdf/devpdf.am: Ships font description file names for the "pdf"
  output device corresponding to the 8 new font description files for
  CJK script support recently added for the "{x,}html", "ps", and "utf8"
  devices.

These are intended as abstractions of faces to permit consistent naming
while permitting customization, just as with the 12 text typefaces
supported across output devices for Latin scripts in groff (three
families of four styles each).  These CJK font descriptions are not
organized into groff font families, but are similar.  They are not
mounted by default.

	CSH: Simplified Chinese, Hei style
	CSS: Simplified Chinese, Song style
	CTH: Traditional Chinese, Hei style
	CTS: Traditional Chinese, Song style
	JPG: Japanese, Gothic style
	JPM: Japanese, Mincho style
	KOG: Korean, Gothic style
	KOM: Korean, Mincho style

* font/devpdf/devpdf.am (DEVPDFFONTFILES_FROM_DEVPS): Add them.

* .gitignore: Add them.
2025-06-29 03:55:14 -05:00
G. Branden Robinson
bace292caf [devpdf]: Fix Savannah #67207 (3/4).
* font/devpdf/devpdf.am: Refactor.  Make this script more
  Automake-idiomatic (I think) and resemble other groff Automake scripts
  more closely.

  (devpdf_builddir): Define macro.

  (GROFF_FONT_FILES, ENC_FILES, MAP_FILES): Drop macros populated by
  shell command substitution in favor of static file lists...
  (DEVPDFFONTFILES_FROM_DEVPS): ...like this...
  (DEVPDFFONTFILES_FOR_URW) [HAVE_URW_FONTS]: ...and this.

  (DEVPDFFONTFILES): New macro contains only
  `DEVPDFFONTFILES_FROM_DEVPS` plus the "download", "DESC", "SS", and
  "StandardSymSL.pfb" files (all generated by the build, the last two
  trivially).

  (devpdffontdata, devpdffontencdata): Rationalize contents, aligning
  files and macro contents with installation requirements so Automake
  takes care of installing and uninstalling them.

  (MOSTLYCLEANFILES): Add `devpdffontdata`, `devpdffontencdir`,
  `devpdffontmapdir`, so that Automake takes care of cleaning them.

  ($(DEVPDFFONTFILES_FROM_DEVPS)): New target copies "ps" device's font
  descriptions to build's "pdf" device data directory.

  ($(devpdffontencdata)): Now that the "text.enc" encoding file name is
  stored in a macro, use it and compute its basename instead of using
  literals.

  ($(DEVPDFFONTFILES_FOR_URW)): Make the "pdf" device's "download" file
  depend on this macro's contents, which may be empty if
  `HAVE_URW_FONTS` is not defined by the "configure" script.

  (font/devpdf/stamp): Respell dependencies using above macros.

  (mostlyclean-local, mostlyclean_devpdf_extra) (install-data-local,
  install_devpdf) (uninstall_groffdirs, uninstall_devpdf): Drop targets
  made redundant by better population of `devpdf*data` macros above.

Continues fixing <https://savannah.gnu.org/bugs/?67207>.
2025-06-29 03:55:09 -05:00
G. Branden Robinson
ae3f4dee51 [devpdf]: Ship source for StandardSymSL font.
* font/devpdf/generate/StandardSymSL.sfd: Add human-readable source
  format for new font.  Everything in groff is available under the GNU
  GPL, so we should provide a "preferred form for modification".  (We
  already do so for "freeeuro.sfd".)

* font/devpdf/devpdf.am (EXTRA_DIST): ...and ship it in the distribution
  archive.  At this time, we also ship the "compiled" PFB file; the
  build process does not perform any transformation of the source SFD
  file.  That can change in the future if we can tolerate a build-time
  dependency on fontforge(1).
2025-06-26 23:13:18 -05:00
Deri James
7450197986 [devpdf,gropdf]: Support SS slanted-symbol font.
Replace pseudo-slanted characters with a real font, improving typography
of, e.g., slanted lowercase Greek letters as used in eqn(1).

* font/devpdf/DESC.in: Mount new font `SS` prior to `S`.

* font/devpdf/SS: New file describes new slanted-symbol font.  The
  metrics are hand-tweaked.  We can't run afmtodit on the symbolsl.afm
  file in grops because it produces incorrect metrics--the width/height
  values do not take into account the rescaling of the glyph sizes by
  .89.

* font/devpdf/StandardSymSL.pfb: New PostScript font supplies slanted
  versions of glyphs in the standard Symbol font.

* font/devpdf/devpdf.am (GROFF_FONT_FILES): Update macro definition to
  scan the build directory for file names matching font descriptions,
  excluding both symbol fonts.  Relocate definition to be closer to use.

  (devpdffont_DATA): Add new files "SS", "StandardSymSL.pfb", and
  "download.in".

  (font/devpdf/SS): New target is generated by copying from source tree
  to build tree if they differ.  As a side effect, also copy
  "StandardSymSL.pfb".

  (font/devpdf/util/BuildFoundries): Copy "download.in" file from source
  tree to build tree with new name "download".

  (font/devpdf/download): Set write permission on the target to work
  around GNU Automake "distcheck" feature that makes make(1)-generated
  files read-only; however we want "BuildFoundries" to rewrite the file
  in place.

  (mostlyclean_devpdf_extra): Clean the new files "SS" and
  "StandardSymSL.pfb", as well as "S" since the new regex used to
  populate the `GROFF_FONT_FILES` now overlooks it.

  (install_devpdf, uninstall_devpdf): Explicitly handle "S" font
  description file since the new regex used to populate the
  `GROFF_FONT_FILES` now overlooks it.

* src/devices/gropdf/gropdf.pl: Support multiple specifications of `-F`
  option, populating new list `fdlist`.  Use the runtime path separator
  to populate scalar `fd` if `fdlist` is not a singleton.

* tmac/pdf.tmac: Drop all 28 calls of `pdf:SS` macro for 24 lowercase
  Greek letters and 4 variant forms; the slanted-symbol font now
  supplies these.

Fixes <https://savannah.gnu.org/bugs/?65098>.
2025-06-20 11:15:10 -05:00
G. Branden Robinson
8d1221a375 [font]: Update and parallelize DESC file gen.
* font/devdvi/devdvi.am (font/devdvi/DESC):
* font/devlbp/devlbp.am (font/devlbp/DESC):
* font/devlj4/devlj4.am (font/devlj4/DESC):
* font/devpdf/devpdf.am (font/devpdf/DESC): When constructing file by
  stages, write to the target name suffixed with `.tmp`, then move it
  into place once it is complete.

* font/devpdf/devpdf.am (font/devpdf/DESC):
* font/devps/devps.am (font/devps/DESC): Replace hard-coded directory
  name with output of `dirname` command on Make's `$@` internal
  variable.

* font/devpdf/devpdf.am (font/devpdf/DESC): Replace hard-coded target
  name with Make's `$@` internal variable.
2025-04-11 06:15:45 -05:00
G. Branden Robinson
33fcda9b10 [build]: Fix Savannah #67013 (PAGE -> "DESC").
Write any desired paper format to generated DESC files.

* font/devdvi/devdvi.am (font/devdvi/DESC):
* font/devlbp/devlbp.am (font/devlbp/DESC):
* font/devlj4/devlj4.am (font/devlj4/DESC):
* font/devpdf/devpdf.am (font/devpdf/DESC):
* font/devps/devps.am (font/devps/DESC): Write the "configure"d paper
  format to generated device description files, instead of only ever
  "a4" or "letter".

* NEWS: Add item.
2025-04-11 06:15:45 -05:00
G. Branden Robinson
6179d90c55 [build]: Prefer $(RM) to rm -f literal.
Our "Makefile.am" defines an `RM` macro if make(1) itself does not, and
our Automake files employ it extensively; sweep up the stragglers.

* font/devpdf/devpdf.am (mostlyclean_devpdf_extra, uninstall_devpdf):
* src/libs/libgroff/libgroff.am (install_charset_data):
* src/roff/nroff/nroff.am (nroff):
* src/utils/indxbib/indxbib.am (install_indxbib, uninstall_indxbib):
  Do it.
2023-08-13 09:30:07 -05:00
G. Branden Robinson
046d3c6b3b [devpdf]: Generate tests from template files.
[devpdf]: Generate tests from template files, so we can populate the
test scripts with information determined at configuration.  The default
foundry test depends on $GHOSTSCRIPT, and the URW foundry test on
$urwfontsdir.

* font/devpdf/tests/check-default-foundry.sh:
* font/devpdf/tests/check-urw-foundry.sh: Rename these...
* font/devpdf/tests/check-default-foundry.sh.in:
* font/devpdf/tests/check-urw-foundry.sh.in: ...to these.

* font/devpdf/devpdf.am (font_devpdf_default_test)
  (font_devpdf_urw_test): New variables store names of generated test
  scripts.
  (font/devpdf/tests/check-default-foundry.sh):
  (font/devpdf/tests/check-urw-foundry.sh): New targets produce test
  scripts from corresponding .in files.
2023-02-25 02:19:16 -06:00
G. Branden Robinson
db9518f2dc [devpdf]: Trivially refactor.
Rename sed-substitutum [Lat.] from "@GROFF_GHOSTSCRIPT_INTERPRETERS@" to
"@GHOSTSCRIPT@" for clarity and brevity; this is a scalar value
containing the Autoconf-determined name of the Ghostscript interpreter.
It is not the same as the replacement that occurs in contrib/pdfmark.

* font/devpdf/devpdf.am:
* font/devpdf/util/BuildFoundries.pl: Do it.
2023-02-25 02:19:16 -06:00
G. Branden Robinson
2706c735b3 [gropdf]: Fix Savannah #63824 (2/2).
[gropdf]: Revise tests to run unconditionally, rather than configuring
them away at build time, which can cause a distribution archive to be
incorrectly structured.  Update configuration notices when optional
dependencies are absent.

* font/devpdf/devpdf.am (font_devpdf_TESTS): Remove `USE_GROPDF` and
  `HAVE_URW_FONTS` conditionals.

* m4/groff.m4 (GROFF_GROPDF_PROGRAM_NOTICE, GROFF_URW_FONTS_NOTICE):
  Warn reader that a gropdf test failure is to be expected.

Fixes <https://savannah.gnu.org/bugs/?63824> (2/2).

ANNOUNCE: Update bug counts.
2023-02-22 03:28:10 -06:00
G. Branden Robinson
e3954e5b15 [gropdf]: Don't test if hobbled.
[gropdf]: Don't run automated tests if 'gropdf' will be operating with
reduced function.  If neither Ghostscript nor the URW fonts are
available at configuration time, there is no point testing for
successful build-time population of the font descriptions for the
default and URW foundries.

* font/devpdf/devpdf.am (font_devpdf_TESTS) [USE_GROPDF]: Run
  "check-default-foundry" only if gropdf is fully functional.

  (font_devpdf_TESTS) [USE_GROPDF && HAVE_URW_FONTS]: Run
  "check-urw-foundry" only if the URW fonts were found.

Continues <https://savannah.gnu.org/bugs/?63808>.  Thanks to Deri James
for the continued discussion.
2023-02-18 02:05:00 -06:00
G. Branden Robinson
00b5b38033 [gropdf]: Rename tests.
...to more accurately characterize their purpose.

* font/devpdf/tests/basic-fonts-present.sh:
* font/devpdf/tests/urw-fonts-present.sh: Rename these...

* font/devpdf/tests/check-default-foundry.sh:
* font/devpdf/tests/check-urw-foundry.sh: ...to these.

* font/devpdf/devpdf.am (font_devpdf_TESTS): Reflect rename.
2023-02-18 01:41:29 -06:00
G. Branden Robinson
195e17f2d9 [build, gropdf]: Fix Savannah #63808 (3/3).
* configure.ac: Add Automake conditional, `HAVE_GHOSTSCRIPT`, so that we
  can populate the list of PDF device font tests dynamically.

* font/devpdf/devpdf.am: Test availability of "basic" (PDF base
  14) fonts (plus groff's "EURO") if either Ghostscript or URW fonts are
  available.  Test availability of URW fonts (35) only if Ghostscript
  _and_ the URW fonts were found at configuration time.

Test procedure for Savannah #63808:

./configure --prefix=$HOME
make -j check
make install
make uninstall
test -z "$(find $HOME/{bin,lib,share} -type f)" && echo clean
make distclean

Configurations and test results (total/pass/skip/xfail)
-------------------------------------------------------
without gs, without URW fonts: 161/152/7/2
with gs, without URW fonts: 162/155/5/2
without gs, with URW fonts: 162/153/7/2
with gs, with URW fonts: 163/156/5/2
2023-02-15 23:48:24 -06:00
G. Branden Robinson
eac39afe3e Revert "[devpdf]: Do more explicit work and less magic."
This reverts commit 254e13c387a7fdd0267fac697737b5862c0851ad.

Per request from Deri James.
https://lists.gnu.org/archive/html/groff-commit/2022-11/msg00093.html
2022-11-18 12:43:49 -06:00
G. Branden Robinson
bc079f1c0c Revert "[build]: Refactor handling of PDF FreeEuro font."
This reverts commit 83004cbf0c8e30bd700f9ef246629ab77de96a7c.

Per request from Deri James.
https://lists.gnu.org/archive/html/groff-commit/2022-11/msg00094.html
2022-11-18 12:43:45 -06:00
G. Branden Robinson
83004cbf0c [build]: Refactor handling of PDF FreeEuro font.
[build]: Refactor handling of FreeEuro font for PDF device.

* font/devpdf/Foundry.in: Drop "EURO" entry from file.
* font/devpdf/devpdf.am (font/devpdf/download): Add it here.

* font/devpdf/util/BuildFoundries.pl: Add list `base35Fonts` to store
  the groff font names of the PostScript Level 2 base fonts.

  (LoadFoundry): ...so that we copy their descriptions (and _only_
  these) from the `ps` device's font description directory.

* doc/doc.am (doc/groff-man-pages.pdf): Declare dependency on
  "freeeuro.pfa" file in `pdf` device's font description directory.
2022-11-12 13:17:16 -06:00
G. Branden Robinson
cc52751acf font/devpdf/devpdf.am: Refactor.
* font/devpdf/devpdf.am: Refactor.

  (MOSTLYCLEANFILES): Populate macro incrementally, adjacent to the
  targets that build the files to be cleaned.  This will enable cleaner
  refactoring in the future.

  (DEFAULT_BASE35_FONTS): Add new macro storing the targets of the
  PostScript Level 2 standard base 35 font descriptions.

  (devpdffont_DATA): Populate using `DEFAULT_BASE35_FONTS`.

  (URW_BASE35_FONTS): Add new macro, empty if [!HAVE_URW_FONTS]; and
  [HAVE_URW_FONTS] otherwise naming the `U` foundry font description
  counterparts of the `DEFAULT_BASE35_FONTS`.

  (devpdffont_DATA): Append `URW_BASE35_FONTS`.

  ($(DEFAULT_BASE35_FONTS) $(URW_BASE35_FONTS)): Assert dependency on
  "font/devpdf/download".  This isn't literally true, but BuildFoundries
  generates all of these together.  so if the "font/devpdf/download"
  target rule runs successfully, the font description files named in
  these macro expansions will be generated too.
2022-11-12 13:17:16 -06:00
G. Branden Robinson
254e13c387 [devpdf]: Do more explicit work and less magic.
* font/devpdf/devpdf.am (devpdffont_DATA): Add all of the PostScript
  Level 2 base 35 font descriptions (from the default foundry).  Also
  add the "EURO" font description file and the "FreeEuro" PFA and AFM
  files, making these explicit targets and dependencies.

  (devpdffont_DATA) [HAVE_URW_FONTS]: Also add the URW foundry's version
  of the base 35 fonts.

  (font/devpdf/freeeuro.afm): Add new target, a simple file copy from
  the devps font directory.

  (font/devpdf/EURO): Generate font description file from the devps font
  directory.

  (font/devpdf/freeeuro.pfa): Add new target, a simple file copy from
  the devps font directory.

  (MOSTLYCLEANFILES): Clean freeeuro.{afm,pfa}.
2022-11-12 13:17:16 -06:00
G. Branden Robinson
6838addc29 [devpdf]: Tweak generation of "download" file.
* font/devpdf/devpdf.am (font/devpdf/download): Improve
  comprehensibility of comments in generated "download" file.  Stop
  bracketing path element separator with spaces.
2022-11-12 13:17:16 -06:00
G. Branden Robinson
ca0c6eb84b [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`.
2022-07-15 21:02:12 -05:00
G. Branden Robinson
7891e54fac font/devpdf/devpdf.am: Refactor to simplify.
* font/devpdf/devpdf.am: Refactor to simplify.  Now that symbol.map
  lives in the "devpdf/generate" directory along with the other map
  files, it doesn't need a dedicated Makefile target to produce it.

  (DEVPDFFONTMAP_1, DEVPDFFONTMAP_2): Coalesce and rename to...
  (devpdffontmapdata): ...this.

  (font/devpdf/map/symbol.map:): Drop target.

  (devpdffontmap_DATA, font/devpdf/download): Update dependencies.
2022-07-15 21:02:12 -05:00
G. Branden Robinson
7c29afe9ab [build]: Rename PS->groff glyph name maps (4/4).
* font/devps/generate/textmap: Rename from this...
* font/devps/generate/text.map: ...to this.

* font/devpdf/Foundry.in:
* font/devpdf/devpdf.am (DEVPDFFONTMAP_1):
* font/devps/devps.am (DEVPSGENFILES):
* font/devps/generate/Makefile (TEXTMAP):
* src/devices/gropdf/gropdf.1.man:
* src/devices/grops/grops.1.man:
* src/utils/afmtodit/afmtodit.1.man: Reflect rename.
2022-07-14 04:24:38 -05:00
G. Branden Robinson
dc67513c43 [build]: Rename PS->groff glyph name maps (1/4).
[build]: Name and place PS->groff glyph name maps consistently.

* font/devps/symbolmap: Rename from this...
* font/devps/generate/symbol.map: ...to this.

* font/devpdf/devpdf.am (font/devpdf/map/symbolmap): Rename target...
  (font/devpdf/map/symbol.map): ...to this.
  (font/devpdf/map/symbol.map): Copy "devps" version of file from its
  new location in the "generate" subdirectory.

* font/devpdf/Foundry.in: Reflect rename.

* font/devps/generate/Makefile (symbolmap): Rename target...
  ($(srcdir)/symbol.map): ...to this.

* font/devps/devps.am (DEVPSGENFILES, EXTRA_DIST):
* font/devps/generate/Makefile (S, EURO $(SPECIALFONTS), clean):
* src/utils/afmtodit/afmtodit.1.man: Reflect rename and relocation.
2022-07-14 04:24:38 -05:00
G. Branden Robinson
5c91d9b64a [build]: Call "BuildFoundries" with --strict.
* font/devpdf/devpdf.am (font/devpdf/download): Call "BuildFoundries"
  with new `--strict` option so that the build fails if the AFM files
  for the URW fonts can't be found.
2022-07-07 23:21:14 -05:00
G. Branden Robinson
7e017781db [build]: Make BuildFoundries depend on afmtodit.
* font/devpdf/devpdf.am (font/devpdf/util/BuildFoundries): Add
  dependency on "afmtodit" since "BuildFoundries" calls this program
  when generating groff font description files from URW fonts.
2022-07-07 23:13:52 -05:00
Ingo Schwarze
dbe01da6f9 Always build PDF font description files.
Build font/devpdf/download and the various TR, TB, CR etc. files
in the same directory even when they are not required by the build
because USE_GROPDF is unset, usually because ghostscript is either
unavailable or deliberately disabled by the person running the
build.  These files need to be built and installed anyway, and can
be used on the target sytem when the required infrastructure is
available at run time.

This fixes a regression introduced a few weeks ago.
OK gbranden@
2022-06-19 17:33:17 +02:00
G. Branden Robinson
bf25f7ebf3 [build]: Add Automake HAVE_URW_FONTS condition.
* configure.ac: Add `AM_CONDITIONAL`: `HAVE_URW_FONTS`, so our Automake
  files can more easily cope with their absence.

* contrib/mom/mom.am (MOMPROCESSEDEXAMPLEFILES): Include
  "typesetting.pdf" only if `HAVE_URW_FONTS`, since the document demands
  them.

* font/devpdf/Foundry.in: Add easily matched phrases to comments, to
  clearly delimit the URW foundry portion of the file so it can be
  omitted if those fonts are absent.

* font/devpdf/devpdf.am (font/devpdf/Foundry): Generate file differently
  depending on `HAVE_URW_FONTS`; keep the existing procedure if true,
  and delete the URW section from the generated file otherwise, avoiding
  diagnostic messages from afmtodit(1) and our BuildFoundries script.

Also update comments in Foundry.in file to be more helpful.
2022-06-03 04:01:12 -05:00
G. Branden Robinson
afa7128d7b [font/devpdf]: Revise path component separation.
* font/devpdf/devpdf.am (font/devpdf/util/BuildFoundries): Generate
  script using the `PATH_SEPARATOR` Automake macro.

* font/devpdf/util/BuildFoundries.pl: Add `pathsep` scalar to house the
  build-time path separator.

  (LocateFile): Use it.

  (LoadFoundry, CheckFoundry): Stop using spaces as part of the path
  separation delimiter.  It is not idiomatic.

Also add editor aid comment and correct inconsistent indentation.
2022-06-03 04:01:12 -05:00
G. Branden Robinson
6e980f848a [gpinyin]: Fix missing make(1) dependency.
* contrib/gpinyin/gpinyin.am (gpinyin): Fix missing dependency on
  `$(SH_DEPS_SED_SCRIPT)`.

* contrib/glilypond/glilypond.am (gpinyin):
* contrib/gperl/gperl.am (gperl):
* font/devpdf/devpdf.am (font/devpdf/util/BuildFoundries): Spell
  dependency on `$(SH_DEPS_SED_SCRIPT)` using that macro expansion
  instead of a literal file name.  See doc/automake.mom.
2022-05-03 10:45:07 -05:00
G. Branden Robinson
6e62be835d [build]: Fix problems exposed by parallel build.
* font/devpdf/devpdf.am (font/devpdf/util/BuildFoundries,
  font/devpdf/DESC, font/devpdf/Foundry): Drop unnecessary removal of
  target prior to creating it.

  (font/devpdf/Foundry): Add creation of destination build directory as
  other targets do.

  (font/devpdf/download): Create dedicated target instead of lumping its
  generation under the stamp file.  Add missing dependencies on
  `$(DEVPDFFONTMAP_1)`, `$(DEVPDFFONTMAP_2)`, `font/devpdf/Foundry` and
  `font/devpdf/enc/text.enc`.  Remove now-unnecessarily complicated
  "forgery" of "GEN" line in quiet builds.  Tweak format of comment
  written to "download" file to make field identities clearer.
  Construct output (with multiple shell commands) in temporary file so
  it is not read prematurely by the "BuildFoundries" script.  Move
  target into place as the last step.

  (font/devpdf/stamp): Relocate target to follow its dependencies.  Add
  dependency on "font/devpdf/download".
2022-05-02 11:01:07 -05:00
G. Branden Robinson
3a58ef2712 [build]: Rationalize in-tree document deps.
[build]: Reduce and rationalize in-tree document dependencies.  This
eliminates spurious rebuilds of numerous documents (including the
380+-page groff-man-pages collections).  It also fixes missing
dependencies when using the build's groff to generate PostScript
documents.

* .gitignore: Drop old name of devpdf stamp file.

* doc/.gitignore: Drop now-unused "example.stamp" file.

* doc/doc.am (PROCESSEDDOCFILES_HTML, PROCESSEDDOCFILES_PDF,
  PROCESSEDDOCFILES_TXT): Add new macros grouping targets by the
  format/output driver used to produce them, to better organize
  dependencies for their generation.

  (PROCESSEDDOCFILES): Redefine as simply the expansions of the
  foregeoing.

  (PROCESSEDFILES_DEPS_HTML, PROCESSEDFILES_DEPS_HTML,
  PROCESSEDFILES_DEPS_PDF, PROCESSEDFILES_DEPS_TXT): Add new macros
  defining prerequisites for production of the corresponding output
  document formats.

  ($(PROCESSEDDOCFILES_HTML), $(PROCESSEDDOCFILES_PDF),
  $(PROCESSEDDOCFILES_PS), $(PROCESSEDDOCFILES_TXT)): Declare the
  dependencies using expansions of the foregoing macros.

  (MOSTLYCLEANFILES): Drop "doc/automake.pdf", now part of
  `PROCESSEDDOCFILES_PDF`.

  (doc/automake.pdf): Drop dependencies already supplied by
  `PROCESSEDFILES_DEPS_PDF`.

  (HTMLDOCFILES): Drop macro.  "doc/pic.html" is now in the expansion of
  `PROCESSEDDOCFILES_HTML`.

  (htmlpic_DATA): Redefine as expansion of `PROCESSEDDOCFILES_HTML`
  instead of `HTMLDOCFILES`.

  (PROCESSEDEXAMPLEFILES_HTML) [BUILD_HTML]: Define as
  "doc/webpage.html", otherwise as empty.

  (PROCESSEDEXAMPLEFILES_PS): Contain "doc/webpage.ps" and
  "doc/grnexampl.ps".

  (PROCESSEDEXAMPLEFILES): Redefine as expansions of
  `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.

  ($(PROCESSEDEXAMPLEFILES_HTML), $(PROCESSEDEXAMPLEFILES_PS)): Declare
  dependencies using `PROCESSEDFILES_DEPS_HTML` and
  `PROCESSEDFILES_DEPS_PS`, respectively.

  (nodist_docexamples_DATA): Redefine macro as expansions of now-split
  macros `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.

  (HTMLEXAMPLEFILES): Drop macro.  "doc/webpage.html" is now in the
  expansion of `PROCESSEDDOCFILES_HTML`.

  (nodist_htmlexamples_DATA): Drop macro, no longer needed.

  ($(PROCESSEDDOCFILES_PS)): Relocated and redefined above.
  ($(PROCESSEDEXAMPLEFILES) $(PROCESSEDDOCFILES)): Drop overbroad
  dependency declarations in favor of the above.

  (MOSTLYCLEANFILES, doc/examples.stamp): Drop generation and removal of
  unnecessary stamp file.

  (doc/pic.html, doc/webpage.html): Add explicit dependency on required
  preprocessors.  Drop redundant and spurious dependencies.

* font/devhtml/devhtml.am (MOSTLYCLEANFILES, font/devhtml/stamp):
  Generate and remove stamp file to enable reliable target dependencies
  for build-time generation of HTML documents by groff.

* font/devpdf/devpdf.am (MOSTLYCLEANFILES, font/devpdf/stamp): Rename
  stamp file from "font/devpdf/build_font_files".

  (font/devpdf/stamp): Drop unnecessary dependency on "afmtodit".

* font/devps/devps.am (MOSTLYCLEANFILES, font/devps/stamp): Generate and
  remove stamp file to enable reliable target dependencies for
  build-time generation of PostScript documents by groff.

* font/devutf8/devutf8.am (MOSTLYCLEANFILES, font/devutf8/stamp):
  Generate and remove stamp file to enable reliable target dependencies
  for build-time generation of UTF-8-encoded text documents by groff.

* contrib/hdtbl/hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Add dependency on
  devps stamp file since the files' target rule generates PostScript
  with groff.

* contrib/mom/mom.am ($(MOMPROCESSEDEXAMPLEFILES)): Depend on new name
  for devpdf stamp file.

* contrib/sboxes/sboxes.am ($(sboxes_builddir)/msboxes.pdf): Depend on
  new name for devpdf stamp file.

Fixes <https://savannah.gnu.org/bugs/?62084>; thanks to Sergei
Trofimovich for the report.  Also fixes
<https://savannah.gnu.org/bugs/?62297>; thanks to Bjarni Ingi Gislason
for the report.

Tested with the following script.

	#!/bin/sh

	set -e

	test -d build
	cd build

	for file in \
	    contrib/hdtbl/examples/chess_board.ps \
	    contrib/hdtbl/examples/col_rowspan_colors.ps \
	    contrib/hdtbl/examples/color_boxes.ps \
	    contrib/hdtbl/examples/color_nested_tables.ps \
	    contrib/hdtbl/examples/color_table_cells.ps \
	    contrib/hdtbl/examples/color_transitions.ps \
	    contrib/hdtbl/examples/fonts_n.ps \
	    contrib/hdtbl/examples/fonts_x.ps \
	    contrib/hdtbl/examples/mixed_pickles.ps \
	    contrib/hdtbl/examples/rainbow.ps \
	    contrib/hdtbl/examples/short_reference.ps \
	    contrib/mom/examples/copyright-chapter.pdf \
	    contrib/mom/examples/copyright-default.pdf \
	    contrib/mom/examples/letter.pdf \
	    contrib/mom/examples/mom-pdf.pdf \
	    contrib/mom/examples/mon_premier_doc.pdf \
	    contrib/mom/examples/sample_docs.pdf \
	    contrib/mom/examples/slide-demo.pdf \
	    contrib/mom/examples/typesetting.pdf \
	    contrib/sboxes/msboxes.pdf \
	    doc/automake.pdf \
	    doc/grnexmpl.ps \
	    doc/groff-man-pages.pdf \
	    doc/groff-man-pages.utf8.txt \
	    doc/meintro.ps \
	    doc/meintro_fr.ps \
	    doc/meref.ps \
	    doc/ms.ps \
	    doc/pic.html \
	    doc/pic.ps \
	    doc/webpage.ps
	do
	    make -j clean
	    make -j "$file"
	done
2022-05-02 08:35:12 -05:00
G. Branden Robinson
4de4ca9409 [build]: Fix code style nits in Automake files.
* doc/doc.am: Put spaces around (Auto)make variable assignments, for
  consistency with the rest of this .am file, and our others.

* font/devpdf/devpdf.am (font/devpdf/build_font_files): Use shell '>'
  operator instead of touch(1).

* font/devhtml/devhtml.am (font/devhtml/DESC):
* font/devps/devps.am (font/devps/DESC): Construct target in temporary
  file, since doing so is a multi-step process, moving it to the target
  name when it is complete and usable by dependencies.

Also fix indentation and trailing whitespace nits.
2022-05-02 01:22:50 +10:00
G. Branden Robinson
b81fc6422c font/devpdf/devpdf.am: Build more quietly.
* font/devpdf/devpdf.am: Build more quietly.

  (font/devpdf/enc/text.enc, font/devpdf/map/symbolmap,
  $(DEVPDFFONTMAP_1)): Prefix all rule commands with `$(AM_V_at)`; since
  these are all `mkdir`s and `cp`s, I reason that little can go wrong
  with them that won't be disclosed by these tools' own diagnostic
  messages, so they are insignificant from a perspective of build
  progress.

Also wrap long lines and tweak legal notice formatting.
2021-10-21 20:18:52 +11:00
G. Branden Robinson
4a706ed467 Fix a few authorship/email notices.
...and man(7) `MT` calls.

Thanks to Deri James for pointing out the stale/incorrect data I added
to sboxes.am; see <https://lists.gnu.org/r/groff/2021-10/msg00041.html>.
2021-10-16 15:43:55 +11:00
Bertrand Garrigues
c05b538c50 Update copyright
* update-copyright.sh: use gnulib's 'update-copyright' script.  Pass
  this script in directories 'arch', 'contrib', 'font', 'man', 'tmac',
  'src' and on a list of extra files.

* FOR-RELEASE: mention this point.
2020-11-11 23:08:05 +01:00
Bertrand Garrigues
54f7ea974e Revert "Update copyright"
This reverts commit a2e955e07354c83939fabffebcf720d3333d1f6b.

Some files (COPYING, FDL, bootstrap) should not have been updated
2020-10-25 22:19:26 +01:00
Bertrand Garrigues
a2e955e073 Update copyright
Use gnulib's update-copyright script.

* src/roff/groff/groff.cpp: update the printf displayed when 'groff -v' is invoked.

* FOR-RELEASE: mention this point.
2020-10-25 01:54:21 +02:00
G. Branden Robinson
72891af00c Synchronize Emacs and Vim editor settings.
Also add some settings (mainly fill columns and character encoding
hints) to try to prevent chaos.

Gory details follow.

* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
* Makefile.am:
* arch/mingw/mingw.am:
* arch/misc/misc.am:
* contrib/chem/chem.am:
* contrib/chem/chem.pl:
* contrib/eqn2graph/eqn2graph.am:
* contrib/gdiffmk/ChangeLog:
* contrib/gdiffmk/gdiffmk.am:
* contrib/glilypond/ChangeLog:
* contrib/glilypond/ChangeLog.0x:
* contrib/glilypond/args.pl:
* contrib/glilypond/glilypond.am:
* contrib/glilypond/glilypond.pl:
* contrib/glilypond/oop_fh.pl:
* contrib/glilypond/subs.pl:
* contrib/gperl/gperl.am:
* contrib/gpinyin/ChangeLog:
* contrib/gpinyin/gpinyin.am:
* contrib/gpinyin/gpinyin.pl:
* contrib/gpinyin/subs.pl:
* contrib/grap2graph/grap2graph.am:
* contrib/groff_filenames/ChangeLog:
* contrib/groff_filenames/groff_filenames.am:
* contrib/hdtbl/ChangeLog:
* contrib/hdtbl/hdtbl.am:
* contrib/mm/mm.am:
* contrib/mom/ChangeLog:
* contrib/mom/mom.am:
* contrib/pdfmark/ChangeLog:
* contrib/pdfmark/pdfmark.am:
* contrib/pic2graph/pic2graph.am:
* font/devX100-12/devX100-12.am:
* font/devX100/devX100.am:
* font/devX75-12/devX75-12.am:
* font/devX75/devX75.am:
* font/devascii/devascii.am:
* font/devcp1047/devcp1047.am
* font/devdvi/devdvi.am:
* font/devlbp/devlbp.am:
* font/devlj4/devlj4.am:
* font/devpdf/devpdf.am:
* font/devps/devps.am:
* font/devutf8/devutf8.am:
* font/scripts/scripts.am:
* man/man.am:
* src/include/include.am:
* src/libs/libbib/libbib.am:
* src/libs/libdriver/libdriver.am:
* src/libs/libgroff/libgroff.am:
* src/libs/libxutil/libxutil.am:
* src/roff/groff/groff.am:
* src/roff/grog/grog.am:
* src/roff/nroff/nroff.am:
* src/roff/troff/troff.am:
* src/utils/addftinfo/addftinfo.am:
* src/utils/afmtodit/afmtodit.am:
* src/utils/hpftodit/hpftodit.am:
* tmac/tmac.am:
  Tell Vim to auto-indent the file.

* BUG-REPORT:
* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
* INSTALL.extra:
* Makefile.am:
* arch/mingw/mingw.am:
* arch/misc/misc.am:
* contrib/chem/README.txt:
* contrib/chem/chem.pl:
* contrib/chem/examples/122/ch2a_ethyl.chem:
* contrib/chem/examples/122/ch4a_stick.chem:
* contrib/chem/examples/122/ch4j_ring4.chem:
* contrib/chem/examples/README.txt:
* contrib/chem/examples/atp.chem:
* contrib/chem/examples/cholesterin.chem:
* contrib/chem/examples/ethamivan.chem:
* contrib/chem/examples/lsd.chem:
* contrib/chem/examples/reserpine.chem:
* contrib/eqn2graph/eqn2graph.am:
* contrib/gdiffmk/ChangeLog:
* contrib/gdiffmk/README:
* contrib/gdiffmk/gdiffmk.am:
* contrib/glilypond/ChangeLog:
* contrib/glilypond/ChangeLog.0x:
* contrib/glilypond/README.txt:
* contrib/glilypond/args.pl:
* contrib/glilypond/glilypond.pl:
* contrib/glilypond/oop_fh.pl:
* contrib/glilypond/subs.pl:
* contrib/gpinyin/ChangeLog:
* contrib/gpinyin/gpinyin.pl:
* contrib/gpinyin/subs.pl:
* contrib/grap2graph/grap2graph.am:
* contrib/groff_filenames/ChangeLog:
* contrib/hdtbl/ChangeLog:
* contrib/mm/mm.am:
* contrib/mom/ChangeLog:
* contrib/mom/mom.am:
* contrib/pdfmark/ChangeLog:
* contrib/pic2graph/pic2graph.am:
  Set fill column to 72.

* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
* contrib/gdiffmk/ChangeLog:
* contrib/glilypond/ChangeLog:
* contrib/glilypond/ChangeLog.0x:
* contrib/groff_filenames/ChangeLog:
* contrib/hdtbl/ChangeLog:
* contrib/mom/ChangeLog:
* contrib/pdfmark/ChangeLog:
  Sort Emacs local variables lexicographically.

* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
  Tell Emacs the file is a change-log.

* Makefile.am:
* arch/mingw/mingw.am:
* arch/misc/misc.am:
* contrib/eqn2graph/eqn2graph.am:
  Tell Vim the file is an Automake file (it detects at least some
  in-tree *.am files as ordinary Makefiles).

* ChangeLog.115:
* contrib/gdiffmk/ChangeLog:
* contrib/pdfmark/ChangeLog:
  Remove Emacs coding declaration.  No non-ASCII characters are present.

* BUG-REPORT:
  Prevent Vim filetype detection (Vim thinks it's a generic
  configuration file due to the hash-commented legal notice).

* contrib/glilypond/ChangeLog.0x:
  Tell Emacs the file is a "change-log" (not "change-log-mode").

* contrib/glilypond/README.txt:
  Comment the editor settings as is done in top-level plain text
  documentation.

* contrib/gpinyin/ChangeLog:
  Set Emacs "version-control" variable to "never", in parallel with
  ChangeLog files elsewhere.  (I'm not sure this is necessary with Git,
  however; maybe we should be removing them everywhere.  If so, that's
  easy to sed.)
2020-04-30 07:30:51 +10:00
G. Branden Robinson
2a1ad5b0bd Eliminate "Last updated:" comments.
We have a version control system for that.

I left the one in tmac/hyphen.sv intact because the file has external
provenance.
2020-04-29 01:50:39 +10:00
G. Branden Robinson
05f4407a62 Delete editor-settings comment banners.
Most users and developers have lexical coloring/syntax highlighting
available these days (cf. 30 years ago).

Leaving them in plain-text files (like READMEs) because these are
generally not machine-parsed (except for changelogs...) and the
indicator may conceivably be useful to novices who stumble across them.
2020-04-19 09:25:38 +10:00
Bertrand Garrigues
2fb110eabc Update copyright (use gnulib's update-copyright script) 2018-07-03 00:22:35 +02:00
Werner Lemberg
a2cf09d557 Use $(AM_V_GEN) and $(AM_V_P) to silence even more file generation.
* font/devpdf/devpdf.am (BuildFoundries, DESC, Foundry,
build_font_files): Do it.
2018-03-01 06:20:49 +01:00
G. Branden Robinson
14320c010a font: Make style fixes.
* Break excessively long lines in Automake files where possible.
* Flow copyright notices onto one line per the model in the GNU
  Maintainers' Guide.
* Also consistently use four-digit years in copyright notices.
* Migrate comments from `quotes' to 'quotes'.
* Update and parallelize editor aid comments.

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
2017-11-12 17:32:29 -05:00