home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume24 / psroff3.0 / part18 / pkc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-09  |  1.4 KB  |  60 lines

  1. /*
  2.     Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 Chris Lewis
  3.         All Rights Reserved
  4.  
  5.     See the LICENSE file for a full description of restrictions under which
  6.     this software is provided.
  7.  
  8.     Function:        PK Cache handler definitions
  9.  
  10. */
  11.  
  12. /* 2.2 91/02/20 */
  13.  
  14. #if    defined(PARTIAL) || defined(INCR)
  15. /*
  16.  
  17.     if defined(PARTIAL):
  18.  
  19.         This defines a table of bit maps for the "normal" (N),
  20.         "symbol" (S) and overide (digit fonts > 3) indicating which
  21.         characters in the font are "useful".  This is built during
  22.         Prolog (which is after the ljStdFont/ljSymFont arrays are modified
  23.         by any overrides in the *.fonts file), by examining the
  24.         lj*Font arrays and seeing which characters are actually used.
  25.         This is "partial" downloading, *not* incremental.
  26.  
  27.     if defined(INCR):
  28.  
  29.         This defines a table of bit maps for *each* mentioned font at
  30.         *each* pointsize, where the bit being on indicates whether the
  31.         character has been downloaded *yet*.
  32.  */
  33.  
  34. #define    ETYP    long
  35. #define    ELEN    (sizeof(ETYP) * 8)    /* length in bits of an ETYP */
  36. #define    MASKLEN    ((256 - (' ' * 2) + (ELEN - 1)) / ELEN)
  37.  
  38. #define    NPTSIZE    15
  39.  
  40. struct needmaps {
  41.     int fontnum;
  42.     ETYP nm[MASKLEN];
  43.     struct needmaps *next;
  44. };
  45.  
  46. #define    NMAP(x)    nm[x]
  47.  
  48. extern struct needmaps *needmaps;
  49.  
  50. #ifdef    INCR
  51. struct downmaps {
  52.     ETYP *nm[NPTSIZE];
  53.     int lastpage[NPTSIZE];
  54.     struct pkp *pkfont[NPTSIZE];
  55. };
  56. #endif
  57.  
  58. #define    DMAP(x,p) nm[p][x]
  59. #endif
  60.