42 lines
1.8 KiB
Diff
42 lines
1.8 KiB
Diff
diff -uprN paps-0.6.8_raw/src/paps.c paps-0.6.8/src/paps.c
|
|
--- paps-0.6.8_raw/src/paps.c 2020-01-15 10:16:26.292439298 +0000
|
|
+++ paps-0.6.8/src/paps.c 2020-01-15 10:21:23.197677551 +0000
|
|
@@ -46,7 +46,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 {
|
|
@@ -57,7 +58,8 @@ typedef struct {
|
|
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 {
|
|
@@ -191,6 +193,8 @@ _paps_arg_paper_cb(const char *option_na
|
|
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);
|
|
@@ -301,7 +305,7 @@ int main(int argc, char *argv[])
|
|
{"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"},
|