Follow-up Comment #20, bug #65098 (group groff): [comment #19 comment #19:] > Thank you very much for your help, I know I am terrible at ChangeLog,
Apparently I am too--just look at all the typo fixes I end up committing to it. :-| > all that typing, sorry to put it on you. Not a problem. Describing the changes helps force me to understand what you did and why. While I wait for my builds-prior-to-pushing to complete, I have some comments and questions, mostly matters of small detail. First here's the ChangeLog entry; please review it for accuracy. commit ed5c81c8486b5160c52b6198f9a6c0726a5c173c (HEAD -> master) Author: Deri James <[email protected]> Date: Fri Jun 20 10:29:22 2025 +0000 [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>. The stuff is not gating my push; this ticket simply seems like a good place to discuss some remaining fine details. diff --git a/font/devpdf/DESC.in b/font/devpdf/DESC.in index 5cb254f37..a5f5b5a71 100644 --- a/font/devpdf/DESC.in +++ b/font/devpdf/DESC.in @@ -6,6 +6,6 @@ unitwidth 1000 sizes 1000-10000000 0 styles R I B BI family T -fonts 8 0 0 0 0 0 0 S ZD +fonts 9 0 0 0 0 0 0 SS S ZD tcommand postpro gropdf I'd like to change that a bit. The "DESC" file for "PS" looks like this: $ cat ~/groff-1.23.0/share/groff/1.23.0/font/devps/DESC res 72000 hor 1 vert 1 sizescale 1000 unitwidth 1000 sizes 1000-10000000 0 styles R I B BI family T fonts 9 0 0 0 0 0 SS S ZD ZDR tcommand postpro grops broken 0 papersize letter print lpr Since the PDF device doesn't need the "ZDR" font at all, I suggest making the font mounting positions "line up" between the two output devices. So like this. -fonts 9 0 0 0 0 0 0 SS S ZD +fonts 8 0 0 0 0 0 SS S ZD What do you think? diff --git a/font/devpdf/SS b/font/devpdf/SS new file mode 100644 index 000000000..a61fa8b7a --- /dev/null +++ b/font/devpdf/SS @@ -0,0 +1,50 @@ +# This file has been generated with GNU afmtodit (groff) version 1.20.1 +# +# FullName Symbol Slanted +# Version 001.008 +# FamilyName Symbol +# +# The original AFM file contains the following comments: +# +# Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved. +# Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved. +# Comment Creation Date: Thu May 1 15:12:25 1997 +# Comment UniqueID 43064 +# Comment VMusage 30820 39997 I'd like to add an annotation to this comment header indicating that the file is manually maintained, and to explain why. I'd probably copy the same wording I used in the ChangeLog entry, but if you'd like to propose some language, I'd be eager to see it. +font/devpdf/SS: font/devpdf/download + $(AM_V_at)$(MKDIR_P) $(top_builddir)/font/devpdf + if [ "$(top_srcdir)" != "$(top_builddir)" ]; then \ + cp -u $(top_srcdir)/font/devpdf/SS \ + $(top_srcdir)/font/devpdf/StandardSymSL.pfb \ + $(top_builddir)/font/devpdf; \ + fi + I'd like to get rid of the side effect of this target, and add a real one for "StandardSymSL.pfa", which we'd generate in the build tree from "StandardSymSL.pfb" using our own _pfbtops_(1) program. I piloted this in bug #67207 and it passed a smoke test, at least. @@ -84,7 +96,12 @@ font/devpdf/util/BuildFoundries: \ $(devpdf_srcdir)/util/BuildFoundries.pl \ > $(top_builddir)/font/devpdf/util/BuildFoundries; \ fi \ - && chmod +x $(top_builddir)/font/devpdf/util/BuildFoundries + && chmod +x $(top_builddir)/font/devpdf/util/BuildFoundries \ + && cp -f $(top_srcdir)/font/devpdf/download.in \ + $(top_builddir)/font/devpdf/download + +GROFF_FONT_FILES=`cd $(top_builddir)/font/devpdf \ + && grep -ls internalname [A-CEG-RT-Z]*` MOSTLYCLEANFILES += font/devpdf/DESC font/devpdf/DESC: $(devpdf_srcdir)/DESC.in Any reason we can't just run "BuildFoundries" with "perl -f", and not bother with changing its permissions? @@ -134,7 +152,12 @@ mostlyclean_devpdf_extra: rm -rf $(top_builddir)/font/devpdf/enc \ $(top_builddir)/font/devpdf/map; if test -d $(top_builddir)/font/devpdf; then \ - for f in $(GROFF_FONT_FILES); do \ + for f in $(GROFF_FONT_FILES) S; do \ + $(RM) $(top_builddir)/font/devpdf/$$f; \ + done; \ + fi + if [ "$(top_srcdir)" != "$(top_builddir)" ]; then \ + for f in SS StandardSymSL.pfb; do \ $(RM) $(top_builddir)/font/devpdf/$$f; \ done; \ fi @@ -144,7 +167,7 @@ install_devpdf: @echo Installing devpdf files -@test -d $(DESTDIR)$(devpdffontdir) \ || $(mkinstalldirs) $(DESTDIR)$(devpdffontdir) - @for f in $(GROFF_FONT_FILES); do \ + @for f in $(GROFF_FONT_FILES) S; do \ $(RM) $(DESTDIR)$(devpdffontdir)/$$f; \ if test -f $$f; then \ $(INSTALL_DATA) $$f $(DESTDIR)$(devpdffontdir)/$$f; \ @@ -160,7 +183,7 @@ uninstall_groffdirs: uninstall_devpdf uninstall_devpdf: @echo Uninstalling devpdf files if test -d $(DESTDIR)$(devpdffontdir); then \ - for f in $(GROFF_FONT_FILES); do \ + for f in $(GROFF_FONT_FILES) S; do \ $(RM) $(DESTDIR)$(devpdffontdir)/$$f; \ done; \ if test -d $(DESTDIR)$(devpdffontencdir); then \ As previewed in bug #67207, I'd prefer to migrate to a statically populated macro listing "ps" device fonts we expect to support. As PostScript is now a withdrawn and abandoned standard, I don't think we need to pursue maximum flexibility here. diff --git a/tmac/pdf.tmac b/tmac/pdf.tmac index 98fa3ef0e..9571e0148 100644 --- a/tmac/pdf.tmac +++ b/tmac/pdf.tmac @@ -38,34 +38,6 @@ .de pdf:SS . fchar \\$1 \\S'16'\\$1\\S'0' .. As previewed in bug #67207, I'd like to kill off this (undocumented) macro definition too, since we no longer use it, and it is easy for a document author to recreate if they desire it. Now that I've finished typing this comment, all 4 builds have finished too so I will go ahead and push. Of course I can amend the ChangeLog entry if you find an error in it. The commit message is unrevisable, but I'm resigned to that being an aspect of life in Git. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?65098> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature
