paps/paps-add_support_for_a3_paper.patch
2020-02-18 09:39:17 +08:00

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