freebsd-ports/print/a2ps43-letter/files/patch-ab
Chuck Robey 6445f46a43 The a2ps43 port, which was supposed to be a copy of a2ps before the latest
round of improvments made it much larger, was instead an exact duplicate
of the new a2ps.  This commit should fix that.

I'm the maintainer of the new port, and seeing as this one won't be changing
again (unless to remove it) I guess it won't need one.
Ordered by: asami
1997-11-25 23:50:56 +00:00

79 lines
2.6 KiB
Plaintext

--- a2ps.c.orig Tue Feb 15 01:14:59 1994
+++ a2ps.c Thu May 16 19:04:15 1996
@@ -164,12 +164,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
@@ -362,6 +367,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 +389,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 +476,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 +1489,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 +1812,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();