2999
|
1 #!/bin/sh |
|
2 # original MakeTeXTFM -- make a new TFM file, because one wasn't found. |
|
3 # |
|
4 # (If you change or delete the word `original' on the previous line, |
|
5 # installation won't write this script over yours.) |
|
6 # |
|
7 # te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain. |
|
8 |
|
9 version='$Id: MakeTeXTFM,v 1.1 1997-05-23 03:02:11 jwe Exp $' |
|
10 usage="Usage: $0 FONT. |
|
11 Makes a TFM file for FONT, if possible." |
|
12 |
|
13 : ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`} |
|
14 if test -z "$TEXMFMAIN"; then |
|
15 echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2 |
|
16 exit 1 |
|
17 fi |
|
18 : ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`} |
|
19 test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c |
|
20 . $TEXMFCNF_DIR/MakeTeXcommon |
|
21 |
|
22 # See comments in MakeTeXPK. |
|
23 # start of redirection stdout -> stderr, stdin <- /dev/null |
|
24 ( |
|
25 NAME=`basename $1 .tfm` |
|
26 MAG=1 |
|
27 DEST=$2 |
|
28 DPI=$BDPI |
|
29 |
|
30 set - `$TEXMFCNF_DIR/MakeTeXnames $NAME $DPI $MODE $DEST` |
|
31 PKDEST=$1 |
|
32 TFMDEST=$2 |
|
33 PKDESTDIR=`echo $PKDEST | sed 's%/[^/][^/]*$%%'` # can't rely on dirname |
|
34 TFMDESTDIR=`echo $TFMDEST | sed 's%/[^/][^/]*$%%'` |
|
35 PKNAME=`basename $PKDEST` |
|
36 TFMNAME=$NAME.tfm |
|
37 GFNAME=$NAME.$DPI'gf' |
|
38 |
|
39 if test -r $TFMDESTDIR/$TFMNAME; then |
|
40 echo "$0: $TFMDESTDIR/$TFMNAME already exists." >&2 |
|
41 echo $TFMDESTDIR/$TFMNAME >$STDOUT |
|
42 $TEXMFCNF_DIR/MakeTeXupdate $TFMDESTDIR $TFMNAME |
|
43 exit |
|
44 fi |
|
45 |
|
46 # Try to create the destdir first. Do not create fonts, if this fails. |
|
47 $TEXMFCNF_DIR/MakeTeXmkdir "$TFMDESTDIR" |
|
48 if test ! -d "$TFMDESTDIR"; then |
|
49 echo "$0: MakeTeXmkdir $TFMDESTDIR failed." |
|
50 exit 1 |
|
51 fi |
|
52 |
|
53 cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" |
|
54 echo "$0: Running $cmd" |
|
55 $cmd </dev/null |
|
56 test -r $TFMNAME || { echo "$0: \`$cmd' failed to make $TFMNAME."; exit 1; } |
|
57 |
|
58 # Install the TFM file carefully, since others may be working simultaneously. |
|
59 mv $TFMNAME $TFMDESTDIR/tfmtmp.$$ || exit 1 |
|
60 cd $TFMDESTDIR || exit 1 |
|
61 test -r $TFMNAME || mv tfmtmp.$$ $TFMNAME || exit 1 |
|
62 chmod $MT_FILE_PERMS $TFMNAME |
|
63 |
|
64 # OK, success with the TFM. |
|
65 $TEXMFCNF_DIR/MakeTeXupdate $TFMDESTDIR $TFMNAME |
|
66 echo $TFMDESTDIR/$TFMNAME >$STDOUT |
|
67 |
|
68 # Since we probably made a GF(->PK) file, too, may as well install it if |
|
69 # it's needed. |
|
70 cd $TEMPDIR |
|
71 if test -r $GFNAME && test ! -f $PKDESTDIR/$PKNAME; then |
|
72 gftopk ./$GFNAME $PKNAME || exit 1 |
|
73 $TEXMFCNF_DIR/MakeTeXmkdir "$PKDESTDIR" |
|
74 mv $PKNAME $PKDESTDIR/pktmp.$$ || exit 1 |
|
75 cd $PKDESTDIR || exit 1 |
|
76 if test -f $PKNAME; then |
|
77 rm -f pktmp.$$ |
|
78 else |
|
79 mv pktmp.$$ $PKNAME |
|
80 chmod $MT_FILE_PERMS $PKNAME |
|
81 $TEXMFCNF_DIR/MakeTeXupdate $PKDESTDIR $PKNAME |
|
82 fi |
|
83 fi |
|
84 ) 1>&2 </dev/null |
|
85 # end of redirection stdout, stdin |