home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / d / dvips551.zip / DVIPS.ZIP / MAKETEXP < prev    next >
Text File  |  1993-01-18  |  4KB  |  160 lines

  1. #!/bin/sh
  2. #
  3. #   This script file makes a new TeX PK font, because one wasn't
  4. #   found.  Parameters are:
  5. #
  6. #   name dpi bdpi magnification [mode [subdir]]
  7. #
  8. #   `name' is the name of the font, such as `cmr10'.  `dpi' is
  9. #   the resolution the font is needed at.  `bdpi' is the base
  10. #   resolution, useful for figuring out the mode to make the font
  11. #   in.  `magnification' is a string to pass to MF as the
  12. #   magnification.  `mode', if supplied, is the mode to use.
  13. #
  14. #   Note that this file must execute Metafont, and then gftopk,
  15. #   and place the result in the correct location for the PostScript
  16. #   driver to find it subsequently.  If this doesn't work, it will
  17. #   be evident because MF will be invoked over and over again.
  18. #
  19. #   Of course, it needs to be set up for your site.
  20. #
  21. TEXDIR=/usr/lib/tex
  22. LOCALDIR=/LocalLibrary/Fonts/TeXFonts
  23. DESTDIR=$LOCALDIR/pk
  24. #
  25. # TEMPDIR needs to be unique for each process because of the possibility
  26. # of simultaneous processes running this script.
  27. #
  28. if test "$TMPDIR" = ""
  29. then
  30.    TEMPDIR=/tmp/mtpk.$$
  31. else
  32.    TEMPDIR=$TMPDIR/mtpk.$$
  33. fi
  34. NAME=$1
  35. DPI=$2
  36. BDPI=$3
  37. MAG=$4
  38. MODE=$5
  39. #
  40. #   Prevent display under the X Window System.  Except it doesn't always
  41. #   work; some sh'ells don't seem to understand unset.  There are also some
  42. #   versions of METAFONT that don't work if the DISPLAY isn't set and
  43. #   the term type is set to xterm.
  44. #
  45. # unset DISPLAY
  46. umask 0
  47.  
  48. if test "$MODE" = ""
  49. then
  50.    if test $BDPI = 300
  51.    then
  52.       MODE=imagen
  53.    elif test $BDPI = 200
  54.    then
  55.       MODE=FAX
  56.    elif test $BDPI = 360
  57.    then
  58.       MODE=nextII
  59.    elif test $BDPI = 400
  60.    then
  61.       MODE=nexthi
  62.    elif test $BDPI = 100
  63.    then
  64.       MODE=nextscreen
  65.    elif test $BDPI = 72
  66.    then
  67.       MODE=seventwo
  68.    elif test $BDPI = 635
  69.    then
  70.       MODE=linolo
  71.    elif test $BDPI = 1270
  72.    then
  73.       MODE=linohi
  74.    elif test $BDPI = 2540
  75.    then
  76.       MODE=linosuper
  77.    else
  78.       echo "I don't know the mode for $BDPI"
  79.       echo "Have your system admin update MakeTeXPK"
  80.       exit 1
  81.    fi
  82. fi
  83.  
  84. #  Something like the following is useful at some sites.
  85. # DESTDIR=/usr/local/lib/tex/fonts/pk.$MODE
  86. GFNAME=$NAME.$DPI'gf'
  87. PKNAME=$NAME.$DPI'pk'
  88.  
  89. # Clean up on normal or abnormal exit
  90. trap "cd /; rm -rf $TEMPDIR $DESTDIR/pktmp.$$" 0 1 2 15
  91.  
  92.  
  93. if test ! -d $DESTDIR
  94. then
  95.    mkdir $DESTDIR
  96.    chmod 777 $DESTDIR
  97. fi
  98.  
  99. if test "$6" != ""
  100. then
  101.    DESTDIR=$DESTDIR"$6"
  102.    if test ! -d $DESTDIR
  103.    then
  104.       mkdir $DESTDIR
  105.       chmod 777 $DESTDIR
  106.    fi
  107. fi
  108.  
  109. # added by gwb, to allow searching in current dir before cd'ing
  110. if test "$MFINPUTS" != ""
  111. then
  112.    MFINPUTS=$MFINPUTS:`pwd`; export MFINPUTS
  113. fi
  114. mkdir $TEMPDIR
  115. cd $TEMPDIR
  116.  
  117. if test -r $DESTDIR/$PKNAME
  118. then
  119.    echo "$DESTDIR/$PKNAME already exists!"
  120.    exit 0
  121. fi
  122.  
  123. # check also in the standard place
  124.  
  125. if test "$6" = ""
  126. then
  127.    if test -r $TEXDIR/fonts/pk/$PKNAME
  128.    then
  129.       echo $TEXDIR/fonts/pk/$PKNAME already exists!
  130.       exit 0
  131.    fi
  132. else
  133.    if test -r $TEXDIR/fonts/pk/$6"$PKNAME"
  134.    then
  135.       echo $TEXDIR/fonts/pk/$6"$PKNAME" already exists!
  136.       exit 0
  137.    fi
  138. fi
  139.  
  140. unset DISPLAY
  141. echo "mf \"\\mode:=$MODE; mag:=$MAG; scrollmode; input $NAME\" </dev/null"
  142. mf "\mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" </dev/null
  143. if test ! -r $GFNAME
  144. then
  145.    echo "Metafont failed for some reason on $GFNAME"
  146.    exit 1
  147. fi
  148.  
  149. gftopk -v ./$GFNAME ./$PKNAME
  150.  
  151. # Install the PK file carefully, since others may be doing the same
  152. # as us simultaneously.
  153.  
  154. mv $PKNAME $DESTDIR/pktmp.$$
  155. cd $DESTDIR
  156. mv pktmp.$$ $PKNAME
  157. chmod a+r $PKNAME
  158.  
  159. exit 0
  160.