summaryrefslogtreecommitdiff
path: root/font
Commit message (Collapse)AuthorAgeFilesLines
* [docs]: Reduce use of term "entity".G. Branden Robinson2023-04-241-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doug McIlroy noted this vague term, which groff employs for multiple purposes. Eliminate its application to input processing. There is now no longer such a thing as an "entity" in the groff language. * doc/groff.texi (Character Translations): Do it. Also clarify "nothing" as "the dummy character". (Using Symbols): Do it. Also recast explanation of difference between characters and glyphs. Explicitly state that spaces aren't glyphs. Document that `rchar` request can't remove definitions supplied by font description files. (Ligatures and Kerning): Speak of "special characters", not "entities". (Other Differences): Recast discussion of character-to-glyph transformation. Stop qualifying characters as "input". Recast discussion of example. * font/devutf8/NOTES: Revise use of terminology. Perform a Kemper notectomy. Wrap long lines. * man/groff.7.man (Request short reference) <char>: Speak of a "special character", not an "entity". <rchar>: Document that request can't remove definitions supplied by font description files. * man/groff_diff.7.man (Implementation differences): Sync with our Texinfo manual. The use of "entity" to describe how a glyph gets mapped back to a character (sequence) for the HTML and terminal output devices is retained. That usage is restricted to discussion of output drivers (code comments and function names notwithstanding).
* [devpdf]: Revise tests.G. Branden Robinson2023-02-252-36/+60
| | | | | | | | | | | | | | * font/devpdf/tests/check-default-foundry.sh.in: Test only the base 14 fonts of the PDF standard unconditionally. Test the remainder from the set of 35 commonly distributed only if a Ghostscript interpreter was detected at configuration time, because the latter fonts _must_ be embedded in PDF documents. If they're not present, skip the test rather than failing it. * font/devpdf/tests/check-urw-foundry.sh.in: Skip test if no URW fonts detected at configuration time, rather than failing it. * m4/groff.m4 (GROFF_GROPDF_PROGRAM_NOTICE, GROFF_URW_FONTS_NOTICE): Drop warnings of expected test failures. The tests no longer fail in the anticipated circumstances.
* [devpdf]: Generate tests from template files.G. Branden Robinson2023-02-253-1/+19
| | | | | | | | | | | | | | | | | | | [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.
* [devpdf]: Trivially refactor.G. Branden Robinson2023-02-252-2/+2
| | | | | | | | | | 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.
* [gropdf]: Fix Savannah #63824 (2/2).G. Branden Robinson2023-02-221-6/+3
| | | | | | | | | | | | | | | | | [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.
* Revert "[gropdf]: Bifurcate test of font availability."G. Branden Robinson2023-02-191-36/+19
| | | | | | | | | | | This reverts commit 6e001a7f397438d7f09e97155b3c1ec89c1fc855. Per Deri James, having a Ghostscript executable installed but not a full set of PostScript level 2 font files installed (the "base 35" plus groff's "EURO") in discoverable places is _not_ a supported groff configuration scenario as far as gropdf is concerned. A test failure is therefore expected in that case.
* [gropdf]: Bifurcate test of font availability.G. Branden Robinson2023-02-181-19/+36
| | | | | | | | | | | | | | * font/devpdf/tests/check-default-foundry.sh: Bifurcate test of font availability. The Ghostscript executable can be present in the host environment without any Type 1 fonts. The PDF standard requires that its base 14 be present in the renderer, so groff font descriptions for those 14 fonts (plus groff's "EURO" font) should always be available. But the remaining fonts from the "Base 35" PostScript level 2 set won't necessarily be, and so their font descriptions won't be, either. Skip the test rather than failing it in that case, because the Ghostscript executable can have any number of fonts built-in (in "%rom%" as "gs -h" puts it). We'll need a more sophisticated Autoconf test to discern this scenario from a true failure case.
* [gropdf]: Recognize more URW file names.G. Branden Robinson2023-02-181-2/+2
| | | | | | * font/devpdf/Foundry.in: Recognize URW foundry replacements for Helvetica Bold-Oblique and Helvetica Oblique under the file names "NimbusSans-BoldItalic.t1" and "NimbusSans-Italic.t1", respectively.
* [gropdf]: Don't test if hobbled.G. Branden Robinson2023-02-181-14/+2
| | | | | | | | | | | | | | | | | [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.
* [gropdf]: Rename tests.G. Branden Robinson2023-02-183-3/+3
| | | | | | | | | | | | ...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.
* [gropdf]: Revise tests to be foundry-focussed.G. Branden Robinson2023-02-182-38/+32
| | | | | | | | | | | | | | * font/devpdf/tests/basic-fonts-present.sh: Stop trying to match font descriptions in the "devps" directory with ones in "devpdf"; instead, test whether "BuildFoundries" did its job. Test for font descriptions corresponding to the full 35 PostScript Level 2 font repertoire, plus groff's "EURO". * font/devpdf/tests/urw-fonts-present.sh: Drop stale comment and rename variable for better parallelism with the other test above. Continues <https://savannah.gnu.org/bugs/?63808>. Thanks to Deri James for the continued discussion.
* [build, gropdf]: Fix Savannah #63808 (3/3).G. Branden Robinson2023-02-151-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* font/devpdf/tests/basic-fonts-present.sh: Revise.G. Branden Robinson2023-02-151-16/+20
| | | | | | | | | | | | | | * font/devpdf/tests/basic-fonts-present.sh: Revise test again, per feedback from Deri James. Even without Ghostscript or URW fonts available, gropdf can generate valid PDF documents; it simply can't embed fonts in general (without further arrangements made on the host system), which means it is restricted to the PDF base 14 fonts. That's enough for many purposes, including generating our compiled man pages document (with minor degradations to the typeface lists in gropdf(1) and grops(1)). Drop the 'gs' command check, which also didn't check for the name of the Ghostscript interpreter determined by the "configure" script. Replace dynamically generated font list with a static one (the base 14 fonts plus groff's EURO).
* [gropdf]: Clarify reduced support scenario.G. Branden Robinson2023-02-131-7/+36
| | | | | | | | | | | | | | | | | | | | * font/devpdf/tests/basic-fonts-present.sh: Revise test. Improve explanation of why we're looking for the gs(1) command in a font availability test. Prefix diagnostic output with name of test script. Perform a search for the 'ps' device font descriptions that will work in more build scenarios (i.e., don't assume an out-of-tree build taking place in an immediate subdirectory of the source). Distinguish failure to find the font descriptions from a failure to locate the 'gs' command, skipping the test in both scenarios. Reduce noise in output. * m4/groff.m4 (GROFF_CHECK_GROPDF_PROGRAMS): Revise warning issued when awk and Ghostscript are unavailable; gropdf will not be completely inoperative. Characterize its reduced function. Thanks to Deri James in <https://lists.gnu.org/archive/html/\ groff-commit/2023-02/msg00089.html> for prompting me to take a another look at this.
* [gropdf]: Skip a test if gs unavailable.G. Branden Robinson2023-02-131-0/+8
| | | | | | | | | | * font/devpdf/tests/basic-fonts-present.sh: Skip test if 'gs' command not available. The test is to ensure that gropdf will produce sound documents using the base fonts from PostScript, but since gropdf requires Ghostscript to do this (as noted in our "./configure" messages), it makes no sense to validate font availability if the program is absent. Resolves test failure seen on macOS with minimal dependencies installed.
* [BuildFoundries]: Fails if neither ghostcript norDeri James2023-02-111-1/+1
| | | | | | | | | | | | | | URW fonts are installed. * font/devpdf/util/BuildFoundries.pl: When the change to hold paths in an array, rather than a delimited string (see commit 4ae4aeb6555f4f16c28fcb03eb1f56577826054c), the FindGSpath subroutine should return a pointer to an empty array when the call to ghostscript fails, rather than return an empty string, as was done previously. See <https://lists.gnu.org/archive/html/groff/2023-02/msg00042.html> thanks to Bruno Haible for the report.
* [build]: Refactor generation of "freeeuro.pfa".G. Branden Robinson2022-11-252-1/+2
| | | | | | | | | | | | | | | | | | | [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".
* [build]: Stop stripping comments from PFA files.G. Branden Robinson2022-11-251-2/+1
| | | | | | | | * 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.
* Revert "[devpdf]: Do more explicit work and less magic."G. Branden Robinson2022-11-181-97/+7
| | | | | | | This reverts commit 254e13c387a7fdd0267fac697737b5862c0851ad. Per request from Deri James. https://lists.gnu.org/archive/html/groff-commit/2022-11/msg00093.html
* Revert "[build]: Refactor handling of PDF FreeEuro font."G. Branden Robinson2022-11-183-11/+3
| | | | | | | This reverts commit 83004cbf0c8e30bd700f9ef246629ab77de96a7c. Per request from Deri James. https://lists.gnu.org/archive/html/groff-commit/2022-11/msg00094.html
* [build]: Refactor handling of PDF FreeEuro font.G. Branden Robinson2022-11-123-3/+11
| | | | | | | | | | | | | | | | [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.
* font/devpdf/devpdf.am: Refactor.G. Branden Robinson2022-11-121-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* [devpdf]: Do more explicit work and less magic.G. Branden Robinson2022-11-121-1/+93
| | | | | | | | | | | | | | | | | | | | | * 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}.
* [devpdf]: Tweak generation of "download" file.G. Branden Robinson2022-11-121-2/+3
| | | | | | * font/devpdf/devpdf.am (font/devpdf/download): Improve comprehensibility of comments in generated "download" file. Stop bracketing path element separator with spaces.
* font/devpdf/util/BuildFoundries.pl: Fix code nits.G. Branden Robinson2022-11-121-2/+3
| | | | | | | * font/devpdf/util/BuildFoundries.pl (LoadFoundry): Stop capitalizing beginning of diagnostic message (per GNU Coding Standards). Drop ellipsis from end since no further diagnostics relevant to that message are expected. Trim trailing slashes from font path elements.
* font/devps/devps.am: Refactor to simplify.G. Branden Robinson2022-11-121-5/+2
| | | | | * font/devps/devps.am: Refactor. Turn two identical target rules into a (BSD-make-style, old-fashioned) pattern rule.
* [devpdf,gropdf]: "use warnings" instead of '-w'.G. Branden Robinson2022-10-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * font/devpdf/util/BuildFoundries.pl: * src/devices/gropdf/gropdf.pl: * src/devices/gropdf/pdfmom.pl: Replace use of '-w' in shebang line with "use warnings;". The shebang's max length is usually 128 as defined in /usr/include/linux/binfmts.h: #define BINPRM_BUF_SIZE 128 There would be errors when @PERL@ is longer than 128, use '/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w' doesn't work: /usr/bin/env: perl -w: No such file or directory So replace "perl -w" with "use warnings" to make it work. Reported-by: Alexander Kanavin <alex@linutronix.de> Note from Alex: the Yocto project has been carrying this patch for a few years, hope it's useful and acceptable. This submission is a part of 'patch cleanup' where we try to reduce the amount of custom patches by sending upstream what is appropriate.
* font/devlj4/S: Annotate a mystery.G. Branden Robinson2022-10-061-2/+2
|
* [build]: Add gropdf font description sanity tests.G. Branden Robinson2022-07-153-0/+135
| | | | | | | | | | | | [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`.
* font/devpdf/devpdf.am: Refactor to simplify.G. Branden Robinson2022-07-151-11/+6
| | | | | | | | | | | | | * 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.
* font/devpdf/util/BuildFoundries.pl: Recast diag.G. Branden Robinson2022-07-151-6/+11
| | | | | | | | * font/devpdf/util/BuildFoundries.pl (LoadFoundry): Recast diagnostic message so that the user understands the consequence of failure to locate a Type 1 font file (that isn't one of the base 14 PostScript level 1 fonts): the font will be unavailable for the "pdf" output device.
* [build]: Tweak BuildFoundries message readability.G. Branden Robinson2022-07-141-2/+2
| | | | | | | * font/devpdf/util/BuildFoundries.pl (LoadFoundry): Separate lists of Type 1 font names with spaces as well as commas, for better diagnostic message readability. Also begin message in lowercase (per GNU Coding Standards).
* [build]: Resolve Perl warning when no URW fonts.G. Branden Robinson2022-07-141-1/+2
| | | | | | | | * font/devpdf/util/BuildFoundries.pl (LoadFoundry): Verify that `$foundrypath->[$j]` is defined before operating on it. Use of uninitialized value in pattern match (m//) at .../font/devpdf/util/BuildFoundries line 99, <F> line 23.
* [build]: Rename PS->groff glyph name maps (4/4).G. Branden Robinson2022-07-145-36/+36
| | | | | | | | | | | | | * 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.
* [build]: Rename PS->groff glyph name maps (3/4).G. Branden Robinson2022-07-143-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.
* [build]: Rename PS->groff glyph name maps (2/4).G. Branden Robinson2022-07-143-3/+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.
* [build]: Rename PS->groff glyph name maps (1/4).G. Branden Robinson2022-07-145-11/+11
| | | | | | | | | | | | | | | | | | | | | [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.
* [devpdf]: Restore original pathDeri James2022-07-081-3/+5
| | | | | | * font/devpdf/util/BuildFoundries.pl: Some systems store .afm files in a parallel directory to the Type 1 files, restore original path after checking for parallel directory.
* [build]: Call "BuildFoundries" with `--strict`.G. Branden Robinson2022-07-071-1/+1
| | | | | | * 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.
* [devpdf]: Check for errors more.G. Branden Robinson2022-07-071-3/+12
| | | | | | | | | | * font/devpdf/util/BuildFoundries.pl: Add Boolean-value scalar `beStrict` (defaults false) and new command-line option `--strict` to make it true. (LoadFoundry): Check return value of subroutine `LocateAF`. Emit diagnostic if it is null, as a warning if not "strict", and fatal if so.
* [build]: Make BuildFoundries depend on afmtodit.G. Branden Robinson2022-07-071-1/+1
| | | | | | * 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.
* [gropdf]: Add more search paths to Foundry file.Deri James2022-06-221-2/+2
| | | | | | | | * font/devpdf/Foundry.in: Use the directory specified with the config flag --with-urw-fonts-dir to populate the default foundry as well as the U foundry. Important to populate the download file with font files to embed the fonts not part of the base pdf fonts or if user wants all fonts embedded.
* [gropdf]: Correct display of pathnames used.Deri James2022-06-211-2/+2
| | | | | * font/devpdf/util/BuildFoundries.pl: Convert array to string of pathnames.
* Always build PDF font description files.Ingo Schwarze2022-06-191-0/+2
| | | | | | | | | | | | | 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@
* [gropdf]: Changes to BuildFoundries.Deri James2022-06-102-71/+84
| | | | | | | | | | | | * font/devpdf/util/BuildFoundries.pl: Collect search paths into an array rather than a colon delimited string, this allows the @PATH_SEPARATOR@ character (':' or ';') to be used to delimit paths yielded by the command 'gs -h' but still use ':' to delimit paths in the Foundry file. This means the same Foundry file can be used on all systems. * font/devpdf/Foundry.in: Add more likely paths to find the URW fonts.
* [build]: Add Automake `HAVE_URW_FONTS` condition.G. Branden Robinson2022-06-032-13/+26
| | | | | | | | | | | | | | | | | | | | * 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.
* [font/devpdf]: Revise path component separation.G. Branden Robinson2022-06-032-9/+18
| | | | | | | | | | | | | | | * 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.
* font/devpdf/util/BuildFoundries.pl: Refactor.G. Branden Robinson2022-06-031-6/+4
| | | | | | * font/devpdf/util/BuildFoundries.pl: Trivially refactor. Drop unused hash `foundry`. Drop scalar `warn` that was set and updated but never tested.
* font/devpdf/util/BuildFoundries.pl: Fix fresh bug.G. Branden Robinson2022-06-031-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | * font/devpdf/util/BuildFoundries.pl: Alter script to write to the standard output stream instead of (re)writing a file named "download" in the current working directory. This recovers from a problem I introduced in commit 6e62be835d, 2 May, as an unforeseen side effect of improving build parallelism so that the "download" file wouldn't be read until it was fully populated. As a side benefit, this approach is more Unixy, and less dependent on $PWD. (top level): Stop calling `WriteDownload` with an argument. (LoadFoundry): Close only the file handle of interest when done, not all of them (including `STDOUT`, which we now need). (CheckFoundry): Same--just for cleanliness, since at present running the script in 'check' mode doesn't write to any streams. (WriteDownload): Stop taking an argument and manipulating file handles. Write download file to standard output. (LoadDownload, WriteDownload): Drop `top` scalar, used as a mutex to serialize read and write access to "download" file; it is no longer needed since the "download" file is now only read.
* [fonts]: Drop excess `*U` mapping in PS/PDF.G. Branden Robinson2022-05-252-2/+0
| | | | | | | | * 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.