--- a2ps.c.orig	Tue Feb 15 01:14:59 1994
+++ 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 @@
 /*
  * 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
@@ -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 @@
 /*
  * 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 */
 
@@ -382,6 +388,11 @@
     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");
@@ -464,6 +475,12 @@
 	    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;
@@ -1471,8 +1488,8 @@
     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");
@@ -1794,8 +1811,8 @@
     /* 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();
