1 /*        BEGIN INCLUDE FILE - comp_dvt.incl.pl1         */
  2 
  3 /*  Written:  9/80 - JA Falksen
  4 /* Modified: 11/81 - EJW - Added comp_dvt.displayproc
  5 /* Modified:  1/82 - EJW - Added length arg to comp_dvt.displayproc
  6 /* Modified:  2/82 - EJW - Deleted ptr arg from comp_dvt.displayproc
  7 /* Modified:  3/83 - EJW - Changed footref arg of comp_dvt.footproc to
  8                            (3) char (*) var. Version 4. */
  9 /* Modified:  6/83 - EJW - Added error print control switch to calling
 10                            sequence for comp_dvt.displayproc. - Version 5.
 11 /* Modified: 11/84 - EJW - Renamed no_adjust to justifying.
 12 */
 13 
 14 /* All names which end in "_r"are offset values within the device table      */
 15 /* segment. The version of this structure is in comp_dvid.incl.pl1       */
 16 
 17 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */
 18 
 19      dcl 1 comp_dvt     aligned based (const.devptr),
 20            2 devclass   char (32),      /* what general kind of device is */
 21                                         /* this, currently available: */
 22                                         /* "printer" (includes terminals), */
 23                                         /* "braille", "bitmap" */
 24            2 outproc    entry           /* page output processor */
 25                         (fixed bin,     /*   function - 0=build */
 26                                         /*              1=init page */
 27                                         /*              2=init file */
 28                                         /*              3=cleanup */
 29                         fixed bin (35)),/*   error code */
 30            2 footproc   entry           /* footnote reference proc */
 31                         ((3) char (*) var,
 32                                         /*   reference string (IN/OUT) */
 33                         ptr),           /*   comp_dvt_p (IN) */
 34            2 artproc    entry (),       /* artwork proc */
 35                                         /* dont know how to describe yet */
 36            2 displayproc
 37                         entry           /* string display interpreter */
 38                         (char (*) var,  /* raw input string */
 39                         fixed bin (24), /* chars used in this call */
 40                         bit (1))        /* 1= dont show display errors */
 41                         returns (char (*) var),
 42                                         /* interpreted output string */
 43                                         /* following values are in millipoints */
 44            2 min_WS     fixed bin (31), /* minimum whitespace */
 45            2 min_lead   fixed bin (31), /* minimun lead */
 46            2 vmt_min    fixed bin (31), /* min usable .vmt */
 47            2 vmb_min    fixed bin (31), /* min usable .vmb */
 48            2 def_vmt    fixed bin (31), /* default .vmt */
 49            2 def_vmh    fixed bin (31), /* default .vmh */
 50            2 def_vmf    fixed bin (31), /* default .vmf                      */
 51            2 def_vmb    fixed bin (31), /* default .vmb                      */
 52            2 pdw_max    fixed bin (31), /* max page width available          */
 53            2 pdl_max    fixed bin (31), /* max page length available,        */
 54                                         /*   (0 = unlimited)                 */
 55            2 upshift    fixed bin (31), /* footnote reference shift          */
 56            2 init_ps    fixed bin (31), /* initial pointsize (millipoints)   */
 57            2 lettersp   fixed bin (31), /* max letterspacing                 */
 58            2 max_pages  fixed bin,      /* max pages/"file" -1 ->unlimited   */
 59            2 max_files  fixed bin,      /* max "files"/reel -1 ->unlimited   */
 60            2 init_fam   fixed bin,      /* initial family index              */
 61            2 init_mem   fixed bin,      /* initial member index              */
 62            2 foot_fam   fixed bin,      /* initial foot family index         */
 63            2 foot_mem   fixed bin,      /* initial foot member index         */
 64            2 init_family
 65                         char (32),      /* initial font family to use        */
 66            2 init_member
 67                         char (32),      /* initial font member to use */
 68            (                            /* the following are offsets */
 69            2 atd_r,                     /* attach desc for on-line output */
 70            2 dvc_r,                     /* device control table relptr */
 71            2 comment_r,                 /* comment string relptr */
 72            2 cleanup_r,                 /* "cleanup" string relptr */
 73            2 medsel_table_r             /* media select table relptr */
 74            )            bit (18) aligned,
 75            2 foot_family
 76                         char (32),      /* family for footnote reference     */
 77            2 foot_member
 78                         char (32),      /* member for footnote reference     */
 79                                         /*   if one was specified            */
 80            2 sws        unaligned,
 81              3 interleave               /* 0- page block has lines in column */
 82                         bit (1),        /*    order left-to-right */
 83                                         /* 1- page block has lines in line */
 84                                         /*    order top-to-bottom */
 85              3 justifying               /* 1- device justifies lines */
 86                         bit (1),
 87              3 mbz      bit (24),
 88              3 endpage  bit (9),        /* EOP char if not "0"b              */
 89            2 open_mode  fixed bin (35), /* when going to a file              */
 90            2 recleng    fixed bin,      /* length of tape records            */
 91            2 family_ct  fixed bin,      /* # families present                */
 92            2 family     (comp_dvt.family_ct),
 93                                         /* families of fonts defined         */
 94              3 member_r bit (18) aligned,
 95                                         /* member table relptr               */
 96              3 name     char (32);      /* family name                       */
 97 
 98 
 99 /* The usage formula for units:                                              */
100 /*                                                                           */
101 /*    rel_units * length_in_points                                           */
102 /*    ----------------------------   = length_in_units                       */
103 /*    points_per_EM                                                          */
104 
105 /*        END INCLUDE FILE comp_dvt.incl.pl1                                 */