summaryrefslogtreecommitdiff
path: root/fonts/psfonts/tools/make-fam.pl
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/psfonts/tools/make-fam.pl')
-rw-r--r--fonts/psfonts/tools/make-fam.pl91
1 files changed, 91 insertions, 0 deletions
diff --git a/fonts/psfonts/tools/make-fam.pl b/fonts/psfonts/tools/make-fam.pl
new file mode 100644
index 0000000000..379ab83724
--- /dev/null
+++ b/fonts/psfonts/tools/make-fam.pl
@@ -0,0 +1,91 @@
+#!/tool/bin/perl
+#
+# This script writes a .tex file which does the necessary work
+# of converting Adobe Font Metric files for a `normal' font family,
+# runs fontinst on it, adds checksums,
+# converts the resulting files,
+# and installs them in distribution directories.
+#
+# (c) Sebastian Rahtz February 6th 1994--January 1997.
+# Piet Tutelaers (rcpt@urc.tue.nl) added a lot of
+# material in the sh version which I have (I hope)
+# adapted to Perl properly, and I have also folded in his
+# Perl code to add checksums.
+#
+# 1) run fontinst
+# 2) install DVIPS files (result: $OUT/dvips)
+# 3) install TFM and VF files (result: $OUT/vf)
+# 4) install TFM files (result: $OUT/tfm)
+# 5) install FD and STY files (result: $OUT/tex)
+# 6) install README file (result: $OUT/README)
+#----------------------------------------------------------------
+# The user has to supply the Berry family name, and (optionally)
+# any special code to run when the family is loaded.
+# The output is:
+# - three .fd files (one for T1, one for OT1, and one for 8r)
+# - .tfm and .vf files
+# - a file <family>.map (could be appended to psfonts.map (for dvips))
+# - a file config.<family> (for use with dvips, referencing psfonts.<family>)
+# - a file <family>.sty package file for trivial use of font family
+# Intermediate files are deleted.
+#
+
+use English;
+use Getopt::Long;
+use File::Basename;
+use Cwd;
+
+$filedate="1997/09/17";
+$fileversion="1.2";
+
+require "famtool.pl";
+
+$opt_debug=0;
+$opt_slant=".167";
+
+$result = GetOptions (
+"debug!",
+"download!",# means that the lines written to psfonts.<family> have "<fontname"
+"sans!", # means this is a sanserif font
+"tt!", # means that this is a typewriter family
+"outdir=s", # [dir] specifies where the results are to go
+"lucida!", # means add special code for Lucida scaling
+"nosty!", # means do NOT produce a .sty file
+"narrow=s", # [width] means generate narrow fonts
+"slant=s", # [amount] means amount to slant fake oblique
+"fdcode=s", # extra FD code
+"expert=s", # means this is to be set up as an expert set, suffix s
+"verbose!", # be chatty
+ );
+
+if ($result eq 0 ) { die ("OPTION FAILURE"); }
+if ($opt_debug) { $opt_verbose=1;}
+die "[makefam] Usage: makefam [options] fontname\n" unless @ARGV > 0;
+
+&Setup($ARGV[0]);
+
+$Type="\\rm";
+if ($opt_tt) { $Type="\\tt"; $ExtraFDCode="\\hyphenchar\\font=-1" ;}
+if ($opt_sans) { $Type="\\sf"; }
+if ($opt_fdcode ne "") { $ExtraFDCode="$opt_fdcode" ;}
+
+print "Running fontinst TeX job\n" if $opt_verbose;
+&runTeX;
+
+&buildfilelist;
+
+print "Installing dvips files in $Outdir/dvips\n" if $opt_verbose;
+&installDvips;
+
+print "Installing metric files in $Outdir/tfm and vf\n" if $opt_verbose;
+&installMetrics;
+
+print "Installing LaTeX files in $Outdir/tex\n" if $opt_verbose;
+&installTeX;
+
+&Cleanup;
+
+print "Done\n" if $opt_verbose;
+
+#-------------------------------------------------------------------
+