--- 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"},