groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 24/40: [build]: Refactor handling of PDF FreeEuro font.


From: G. Branden Robinson
Subject: [groff] 24/40: [build]: Refactor handling of PDF FreeEuro font.
Date: Sat, 12 Nov 2022 14:43:38 -0500 (EST)

gbranden pushed a commit to branch master
in repository groff.

commit 83004cbf0c8e30bd700f9ef246629ab77de96a7c
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Fri Nov 11 15:34:56 2022 -0600

    [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.
---
 ChangeLog                          | 14 ++++++++++++++
 doc/doc.am                         | 12 +++++++-----
 font/devpdf/Foundry.in             |  1 -
 font/devpdf/devpdf.am              |  1 +
 font/devpdf/util/BuildFoundries.pl | 12 ++++++++++--
 5 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index eafe06a4b..7d328a511 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2022-11-11  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       [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-11  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        * font/devpdf/devpdf.am: Refactor.
diff --git a/doc/doc.am b/doc/doc.am
index ee18976bb..76f719426 100644
--- a/doc/doc.am
+++ b/doc/doc.am
@@ -248,12 +248,14 @@ man-all: $(GROFF_MAN_PAGES_ALL)
 man-clean:
        $(RM) $(GROFF_MAN_PAGES_ALL)
 
-# Many pages use tbl, a few use eqn, and soelim(1) uses pic.
+# Many pages use tbl, a few use eqn, and soelim(1) uses pic.  We also
+# need groff's FreeEuro font so we can embed it.
 #
-# We embed the fonts to (1) honor the current PDF standard, (2) ensure
-# consistent rendering of the document, and (3) exercise this feature of
-# gropdf.
-doc/groff-man-pages.pdf: $(GROFF_MAN_PAGES_ALL) eqn pic tbl
+# We embed the fonts (-P-e) to (1) honor the current PDF standard, (2)
+# ensure consistent rendering of the document, and (3) exercise this
+# feature of gropdf.
+doc/groff-man-pages.pdf: $(GROFF_MAN_PAGES_ALL) eqn pic tbl \
+       font/devpdf/freeeuro.pfa
        $(GROFF_V)$(DOC_GROFF) -pet -mandoc -rC1 -rCHECKSTYLE=3 \
          -Tpdf -P-e \
          $(GROFF_MAN_PAGES1) \
diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
index 633a0a58d..67a91555a 100644
--- a/font/devpdf/Foundry.in
+++ b/font/devpdf/Foundry.in
@@ -65,7 +65,6 @@ 
TI|Y||||NimbusRoman-Italic.t1!NimbusRoman-Italic!NimbusRomNo9L-ReguItal!n021023l
 
TR|Y||||NimbusRoman-Regular.t1!NimbusRoman-Regular!NimbusRomNo9L-Regu!n021003l.pfb
 
ZCMI|N||||Z003-MediumItalic.t1!Z003-MediumItalic!URWChanceryL-MediItal!z003034l.pfb
 ZD|Y||||D050000L!D050000L.t1!Dingbats!d050000l.pfb
-EURO|N||||*../devps/freeeuro.pfa
 
 # BEGIN URW ============================================================
 
diff --git a/font/devpdf/devpdf.am b/font/devpdf/devpdf.am
index 0114d15e0..0b2b39c33 100644
--- a/font/devpdf/devpdf.am
+++ b/font/devpdf/devpdf.am
@@ -214,6 +214,7 @@ font/devpdf/download: $(devpdffontmapdata) font/devpdf/DESC 
\
               --strict $(abs_top_builddir)/font/devpdf \
               '$(abs_top_srcdir)/font/devps:$(abs_top_builddir)/font/devps' \
               >>$@.tmp \
+       && printf "\tFreeEuro\tfreeeuro.pfa\n" >>$@.tmp \
        && mv $@.tmp $@
 
 # PDFs to be produced by troff should depend on this stamp file to
diff --git a/font/devpdf/util/BuildFoundries.pl 
b/font/devpdf/util/BuildFoundries.pl
index 1e7c416cb..cdc8573c0 100644
--- a/font/devpdf/util/BuildFoundries.pl
+++ b/font/devpdf/util/BuildFoundries.pl
@@ -45,6 +45,15 @@ my $lct=0;
 my $foundry='';        # the default foundry
 my $notFoundFont=0;
 
+# We hard-code the PostScript Level 2 base 35 fonts because we don't
+# want to copy any others from the devps font directory to devpdf's.
+my @base35Fonts = (
+    "AB", "ABI", "AI", "AR", "BMB", "BMBI", "BMI", "BMR", "CB", "CBI",
+    "CI", "CR", "HB", "HBI", "HI", "HNB", "HNBI", "HNI", "HNR", "HR",
+    "NB", "NBI", "NI", "NR", "PB", "PBI", "PI", "PR", "S", "TB", "TBI",
+    "TI", "TR", "ZCMI", "ZD",
+);
+
 if ($check)
 {
     CheckFoundry("Foundry.in");
@@ -115,7 +124,7 @@ sub LoadFoundry
 
            my $gfont=($foundry eq '')?$r[0]:"$foundry-$r[0]";
 
-           if ($r[2] eq '')
+           if ($r[2] eq '' && grep /^$r[0]$/, @base35Fonts)
            {
                # Don't run afmtodit; just copy the groff font
                # description file for grops.
@@ -142,7 +151,6 @@ sub LoadFoundry
                        }
                    }
                    Notice("copied grops font $gfont") if $gotf;
-
                }
                else
                {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]