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