From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- dviware/dvi2pcl/globals.h | 272 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 dviware/dvi2pcl/globals.h (limited to 'dviware/dvi2pcl/globals.h') diff --git a/dviware/dvi2pcl/globals.h b/dviware/dvi2pcl/globals.h new file mode 100644 index 0000000000..b6b8bc0a01 --- /dev/null +++ b/dviware/dvi2pcl/globals.h @@ -0,0 +1,272 @@ +/* $Log: globals.h,v $ + * Revision 0.8 92/11/23 19:47:02 19:47:02 bt (Bo Thide') + * Fixed resolution bug. Portable downloading. Added/changed options. PJXL color support + * + * Revision 0.7 92/11/13 02:41:17 02:41:17 bt (Bo Thide') + * More bug fixes and improvements. Support for PaintJet XL + * + * Revision 0.6 92/11/10 21:48:43 21:48:43 bt (Bo Thide') + * Bug fixes. Added -R option. Better font handling. + * + * Revision 0.5 92/11/09 16:25:50 16:25:50 bt (Bo Thide') + * Rewrite of dospecial.c. Extended \special support + * + * Revision 0.4 92/11/08 02:46:06 02:46:06 bt (Bo Thide') + * Changed to portable bit manipulations. Replaced strrstr for non-POSIX compliant C. Fixed numerous bugs. Added support for more \special's. + * + * Revision 0.3 92/08/24 12:43:17 12:43:17 bt (Bo Thide') + * Fixed 8 bit (dc font) support. + * + * Revision 0.2 92/08/23 17:28:53 17:28:53 bt (Bo Thide') + * Source cleaned up. Changed certain function calls. Removed globals. + * + * Revision 0.1 92/08/22 23:58:47 23:58:47 bt (Bo Thide') + * First Release. + * + */ + +#ifndef _DVI2PCL_GLOBALS_INCLUDED +#define _DVI2PCL_GLOBALS_INCLUDED + +#define BANNER "TeX Dvi to HP Print Command Language translator dvi2pcl 0.7.\n" +#define BITFILE_SUFFIX ".pcl" /* Bit file suffix */ +#define BLACKBYTE '\377' +#define DEV_LJPLUS 0 +#define DEV_LJ2 1 +#define DEV_LJ2D 2 +#define DEV_LJ2P 3 +#define DEV_LJ3SI 4 +#define DEV_LJ3P 5 +#define DEV_PJ 10 +#define DEV_PJXL 11 +#define DVIFILE_SUFFIX ".dvi" /* Dvi file suffix */ +#define DYNAMICFONTBASE 256 /* Start value for internal font #'s */ +#define FALSE 0 +#define FIX (1 << 20) +#define FMASK 7 +#define FONTPATH "/%dpt/%s.%d" /* Where to look for fonts */ +#define HOFFSET 200 +#define INFINITY 0x7FFFFFFF +#define MAXCHEIGHT 128 /* Max character height for printer */ +#define MAXCWIDTH 128 /* Max character width for printer */ +#define MAXDOWN 128 /* Max number of downloadable fonts */ +#define MAXDRIFT 2 /* Max dots rounding error */ +#define MAXFONTS 256 /* Max # of fonts to be used */ +#define MAXPAGES 1000 /* Max # of pages of the document */ +#define MAXPKSIZE 65536 /* Max .pk buffer size */ +#define MAXPXLSIZE 65536 /* Max .pxl buffer size */ +#define MINPRINTERMEM 122880 /* 120 KByte */ +#define NAMELENGTH 255 /* Max length of file names */ +#define NAMESIZE 4096 /* Max texbtuffer size for names */ +#define NULL 0 +#define PCLLEVEL 4 /* Default PCL level (old LaserJets) */ +#define PRESCAN_OFF 0 /* Not in the prescan cycle */ +#define PRESCAN_ON 1 /* In the prescan cycle */ +#define RESOLUTION 300 +#define SCALE 75780587.52 /* 72.27*2**20 */ +#define STACKSIZE 100 +#define TERMLINELENGTH 80 +#define TRUE 1 +#define USGFILE_SUFFIX ".usg" /* Usage (log) file suffix */ +#define VOFFSET 150 +#define WHITEBYTE '\0' + + +/* Global type definitions */ + +typedef char byte; +typedef unsigned char ubyte; +typedef unsigned char bool; + +#ifdef TRUE +#include +#else +typedef unsigned short ushort; +typedef unsigned int uint; +#endif /* TRUE */ + +/* PCL font descriptor */ +typedef struct { + ushort size; + ubyte descriptor; + ubyte font_type; + ubyte style_MSB; + byte reserved; + ushort baseline; + ushort cell_width; + ushort cell_height; + ubyte orientation; + bool spacing; + ushort symbol_set; + ushort pitch; + ushort height; + ushort x_height; + byte width_type; + ubyte style_LSB; + byte stroke_weight; + ubyte typeface_LSB; + ubyte typeface_MSB; + ubyte serif_style; + ubyte quality; + byte placement; + byte underl_dist; + ubyte underl_height; + ushort text_height; + ushort text_width; + ushort first_code; + ushort last_code; + ubyte pitch_ext; + ubyte height_ext; + ushort cap_height; + uint font_number; + char font_name[16]; + } fdfmt; + +/* PCL character descriptor */ +typedef struct { + ubyte format; + bool continuation; + ubyte size; + ubyte class; + ubyte orientation; + byte reserved; + short left_offset; + short top_offset; + ushort char_width; + ushort char_height; + short delta_x; + } cdfmt; + +/* Internal character information */ +typedef struct { + short pk_char; + long pxl_width; + long tfm_width; + long use_count; + } charfmt; + +/* Internal font information */ +typedef struct { + long checksum; + long scaled_size; + long design_size; + long space; + short dir_size; + double height; + short down; + short name; + short bc; + short ec; + charfmt chr[256]; + } fontfmt; + +/* Internal graphic char information */ +typedef struct { + short pxl_bytes; + short pxl_rows; + long x_offset; + long y_offset; + byte *pxl_pattern; + } gcharfmt; + +typedef gcharfmt (*gfontfmt)[256]; /* Internal graphic font information */ + +/* Header part of .tfm files */ +typedef struct { + short lf; + short lh; + short bc; + short ec; + short nw; + short nh; + short nd; + short ni; + short nl; + short nk; + short ne; + short np; + long cs; + long ds; + } tfmfmt; + +/* Printer name and capabilities */ +typedef struct { + long mem; + char name[16]; + char lang[8]; + } prtfmt; + +/* Global variables in alphabetical order */ +int actualpagecount; +cdfmt cd; /* character descriptor */ +charfmt *cbase; +double conv; +double convpxl; +double convtfm; +long count[10]; +int c_black; +int c_flag; +int c_height; +int c_hoffset; +int c_nib; +int c_voffset; +int c_width; +long denominator; +charfmt *drawchar(); +int dyn_f; +byte *endofchardata; +int e_offset; +fdfmt fd; /* font descriptor */ +long firstpage; +long firstpar(); +fontfmt *font; +int fontpathlen; +fontfmt *fontptr[MAXFONTS]; +gfontfmt gfont; +gfontfmt gfontptr[MAXFONTS]; +bool inpostamble; +long h_offset; +bool h_posed; +int landscape; +long lastpage; +long magnification; +int manualfeed; +long maxh; +int maxs; +long maxv; +long maxhsofar; +int maxssofar; +long maxvsofar; +int maxpages; +int max_depth; +int max_width; +int max_offset; +char names[NAMESIZE]; +int nextfontdown; +char *nextnamesfree; +long numerator; +int o_offset; +short outreverse; +byte *pkbase; +long pkbuffer[MAXPKSIZE]; +byte *pkcharinfo(); +char pkfixname[NAMELENGTH]; +char pkname[NAMELENGTH]; +byte *pk_ptr; +long power[8]; +long prevpage; +prtfmt printer; +long printermem_used; +byte pxlbuffer[MAXPXLSIZE]; +int r_offset; +int s; +long startcount[10]; +int startthere[10]; +int startvals; +long v_offset; +bool v_posed; +bool verbose; + +long h, v, w, x, y, z; + +#endif /* _DVI2PCL_GLOBALS_INCLUDED */ -- cgit v1.2.3