summaryrefslogtreecommitdiff
path: root/dviware/dvi2pcl/globals.h
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /dviware/dvi2pcl/globals.h
Initial commit
Diffstat (limited to 'dviware/dvi2pcl/globals.h')
-rw-r--r--dviware/dvi2pcl/globals.h272
1 files changed, 272 insertions, 0 deletions
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 <sys/types.h>
+#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 */