diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/postscript/postdaisy/postdaisy.h |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/postscript/postdaisy/postdaisy.h')
-rwxr-xr-x | sys/src/cmd/postscript/postdaisy/postdaisy.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/sys/src/cmd/postscript/postdaisy/postdaisy.h b/sys/src/cmd/postscript/postdaisy/postdaisy.h new file mode 100755 index 000000000..e8eef0c16 --- /dev/null +++ b/sys/src/cmd/postscript/postdaisy/postdaisy.h @@ -0,0 +1,88 @@ +/* + * + * Definitions used by the PostScript translator for Diablo 1640 files. + * + * Diablo printers have horizontal and vertical resolutions of 120 and 48 dpi. + * We'll use a single resolution of 240 dpi and let the program scale horizontal + * and vertical positions by HSCALE and VSCALE. + * + */ + +#define RES 240 +#define HSCALE 2 +#define VSCALE 5 + +/* + * + * HMI is the default character spacing and VMI is the line spacing. Both values + * are in terms of the 240 dpi resolution. + * + */ + +#define HMI (12 * HSCALE) +#define VMI (8 * VSCALE) + +/* + * + * Paper dimensions don't seem to be all that important. They're just used to + * set the right and bottom margins. Both are given in terms of the 240 dpi + * resolution. + * + */ + +#define LEFTMARGIN 0 +#define RIGHTMARGIN 3168 +#define TOPMARGIN 0 +#define BOTTOMMARGIN 2640 + +/* + * + * ROWS and COLUMNS set the dimensions of the horizontal and vertical tab arrays. + * The way I've implemented both kinds of tabs leaves something to be desired, but + * it was simple and should be good enough for now. If arrays are going to be used + * to mark tab stops I probably should use malloc() to get enough space once the + * initial hmi and vmi are know. + * + */ + +#define ROWS 400 +#define COLUMNS 200 + +/* + * + * An array of type Fontmap helps convert font names requested by users into + * legitimate PostScript names. The array is initialized using FONTMAP, which must + * end with an entry that has NULL defined as its name field. + * + */ + +typedef struct { + char *name; /* user's font name */ + char *val; /* corresponding PostScript name */ +} Fontmap; + +#define FONTMAP \ + \ + { \ + "R", "Courier", \ + "I", "Courier-Oblique", \ + "B", "Courier-Bold", \ + "CO", "Courier", \ + "CI", "Courier-Oblique", \ + "CB", "Courier-Bold", \ + "CW", "Courier", \ + "PO", "Courier", \ + "courier", "Courier", \ + "cour", "Courier", \ + "co", "Courier", \ + NULL, NULL \ + } + +/* + * + * Some of the non-integer functions in postdaisy.c. + * + */ + +char *get_font(); + |