annotate kpathsea/mktexmf @ 4337:d56e0d75e7c9 ss-2-1-45

[project @ 2003-02-19 21:20:19 by jwe]
author jwe
date Wed, 19 Feb 2003 21:20:19 +0000
parents 1f0b06020e36
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
1 #!/bin/sh
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
2 # original mktexmf -- make a new MF file, because one wasn't found.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
3 #
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
4 # (If you change or delete the word `original' on the previous line,
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
5 # installation won't write this script over yours.)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
6 #
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
7 # te@informatik.uni-hannover.de, kb@mail.tug.org, and infovore@xs4all.nl.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
8 # Public domain.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
9
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
10 version='$Id: mktexmf,v 1.13 1998/02/20 16:26:17 olaf Exp $'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
11 progname=`echo $0 | sed 's%.*/%%'`
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
12 usage="Usage: $progname FONT.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
13
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
14 Makes the Metafont source file for FONT, if possible. For example,
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
15 \`ecr12' or \`cmr11'."
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
16
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
17 # Common code for all scripts.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
18 : ${MT_TEXMFMAIN=`kpsewhich --expand-path='$TEXMFMAIN'`}
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
19 : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
20 test -n "$MT_MKTEX_OPT" || MT_MKTEX_OPT="$MT_TEXMFMAIN/web2c/mktex.opt"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
21 if test ! -f "$MT_MKTEX_OPT"; then
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
22 echo "$progname: Cannot find mktex.opt; check your installation." >&2
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
23 exit 1
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
24 fi
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
25
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
26 . "$MT_MKTEX_OPT"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
27
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
28 (
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
29 # See comments in mktexpk.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
30 name="`echo $1 | sed 's%.*/%%; s%\.mf$%%'`"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
31 rootname=`echo "$name" | sed 's/[0-9]*$//'`
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
32 pointsize=`echo "$name" | sed "s/^$rootname//"`
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
33
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
34 sauterroot=`kpsewhich b-$rootname.mf 2>/dev/null`
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
35 if test -n "$sauterroot"; then
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
36 rootfile=$sauterroot
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
37 else
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
38 case $rootname in
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
39 wn*)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
40 lhname=`echo $name | sed 's/^wn/lh/'`
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
41 rootfile=`kpsewhich $lhname.mf 2>/dev/null`;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
42 *)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
43 rootfile=`kpsewhich $rootname.mf 2>/dev/null`;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
44 esac
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
45 fi
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
46 { test -z "$rootfile" || test ! -f "$rootfile"; } && exit 1
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
47
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
48 #if test -z "$MT_MFNAME"; then
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
49 OIFS=$IFS; IFS=$SEP
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
50 set x `"$MT_MKTEXNAM" $name`; shift
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
51 IFS=$OIFS
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
52 MT_MFNAME="$3"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
53 #fi
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
54
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
55 destdir=`echo "$MT_MFNAME" | sed 's%/[^/][^/]*$%%'`
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
56 test -d "$destdir" || "$MT_MKTEXDIR" "$destdir" || exit 1
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
57 cd "$destdir" >/dev/null 2>&1 || exit 1
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
58
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
59 case "$pointsize" in
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
60 "") echo "$progname: no pointsize."; exit 1;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
61 11) realsize=10.95444;; # \magstephalf
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
62 14) realsize=14.4;; # \magstep2
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
63 17) realsize=17.28;; # \magstep3
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
64 20) realsize=20.74;; # \magstep4
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
65 25) realsize=24.88;; # \magstep5
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
66 # The new convention is to have three or four letters for the
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
67 # font name and four digits for the pointsize. The number is
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
68 # pointsize * 100. We effectively divide by 100 by ignoring the
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
69 # last two digits.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
70 ????|?????) realsize=`echo "$pointsize" | sed 's/\(..\)$/.\1/'`;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
71 *) realsize="$pointsize";;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
72 esac
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
73
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
74 mfname="$name.mf"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
75 if test -r "$mfname"; then
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
76 echo "$progname: $destdir/$mfname already exists."
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
77 echo "$destdir/$mfname" >$STDOUT
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
78 "$MT_MKTEXUPD" "$destdir" "$mfname"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
79 exit 0
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
80 fi
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
81
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
82 case "$name" in
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
83 ec*|tc*)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
84 cat > "mf$$.tmp" <<END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
85 if unknown exbase: input exbase fi;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
86 gensize:=$realsize;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
87 generate $rootname;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
88 END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
89 ;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
90 dc*)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
91 cat > "mf$$.tmp" <<END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
92 if unknown dxbase: input dxbase fi;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
93 gensize:=$realsize;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
94 generate $rootname;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
95 END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
96 ;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
97 wn*)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
98 cat > "mf$$.tmp" <<END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
99 wncoding:=1;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
100 input $lhname;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
101 END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
102 ;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
103 *)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
104 cat > "mf$$.tmp" <<END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
105 design_size := $realsize;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
106 input b-$rootname;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
107 END
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
108 ;;
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
109 esac
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
110
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
111 chmod `kpsestat -xst,go-w .` "mf$$.tmp"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
112 rm -f "$mfname"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
113 mv "mf$$.tmp" "$mfname"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
114
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
115 echo "$destdir/$mfname" >$STDOUT
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
116 echo "$progname: $destdir/$mfname: successfully generated." >&2
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
117 "$MT_MKTEXUPD" "$destdir" "$mfname"
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
118 exit 0
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents:
diff changeset
119 ) 1>&2 </dev/null