need lots of TeX fonts

Stefan Farestam farestam at ORION.CERFACS.FR
Tue Mar 19 20:40:13 AEST 1991



>We recently downloaded the TeX distribution front vgr.brl.mil and it
>seems to work ok.  Our only problem is that the distribution apparently
>doesn't include enough different fonts for our purposes.  Specifically,
>this tends to cause the dvi-to-postscript step to choke because it
>can't find font such-and-such.  (TeX per se works just fine.)

>Is there some site from which we can download every conceivable font that
>we might want to use?

   I think labrea.stanford.edu has a good deal of fonts

>We don't know very much at all about the great
>inner mysteries of how TeX works, so please excuse the following

   Well, who does ?

>Dumb Questions:

>(1)  Is a font a font, or do we need certain kinds of fonts, e.g. 
>     for a particular system or printer?

   Your dvi-to-ps usually likes either gf or pk fonts. (one being
   transferable to the other by using pktogf or gftopk). But even
   those fonts comes in different varietes, and yes they are tailored
   for different printers, because the way of printing differs from
   printer to printer. I believe the fonts on labrea are made for the
   Canon print engine, which is in all of the apple laserwriters. If
   you have a laser writer different from that, then you'll have to redo
   the fonts yourself (probably) by using mf (see below)

>(2)  Is there anything special that needs to be done to install the
>     fonts, or do we just ftp the fonts and shove 'em in a directory
>     that looks like the right place?

   I guess that's basically the procedure. (i.e. just ftp to the right
   place, unless what I stated above applies)

>(3)  Anything else we should be aware of?

   There probably is (someone else ?)


   Anyway, below is a script that I use myself to maintain fonts. It makes
   new fonts according to your needs.

   Usage: The first column is the name of the font, in the second you mark
          the sizes available (in mf format), and in the third you mark off
          the magnifications wanted. Adjust the paths to what is true
          locally, and if your setup requires gf files, then add

   set		gfdir	=	/usr/local/lib/tex/fonts/gf

            /bin/mv -f $font'.'$gmag'gf' $gfdir

          and remove

            $gftopk $font'.'$gmag'gf'
            /bin/mv -f $font'.'$gmag'pk' $pkdir
            /bin/rm -f $font'.'$gmag'gf'

   Note that to recreate all your fonts woth this file takes a loooooong
   time. Make nohup, and go home and sleep...

   If you have another print engine than the default, then you'll have to
   take a look in the file that (cm)mf uses to define the fonts and change
   the $mode accordingly. (On my system it's the file U_Wash.mf in
   /usr/local/lib/mf/inputs, and there localfont is set to CanonCX) A
   common thing to do is probably to set mode = RicohFourZeroEightZero, or
   some other write-white machine, to produce fonts that look good on
   a screen with black text and white background


________________________________________________________________________



#!/bin/csh -f

# Script to maintain fonts for tex
# Stefan Farestam, Nov 1990

if ($#argv == 0) then

   #  * marks a nonexistant mf file

   $0  'cmb   {* * * * * 10  *  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmr   {5,6,7,8,9,10,12,17} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmbx  {5,6,7,8,9,10,12  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmex  {* * 7,8,9,10  *  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmmi  {5,6,7,8,9,10,12  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmmib {5,6,7,8,9,10  *  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmss  {* * * 8,9,10,12,17} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmssi {* * * 8,9,10,12,17} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmtt  {* * * 8,9,10,12  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmti  {* * 7,8,9,10,12  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmsy  {5,6,7,8,9,10  *  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmbsy {5,6,7,8,9,10  *  *} _ {-1,0,0.5,1,2,3,4,5}'
   $0  'cmsl  {* * * 8,9,10,12  *} _ {-1,0,0.5,1,2,3,4,5}'

else if ("$1" =~ *' '*) then
   $0 `echo "$1" | tr -d ' *'`
else
   setenv	MFINPUTS	/usr/local/lib/mf/inputs
   set		mode	=	localfont
   set          res	=	300
   set		mf	=	/usr/local/bin/cmmf
   set		gftopk	=	/usr/local/bin/gftopk
   set		tfmdir	=	/usr/local/lib/tex/fonts/tfm
   set		pkdir	=	/usr/local/lib/tex/fonts/pk

   foreach arg ($argv)
      set font = `echo $arg | awk -F_ '{print $1}'`
      set mag  = `echo $arg | awk -F_ '{print $2}'`
      set gmag = `true | awk "END {print int($res*exp($mag*log(1.2))+0.5)}"`

      if (! -e $pkdir/$font'.'$gmag'pk') then
         if (-e $MFINPUTS/$font'.mf') then
            echo '-> '$font'.'$gmag'pk'
            $mf "\mode=$mode; \mag=magstep($mag);" input $font > /dev/null
            $gftopk $font'.'$gmag'gf'
            /bin/mv -f $font'.'$gmag'pk' $pkdir
            /bin/mv -f $font'.tfm'       $tfmdir
            /bin/rm -f $font'.'$gmag'gf'
            /bin/rm -f $font'.log'
         else
            echo $font'.mf nonexistant'
         endif
      endif
   end
endif



More information about the Comp.sys.sgi mailing list