home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / text / tex / pastex / source / dvips / amiga / chfiles / tfmload.ch < prev    next >
Encoding:
Text File  |  1995-01-08  |  2.0 KB  |  95 lines

  1. @x
  2. extern char *tfmpath ;
  3. @y
  4. extern char *tfmpath ;
  5. extern struct EnvVarPath *tfm_var;
  6. @z
  7.  
  8. @x
  9. void
  10. tfmopen(fd)
  11.         register fontdesctype *fd ;
  12. {
  13.    register char *d, *n ;
  14.  
  15.    d = fd->area ;
  16.    n = fd->name ;
  17.    if (*d==0)
  18.       d = tfmpath ;
  19. #ifdef MVSXA   /* IBM: MVS/XA */
  20.    (void)sprintf(name, "tfm(%s)", n) ;
  21. #else
  22.    (void)sprintf(name, "%s.tfm", n) ;
  23. #endif
  24.    if ((tfmfile=search(d, name, READBIN))==NULL) {
  25.       (void)sprintf(errbuf, "Can't open font metric file %s%s",
  26.              fd->area, name) ;
  27.       error(errbuf) ;
  28.       error("I will use cmr10.tfm instead, so expect bad output.") ;
  29. #ifdef MVSXA   /* IBM: MVS/XA */
  30.       if ((tfmfile=search(d, "tfm(cmr10)", READBIN))==NULL)
  31. #else
  32.       if ((tfmfile=search(d, "cmr10.tfm", READBIN))==NULL)
  33. #endif
  34.          error(
  35.           "! I can't find cmr10.tfm; please reinstall me with proper paths") ;
  36.    }
  37. }
  38. @y
  39. void
  40. tfmopen(fd)
  41.         register fontdesctype *fd ;
  42. {
  43.    register char *d, *n ;
  44.    struct EnvVarPath *dummy_var = NULL;
  45.  
  46.    d = fd->area ;
  47.    n = fd->name ;
  48.  
  49.    if (*d==0)
  50.        dummy_var = tfm_var;
  51.    else
  52.    {
  53.       dummy_var = Alloc_EnvVarPath("", 256L);
  54.       Init_EnvVarPath(dummy_var, d, ENVPATH_DEFSTR);
  55.    }
  56.  
  57.    (void)sprintf(name, "%s.tfm", n) ;
  58.  
  59.    if ((tfmfile=search(dummy_var, name, READBIN))==NULL) {
  60.       (void)sprintf(errbuf, "Can't open font metric file %s%s",
  61.              fd->area, name) ;
  62.       error(errbuf) ;
  63.       error("I will use cmr10.tfm instead, so expect bad output.") ;
  64.       if ((tfmfile=search(dummy_var, "cmr10.tfm", READBIN))==NULL) {
  65.          if (dummy_var != tfm_var)
  66.         Free_EnvVarPath(dummy_var);
  67.          error("! I can't find cmr10.tfm; please reinstall me with proper paths") ;
  68.       }
  69.    }
  70.  
  71.    if (dummy_var != tfm_var)
  72.     Free_EnvVarPath(dummy_var);
  73. }
  74. @z
  75.  
  76. @x
  77. #ifdef AMIGA
  78.   return(shalfword) (getc(tfmfile)) ;
  79. #else
  80.   return(getc(tfmfile)) ;
  81. #endif
  82. @y
  83.   return(shalfword) (getc(tfmfile)) ;
  84. @z
  85.  
  86. @x
  87. #ifdef AMIGA
  88.   return (halfword)( a * 256 + tfmbyte () ) ; 
  89. #else
  90.   return ( a * 256 + tfmbyte () ) ; 
  91. #endif
  92. @y
  93.   return (halfword)( a * 256 + tfmbyte () ) ; 
  94. @z
  95.