home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume2 / ditdvi / ditdvi.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-08-07  |  2.7 KB  |  94 lines

  1. #ifndef        FONTDIR
  2. #define        FONTDIR        "/usr/lib/ditroff"
  3. #endif
  4.  
  5. #define        DEF_DEV        "dvi"
  6. #define        NFONTS        100
  7. #define        NSIZES        20
  8.  
  9. #define        RULE_CHAR    0201        /* put here by tfm2desc */
  10.  
  11. char        *strcpy(), *sprintf();
  12.  
  13. typedef        unsigned char    uchar;
  14.  
  15. extern char    pageoffset;
  16. extern char    *prog_name;
  17.  
  18. /*
  19. **    characteristics of a typesetter
  20. */
  21.  
  22. typedef struct tdev {
  23.       unsigned  short filesize;    /* number of bytes in file, */
  24.                 /* excluding dev part */
  25.     short    res;        /* basic resolution in goobies/inch */
  26.     short    hor;        /* goobies horizontally */
  27.     short    vert;
  28.     short    unitwidth;    /* size at which widths are given, in effect */
  29.     short    nfonts;        /* number of fonts physically available */
  30.     short    nsizes;        /* number of sizes it has */
  31.     short    sizescale;    /* scaling for fractional point sizes */
  32.     short    paperwidth;    /* max line length in units */
  33.     short    paperlength;    /* max paper length in units */
  34.     short    nchtab;        /* number of funny names in chtab */
  35.     short    lchname;    /* length of chname table */
  36.     short    spare1;        /* in case of expansion */
  37.     short    spare2;
  38.     } tdev;
  39.  
  40. typedef struct tfont {        /* characteristics of a font */
  41.     uchar    nwfont;        /* number of width entries for this font */
  42.     char    specfont;    /* 1 == special font */
  43.     char    ligfont;    /* 1 == ligatures exist on this font */
  44.     char    spare1;        /* unused for now */
  45.     char    namefont[10];    /* name of this font (e.g., "R" */
  46.     char    intname[10];    /* internal name on device, in ascii */
  47.     } tfont;
  48.  
  49. /* ligatures, ORed into ligfont */
  50.  
  51. #define    LFF    01
  52. #define    LFI    02
  53. #define    LFL    04
  54. #define    LFFI    010
  55. #define    LFFL    020
  56.  
  57. typedef struct lookup {
  58.     char        *chname;
  59.     short        ordinal;
  60.     } lookup;
  61.  
  62. typedef struct settings {
  63.     char        s_ts_name[20];        /* name of typesetter */
  64.     char        *s_font_name;        /* current font name */
  65.     int        s_font_num;        /* current font number */
  66.     int        s_point_size;        /* current point size */
  67.     int        s_point_index;        /* index into pstab and raster */
  68.     int        s_page_num;        /* current page number */
  69.     int        s_H, s_V;        /* H and V ints */
  70.     int        s_resolution, s_horizontal,
  71.             s_vertical;        /* of typesetter */
  72.     } settings;
  73.  
  74. typedef    struct fontdes {
  75.     tfont        *tfontp;        /* font entry */
  76.     uchar        *widtab;        /* width table */
  77.     uchar        *kerntab;        /* kerning table */
  78.     uchar        *codetab;        /* code table */
  79.     uchar        *fitab;            /* font index table */
  80.     int        texfont[NSIZES];    /* number of font in DVI file */
  81.     } fontdes;
  82.  
  83. /* define some macros for convenient reference to fields */
  84. #define    n_width        tfontp->nwfont        /* first thing in font entry */
  85. #define    font_name    tfontp->namefont    /* array of char */
  86. #define    int_name    tfontp->intname        /* array of char */
  87.  
  88. extern tdev    dev;
  89. extern int    halfwidth;
  90. extern short    *pstab;
  91. extern lookup    *specialtab;
  92. extern settings    engine;                /* where we are at now */
  93. extern fontdes    fonts[NFONTS];
  94.