1997-11-25 23:50:56 +00:00
|
|
|
--- a2ps.c.orig Tue Feb 15 01:14:59 1994
|
1999-05-09 20:56:32 +00:00
|
|
|
+++ a2ps.c Sun May 9 13:46:38 1999
|
|
|
|
@@ -1,4 +1,3 @@
|
|
|
|
-/************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* Description: Ascii to PostScript printer program. */
|
|
|
|
/* File: bounty:/archive/src/a2ps/Last/a2ps.c */
|
|
|
|
@@ -164,12 +163,17 @@
|
1997-11-25 23:50:56 +00:00
|
|
|
/*
|
|
|
|
* Default page dimensions
|
|
|
|
*/
|
|
|
|
+#define USA_WIDTH 8.5
|
|
|
|
+#define USA_HEIGHT 11.0
|
|
|
|
+#define A4_WIDTH 8.27
|
|
|
|
+#define A4_HEIGHT 11.64
|
|
|
|
+
|
|
|
|
#ifndef WIDTH
|
|
|
|
-#define WIDTH 8.27
|
|
|
|
+#define WIDTH A4_WIDTH
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef HEIGHT
|
|
|
|
-#define HEIGHT 11.64
|
|
|
|
+#define HEIGHT A4_HEIGHT
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef MARGIN
|
1999-05-09 20:56:32 +00:00
|
|
|
@@ -311,7 +315,7 @@
|
|
|
|
int login_id = TRUE; /* Print login ID at top of page */
|
|
|
|
#endif
|
|
|
|
#if LPR_PRINT
|
|
|
|
-int lpr_print = TRUE; /* Fork a lpr process to do the printing */
|
|
|
|
+int lpr_print = FALSE; /* Fork a lpr process to do the printing */
|
|
|
|
#ifdef RECTO_VERSO_PRINTING
|
|
|
|
int rectoverso = TWOSIDED_DFLT; /* Two-side printing */
|
|
|
|
#endif
|
|
|
|
@@ -362,6 +366,8 @@
|
1997-11-25 23:50:56 +00:00
|
|
|
/*
|
|
|
|
* Sheet dimensions
|
|
|
|
*/
|
|
|
|
+double paper_height = HEIGHT; /* Paper height */
|
|
|
|
+double paper_width = WIDTH; /* Paper width */
|
|
|
|
double page_height = HEIGHT; /* Paper height */
|
|
|
|
double page_width = WIDTH; /* Paper width */
|
|
|
|
|
1999-05-09 20:56:32 +00:00
|
|
|
@@ -382,6 +388,11 @@
|
1997-11-25 23:50:56 +00:00
|
|
|
fprintf(stderr,"pos. = -#num\t\tnumber of copies to print\n");
|
|
|
|
fprintf(stderr," -1\t\tone page per sheet\n");
|
|
|
|
fprintf(stderr," -2\t\tTWIN PAGES per sheet\n");
|
|
|
|
+#if A4_PAPERSIZE == 1
|
|
|
|
+ fprintf(stderr," -a\t\tUse USA paper size (8.5\" x 11\")\n");
|
|
|
|
+#else
|
|
|
|
+ fprintf(stderr," -a\t\tUse A4 paper size (21cm x 29.56cm (8.27\" x 11.64\"))\n");
|
|
|
|
+#endif
|
|
|
|
fprintf(stderr," -d\t-nd\tprint (DON'T PRINT) current date at the bottom\n");
|
|
|
|
fprintf(stderr," -Fnum\t\tfont size, num is a float number\n");
|
|
|
|
fprintf(stderr," -Hstr\t\tuse str like header title for subsequent files\n");
|
1999-05-09 20:56:32 +00:00
|
|
|
@@ -464,6 +475,12 @@
|
1997-11-25 23:50:56 +00:00
|
|
|
usage(EXIT_FAILURE);
|
|
|
|
interpret = TRUE;
|
|
|
|
break;
|
|
|
|
+ case 'a': /* American paper sizes */
|
|
|
|
+#if defined(USA_HEIGHT) && defined(USA_WIDTH)
|
|
|
|
+ paper_height = USA_HEIGHT;
|
|
|
|
+ paper_width = USA_WIDTH;
|
|
|
|
+# endif
|
|
|
|
+ break;
|
|
|
|
case 'n':
|
|
|
|
if (arg[2] == NUL)
|
|
|
|
return;
|
1999-05-09 20:56:32 +00:00
|
|
|
@@ -1471,8 +1488,8 @@
|
1997-11-25 23:50:56 +00:00
|
|
|
printf("\n%% Initialize page description variables.\n");
|
|
|
|
printf("/x0 0 def\n");
|
|
|
|
printf("/y0 0 def\n");
|
|
|
|
- printf("/sh %g inch def\n", (double)HEIGHT);
|
|
|
|
- printf("/sw %g inch def\n", (double)WIDTH);
|
|
|
|
+ printf("/sh %g inch def\n", (double)paper_height);
|
|
|
|
+ printf("/sw %g inch def\n", (double)paper_width);
|
|
|
|
printf("/margin %g inch def\n", (double)MARGIN);
|
|
|
|
printf("/rm margin 3 div def\n");
|
|
|
|
printf("/lm margin 2 mul 3 div def\n");
|
1999-05-09 20:56:32 +00:00
|
|
|
@@ -1794,8 +1811,8 @@
|
1997-11-25 23:50:56 +00:00
|
|
|
/* Initialize variables not depending of positional options */
|
|
|
|
landscape = twinpages = -1; /* To force format switching */
|
|
|
|
fontsize = -1.0; /* To force fontsize switching */
|
|
|
|
- page_height = (double)(HEIGHT - MARGIN) * PIXELS_INCH;
|
|
|
|
- page_width = (double)(WIDTH - MARGIN) * PIXELS_INCH;
|
|
|
|
+ page_height = (double)(paper_height - MARGIN) * PIXELS_INCH;
|
|
|
|
+ page_width = (double)(paper_width - MARGIN) * PIXELS_INCH;
|
|
|
|
|
|
|
|
/* Postcript prologue printing */
|
|
|
|
print_prologue();
|