1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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;
#-------------------------------------------------------------------
|