diff -u /opt/test/inkscape-0.48.4/src/ui/dialog/print.cpp /opt/inkscape-0.48.4/src/ui/dialog/print.cpp --- /opt/test/inkscape-0.48.4/src/ui/dialog/print.cpp 2011-07-09 06:25:09.468790000 +1200 +++ /opt/inkscape-0.48.4/src/ui/dialog/print.cpp 2014-07-30 15:46:46.655479680 +1200 @@ -195,14 +195,24 @@ GtkPaperSize *paper_size; if (doc_width > doc_height) { gtk_page_setup_set_orientation (page_setup, GTK_PAGE_ORIENTATION_LANDSCAPE); - paper_size = gtk_paper_size_new_custom("custom", "custom", - doc_height, doc_width, GTK_UNIT_POINTS); + if (trunc(841.89) == trunc(doc_width) ) { + paper_size = gtk_paper_size_new("iso_a4"); + } else if (trunc(1190.55) == trunc(doc_width )) { + paper_size = gtk_paper_size_new("iso_a3"); + } else { + paper_size = gtk_paper_size_new_custom("custom", "custom", doc_height, doc_width, GTK_UNIT_POINTS); + } } else { gtk_page_setup_set_orientation (page_setup, GTK_PAGE_ORIENTATION_PORTRAIT); - paper_size = gtk_paper_size_new_custom("custom", "custom", - doc_width, doc_height, GTK_UNIT_POINTS); - } + if (trunc(595.276) == trunc(doc_width) ) { + paper_size = gtk_paper_size_new("iso_a4"); + } else if (trunc(841.89) == trunc(doc_width) ) { + paper_size = gtk_paper_size_new("iso_a3"); + } else { + paper_size = gtk_paper_size_new_custom("custom", "custom", doc_height, doc_width, GTK_UNIT_POINTS); + } + } gtk_page_setup_set_paper_size (page_setup, paper_size); gtk_print_operation_set_default_page_setup (_printop, page_setup); gtk_print_operation_set_use_full_page (_printop, TRUE);