125 Commits

Author SHA1 Message Date
G. Branden Robinson
3e711ae9c5 [devps]: Push *.am cargo back out to sea.
* font/devps/devps.am: Drop unused macro `devps_builddir`.  Automake
  itself doesn't require it, and we never interpolate it.
2026-01-21 11:36:13 -06:00
G. Branden Robinson
7725e103e5 [devps]: Drop ersatz copyright symbol '(C)'.
Software developers have long labored under the no-longer-correct
misconception that omitting a copyright symbol from one's notice was a
fatal defect that effectively placed the work in the public domain.
That stopped being true as of 1 March 1989.[1]  Further, prior to
guidance issued by the U.S. Copyright Office in the decades since, the
use of "(C)" as a substitute for a copyright sign _may not have
sufficed_ to prevent the copyright notice from being regarded as
defective.  The Copyright Office, then and now, prefers the abbreviation
"copr." when © is typographically unavailable.[ibid.]  Nowadays, its
advice is that "c" (note lowercase) is an "acceptable variant", that
_may_ retain the efficacy of the copyright notice.  The word
"copyright", spelled out in full, also suffices per that resource, and
is already present in this notice.

[1] https://www.copyright.gov/circs/circ03.pdf
2026-01-21 11:36:13 -06:00
G. Branden Robinson
d11b307a04 [devps]: Drop stale file from repo.
* font/devps/generate/symbolsl.afm: Delete.  We were no longer shipping
  it in our distribution archive, instead supplying a more recently
  generated version of this file from the parent directory,
  "font/devps".
2026-01-04 11:30:58 -06:00
G. Branden Robinson
d267976778 Declare groff's provenance consistently (redux).
Continues commit e7bc2afe46, 12 December.
2025-12-19 15:46:53 -06:00
G. Branden Robinson
60840028a7 Reduce the Bennett Brauer factor (cosmetic) (1/4).
Thus named because 'excessive' use of 'quotation marks' in 'ordinary
prose' gouges my eyeballs like Chris Farley's fingers making air quotes
a millimeter from my face.
2025-12-19 15:46:53 -06:00
G. Branden Robinson
e7bc2afe46 Declare groff's provenance consistently. 2025-12-17 16:56:49 -06: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
13abec8c47 [devps]: Fix Savannah #67244 (2/3).
* font/devps/generate/text.map: Drop all mappings of symbolic/
  mathematical/unstyled Greek special characters `*[A-Za-z]` to
  PostScript glyph names.  As noted above, such mappings are not
  appropriate for text fonts, which (typically) have multiple styles
  available.
2025-06-29 03:46:57 -05:00
G. Branden Robinson
8e69fdefcb [devps]: Fix Savannah #67244 (1/3).
* font/devps/AB:
* font/devps/ABI:
* font/devps/AI:
* font/devps/AR:
* font/devps/BMB:
* font/devps/BMBI:
* font/devps/BMI:
* font/devps/BMR:
* font/devps/CB:
* font/devps/CBI:
* font/devps/CI:
* font/devps/CR:
* font/devps/HB:
* font/devps/HBI:
* font/devps/HI:
* font/devps/HNB:
* font/devps/HNBI:
* font/devps/HNI:
* font/devps/HNR:
* font/devps/HR:
* font/devps/NB:
* font/devps/NBI:
* font/devps/NI:
* font/devps/NR:
* font/devps/PB:
* font/devps/PBI:
* font/devps/PI:
* font/devps/PR:
* font/devps/TB:
* font/devps/TBI:
* font/devps/TI:
* font/devps/TR:
* font/devps/ZCMI: Replace/rename entry for `*m` glyph to `mc`, removing
  `mc` as an alias thereof; annotate the corresponding code point as
  U+00B5, not U+03BC.  The micro sign (groff: \[mc]) is a styled glyph
  often found in text faces.  `*m` is an unstyled, but traditionally
  slanted, lowercase Greek mu used overwhelmingly in mathematical or
  scientific typesetting contexts.  It is not appropriate for setting
  the modern Greek language.

* font/devps/generate/symbol.map:
* font/devps/generate/text.map: Remove spurious mappings of groff's
  `\[mc]` to PostScript's `mu`.  This prevents afmtodit(1) from
  resurrecting the aforementioned problem, though for unrelated reasons
  we don't regenerate the font description files for grops(1) when
  building groff--we should, someday.  (Among other manual changes, we
  added kerning pairs; see Savannah #58897.)
2025-06-29 03:46:53 -05:00
G. Branden Robinson
f9928b5657 font/devps/generate/*.map: Improve file comments. 2025-06-29 03:35:07 -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
TANAKA Takuji
76c81423da Support CJK fonts encoded in UTF-16 (5/6).
Ship font description files.  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.

	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/devdvi/CSH:
* font/devdvi/CSS:
* font/devdvi/CTH:
* font/devdvi/CTS:
* font/devdvi/JPG:
* font/devdvi/JPM:
* font/devdvi/KOG:
* font/devdvi/KOM:
* font/devhtml/CSH:
* font/devhtml/CSS:
* font/devhtml/CTH:
* font/devhtml/CTS:
* font/devhtml/JPG:
* font/devhtml/JPM:
* font/devhtml/KOG:
* font/devhtml/KOM:
* font/devps/CSH:
* font/devps/CSS:
* font/devps/CTH:
* font/devps/CTS:
* font/devps/JPG:
* font/devps/JPM:
* font/devps/KOG:
* font/devps/KOM:
* font/devutf8/CSH:
* font/devutf8/CSS:
* font/devutf8/CTH:
* font/devutf8/CTS:
* font/devutf8/JPG:
* font/devutf8/JPM:
* font/devutf8/KOG:
* font/devutf8/KOM: Ship font descriptions.

* font/devdvi/devdvi.am (DEVDVIFONTFILES):
* font/devhtml/devhtml.am (DEVHTMLFONTS, DEVHTMLFONTFILES):
* font/devdvi/devps.am (DEVPSFONTFILES):
* font/devutf8/devutf8.am (DEVUTF8FONTS, DEVUTF8FONTFILES): Add them.

The test "contrib/hdtbl/examples/test-hdtbl.sh" fails at this commit.
2024-11-21 13:33:29 -06:00
G. Branden Robinson
df1dcb9165 font/devps/ZDR: Regenerate. 2024-08-21 16:03:59 -05:00
G. Branden Robinson
a6289c1508 font/devps/ZD: Regen from updated dingbats.map.
* font/devps/ZD: Regenerate using updated dingbats.map.

Fixes <https://savannah.gnu.org/bugs/?63018>.  Thanks to Deri James and
Dave Kemper for (extensive) consultation.
2024-08-21 16:03:59 -05:00
G. Branden Robinson
7c2a4f0a59 font/devps/generate/dingbats.map: Drop 2 mappings.
afmtodit complains.

afmtodit: warning: you are not allowed to map the PostScript character 'space'
afmtodit: warning: you are not allowed to map the PostScript character 'space'

(It'd be nice if afmtodit identified the file name and line number it
was complaining about...)
2024-08-21 16:03:59 -05:00
Deri James
c9a79ed51e font/devps/generate/dingbats.map: Update.
...to map many more Unicode code points to Zapf Dingbats glyphs.
2024-08-21 16:03:59 -05:00
G. Branden Robinson
ddb5a429a5 font/devps/ZD: Regenerate using updated afmtodit.
No changes to font description data relative to Werner's commit
7a7ef828ef, 19 May 2010.

This reverts Deri's commit 98b0c1db4, 12 April, but only temporarily in
effect.  The reason is to prove the foregoing equivalence.

See <https://savannah.gnu.org/bugs/?63018>.
2024-08-21 16:03:59 -05:00
Deri James
3cb502448b Another font with UTF-16 added to comment
* font/devps/S
2024-04-16 17:49:11 +01:00
Deri James
cbe5a7802d 4 missing fonts from commit 98b0c1db476
* font/devps: Include CR, CI, CB and CBI with
UTF-16 code in the comment field.
2024-04-12 23:48:10 +01:00
Deri James
98b0c1db47 Support UTF-16 Bookmarks.
* src/devices/grops: Add comment field to the font files
which specifies the UTF-16 code for the character.

* utils/afmtodit/afmtodit.pl: Add comment field holding the
UTF-16 code.

* man/groff_font.5.man: Document use of comment field to hold
UTF-16 code.

* src/devices/gropdf/gropdf.pl: Extract UTF-16 code from font
comment field (rather than a new field). And tweak to pdf
parser.
2024-04-12 16:03:56 +01:00
G. Branden Robinson
2e92bee3c4 font/devps/generate/Makefile: Fix typo.
* font/devps/generate/Makefile (zapfdr.afm): Fix typo in dependency
  name.  Problem introduced by me in commit 2566b64e0b, 13 March 2022,
  which claimed "[s]hould not cause regressions because the Make targets
  invoked are never called during a build (they are isolates that you
  have to manually name on the command line)."  Thus was fortune's
  hostage claimed.  Apparently OpenSUSE uses this Makefile as part of
  its "ghostscript-fonts-grops" package build.  (Fair enough--we _do_
  ship it.)

Longer term I still think it would be a good idea to have a more general
tool, probably a shell script, to manage groff font description file
updates.
2023-10-12 00:07:22 -05:00
G. Branden Robinson
6403f2205c [build]: Add/update .gitignore files.
Use a surgical, not a shotgun, approach.  Remove stale and/or overbroad
patterns.  This way it is easier to detect bitrot and junk in the build
tree, and recognize when changes occur that affect payload or might need
to be reflected in Makefile updates.

Organize the files by "module"--by logically discrete components of the
tree.  This makes the internal symmetry of the repository less obscure.

These files' contents reflect an "everything" build on GNU/Linux.  Gaps
are expected for platforms with different file naming
conventions--Cygwin, for instance, still names executables with ".exe"
extensions, and may still use ".obj" instead of ".o".  Please contribute
similar patterns for your platform.
2023-08-16 21:38:30 -05:00
G. Branden Robinson
20051ef338 Fix Savannah #64058 (shebang line space myth).
* arch/djgpp/config.site:
* arch/misc/shdeps.sh:
* bootstrap:
* contrib/chem/chem.pl:
* contrib/eqn2graph/eqn2graph.sh:
* contrib/gdiffmk/tests/runtests.sh:
* contrib/glilypond/glilypond.pl:
* contrib/gperl/gperl.pl:
* contrib/gpinyin/gpinyin.pl:
* contrib/grap2graph/grap2graph.sh:
* contrib/pdfmark/pdfroff.sh:
* contrib/pic2graph/pic2graph.sh:
* font/devdvi/generate/CompileFonts:
* font/devps/generate/afmname:
* font/devps/generate/make-zapfdr:
* font/util/make-Rproto:
* gendef.sh:
* m4/groff.m4:
* mdate.pl:
* src/devices/grops/grops.1.man:
* src/devices/xditview/ad2c:
* src/libs/libgroff/config.charset:
* src/libs/libgroff/make-uniuni:
* src/preproc/eqn/neqn.sh:
* src/roff/nroff/nroff.sh:
* src/utils/afmtodit/make-afmtodit-tables:
* test-groff.in:
* tmac/hyphenex.pl: Stop endorsing shebang line space myth.  Fixes
  <https://savannah.gnu.org/bugs/?64058>.
2023-07-17 03:50:41 -05:00
G. Branden Robinson
c51ccf799d [build]: Refactor generation of "freeeuro.pfa".
[build]: Refactor generation of "freeeuro.pfa" to make more economical
use of existing infrastructure, per a suggestion from Deri James.  This
also puts the file where gropdf's "download" file can find it when
running it in a separate build directory.  We use it to generate
"groff-man-pages.pdf".

* font/devps/freeeuro.pfa: Rename this...
* font/devps/freeeuro.ps: ...to this.  We can now use the suffix rule
  that also applies to "symbolsl.ps" and "zapfdr.ps".

* font/devps/devps.am (DEVPSFONTFILES): Move "freeeuro.pfa" from here...
  (DEVPSFONTFILES_GENERATED): ...to here.
  (EXTRA_DIST): Ship the "new" "freeeuro.ps" file.

This restores the embedding of this font in the groff_char(7) man page
in "groff-man-pages.pdf".
2022-11-25 14:14:08 -06:00
G. Branden Robinson
254b335920 [build]: Stop stripping comments from PFA files.
* font/devps/psstrip.sed: Stop stripping comment lines, in general
  instead of preserving only ones that use the form in the Document
  Structuring Coventions.  This way we won't strip copyright notices,
  like Werner Lemberg's in the FreeEuro font.  Thanks to Deri James for
  pointing this out.
2022-11-25 14:06:55 -06:00
G. Branden Robinson
0f175ef2e0 font/devps/devps.am: Refactor to simplify.
* font/devps/devps.am: Refactor.  Turn two identical target rules into a
  (BSD-make-style, old-fashioned) pattern rule.
2022-11-12 13:17:16 -06: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
4fffa795ca [build]: Rename PS->groff glyph name maps (3/4).
* font/devps/generate/lgreekmap: Rename from this...
* font/devps/generate/slanted-symbol.map: ...to this.

* font/devps/devps.am (DEVPSGENFILES):
* font/devps/generate/Makefile (SS):
* src/utils/afmtodit/afmtodit.1.man: Reflect rename.
2022-07-14 04:24:38 -05:00
G. Branden Robinson
82fa41c86b [build]: Rename PS->groff glyph name maps (2/4).
* font/devps/generate/dingbats.rmap: Rename from this...
* font/devps/generate/dingbats-reversed.map: ...to this.

* font/devps/devps.am (DEVPSGENFILES):
* font/devps/generate/Makefile (ZDR):
* 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
0c60e80fbc [fonts]: Drop excess *U mapping in PS/PDF.
* font/devps/S:
* font/devps/symbolmap: Drop excess mapping of `*U` special character.
  groff maps it to the Adobe Glyph List name 'Upsilon1'.  (The AGL
  'Upsilon' is a homoglyph of the Latin capital 'Y'.)
* PROBLEMS: De-document build-time warning, now resolved.
2022-05-25 21:18:24 -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
2566b64e0b [devps]: Refactor Adobe Type 1 font desc regen.
Checkpoint work in progress.  Should not cause regressions because the
Make targets invoked are never called during a build (they are isolates
that you have to manually name on the command line).

* font/devps/devps.am: Rename targets.
  (fonts):
  (devps_fonts): Rename these...

  (maintainer-font-descriptions):
  (devps_font-descriptions): ...to these.  Add comments explaining what
  they're for and why they aren't used in a build.

* font/devps/generate/Makefile: Add `outdir` variable to store
  destination directory of font description files, and update all
  targets that write artifacts to use this directory.  This makes the
  targets "phony", which I don't regard as a problem since the generated
  artifacts are kept under source control, and this isn't really a
  user-facing script (even though it gets installed).  I think there is
  a good chance that this will become a shell script, because to avoid
  regressions we need to generate the font descriptions using both the
  229-glyph and 314-glyph versions of the Adobe fonts' AFM files (so
  that we get wider glyph coverage _and_ more kerning pair data) and we
  need to add kerning information for the ellipsis (Savannah #59907).

  (symbolsl.afm): Revise generation process to be sensitive to failure.
2022-03-13 17:00:29 +11:00
G. Branden Robinson
d012cd6f0c [devps]: Add {symbolsl,zapfdr}.afm to dst archive.
* font/devps/symbolsl.afm: New file.

* font/devps/devps.am (EXTRA_DIST): We have long shipped "symbol.afm"
  with the distribution archive--I don't see why we don't ship
  "symbolsl.afm" and "zapfdr.afm" as well (metrics for `SS`, the slanted
  symbol font, and ZDR, reversed Zapf Dingbats).  Like the Type 1 font
  descriptions themselves, this file is updated only in "maintainer
  mode", not as part of the build.  Moreover, these fonts are not part
  of the PostScript level 2 base 35 fonts so their AFM files are
  unlikely to be readily available elsewhere.
2022-03-09 15:18:25 +11:00
G. Branden Robinson
78847abe84 [fonts]: Add spacewidth directives where needed.
* font/devdvi/EX:
* font/devdvi/MI:
* font/devdvi/S:
* font/devdvi/SA:
* font/devps/EURO: Add `spacewidth` directive to font description files
  we ship that were missing it.  We use the same values that libgroff
  would have computed, so there should be no visible difference.
2021-09-25 22:53:39 +10:00
Dave Kemper
81b4ffadc1 font/devps/*: Kern horizontal ellipsis correctly.
Commit 87edb525, from 2003, added character U+2026 (HORIZONTAL ELLIPSIS)
to most base groff fonts, but there has been no kerning information for
this character.  To produce consistent typography, it should be kerned
the same way as the period, which is in 818 kern pairs across all the
devps fonts.

Apply the following shell command to the groff description files
of the PostScript fonts.

  for file in font/devps/*[A-Z]
    do sed -Ei\~ 's/(.*)(^| )\. (.*)/&\n\1\2u2026 \3/' $file
  done

* font/devps/AB:
* font/devps/ABI:
* font/devps/AI:
* font/devps/AR:
* font/devps/BMB:
* font/devps/BMBI:
* font/devps/BMI:
* font/devps/BMR:
* font/devps/HB:
* font/devps/HBI:
* font/devps/HI:
* font/devps/HNB:
* font/devps/HNBI:
* font/devps/HNI:
* font/devps/HNR:
* font/devps/HR:
* font/devps/NB:
* font/devps/NBI:
* font/devps/NI:
* font/devps/NR:
* font/devps/PB:
* font/devps/PBI:
* font/devps/PI:
* font/devps/PR:
* font/devps/TB:
* font/devps/TBI:
* font/devps/TI:
* font/devps/TR:
* font/devps/ZCMI: Apply above script.

Fixes <https://savannah.gnu.org/bugs/?58897>.  However, this will need
to be done again if afmtodit is used to regenerate the above files, or
afmtodit will need to be modified to add this kerning information
itself.
2021-01-14 19:39:05 +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
5630055207 font/devps/generate/Makefile: Remove junk comment.
Continues f2310f7484e9eb5039901375d641e8a70229ee94.
2020-05-05 08:11:16 +10: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
Colin Watson
459c1ad4e2 Remove #! lines from non-executable files
These are always invoked by the build system (either in-tree or via
the installed Makefiles) using the necessary program, so the #!
lines were unnecessary.  They were harmless except that they caused
Debian's `lintian` tool to complain about installed non-executable
scripts.

* font/devlj4/generate/special.awk: Remove #! line.
* font/devps/generate/symbol.sed: Likewise.
2018-03-09 12:24:58 +00:00
Werner Lemberg
6b56ce7c45 Use $(AM_V_GEN) to silence file generation. 2018-02-28 12:34:50 +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
G. Branden Robinson
d0f0f3fffa Put two spaces between sentences in GPL notice.
Fixes half of Savannah #51609 but applies it much more generally.

This is a wide-ranging change, but it makes these notices consistent
with modern copies of the GPLv3 text.  (Some of these files are not
GPLv3, but that's where the boilerplate comes from; GPLv2 and LGPLv2.x
used semicolons to separate these clauses instead.)

If the next resync with Autotools regresses some of these, well, that's
a bug in Autotools.

I checked with wc -L, and no file grew its longest line to 81 characters
due to this change.

contrib/hdtbl/hdmisc.tmac-u only:
Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>

Blame me for the rest.

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
2017-10-31 22:34:27 -04:00