78523c
--- paps-0.6.8/src/paps.c.orig	2015-02-26 14:17:29.351338514 +0530
78523c
+++ paps-0.6.8/src/paps.c	2015-02-26 14:17:29.351338514 +0530
78523c
@@ -45,7 +45,8 @@
78523c
 typedef enum {
78523c
     PAPER_TYPE_A4 = 0,
78523c
     PAPER_TYPE_US_LETTER = 1,
78523c
-    PAPER_TYPE_US_LEGAL = 2
78523c
+    PAPER_TYPE_US_LEGAL = 2,
78523c
+    PAPER_TYPE_A3 = 3
78523c
 } paper_type_t ;
78523c
 
78523c
 typedef struct  {
78523c
@@ -56,7 +57,8 @@
78523c
 const paper_size_t paper_sizes[] = {
78523c
     { 595.28, 841.89}, /* A4 */
78523c
     { 612, 792},       /* US letter */
78523c
-    { 612, 1008}      /* US legal */
78523c
+    { 612, 1008},      /* US legal */
78523c
+    { 842, 1190} /* A3 */
78523c
 };
78523c
 
78523c
 typedef struct {
78523c
@@ -190,6 +192,8 @@
78523c
         paper_type = PAPER_TYPE_US_LETTER;
78523c
       else if (g_ascii_strcasecmp(value, "a4") == 0)
78523c
         paper_type = PAPER_TYPE_A4;
78523c
+      else if (g_ascii_strcasecmp(value, "a3") == 0)
78523c
+        paper_type = PAPER_TYPE_A3;
78523c
       else {
78523c
         retval = FALSE;
78523c
         fprintf(stderr, "Unknown page size name: %s.\n", value);
78523c
@@ -300,7 +304,7 @@
78523c
     {"rtl", 0, 0, G_OPTION_ARG_NONE, &do_rtl, "Do rtl layout.", NULL},
78523c
     {"paper", 0, 0, G_OPTION_ARG_CALLBACK, _paps_arg_paper_cb,
78523c
      "Choose paper size. Known paper sizes are legal,\n"
78523c
-     "                          letter, a4. (Default: a4)", "PAPER"},
78523c
+     "                          letter, a3, a4. (Default: a4)", "PAPER"},
78523c
     {"bottom-margin", 0, 0, G_OPTION_ARG_INT, &bottom_margin, "Set bottom margin in postscript point units (1/72inch). (Default: 36)", "NUM"},
78523c
     {"top-margin", 0, 0, G_OPTION_ARG_INT, &top_margin, "Set top margin. (Default: 36)", "NUM"},
78523c
     {"right-margin", 0, 0, G_OPTION_ARG_INT, &right_margin, "Set right margin. (Default: 36)", "NUM"},