Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15:Update
paps
paps-page_setup.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File paps-page_setup.patch of Package paps
Help modern PostScript viewers to display paps output --- src/paps.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) --- src/paps.c +++ src/paps.c 2017-12-05 14:23:59.320984437 +0000 @@ -112,6 +112,7 @@ typedef struct { int header_sep; int header_height; int footer_height; + paper_type_t paper_type; gdouble scale_x; gdouble scale_y; gboolean do_draw_header; @@ -700,6 +701,7 @@ int main(int argc, char *argv[]) page_layout.page_width = page_width; page_layout.page_height = page_height; + page_layout.paper_type = paper_type; page_layout.num_columns = num_columns; page_layout.left_margin = left_margin; page_layout.right_margin = right_margin; @@ -1163,6 +1165,17 @@ postscript_dsc_comments(cairo_surface_t else cairo_ps_surface_dsc_comment(surface, "%%IncludeFeature: *Duplex DuplexNoTumble"); } + else + cairo_ps_surface_dsc_begin_setup(surface); + + if (pl->paper_type == PAPER_TYPE_US_LEGAL) + cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize Legal"); + if (pl->paper_type == PAPER_TYPE_US_LETTER) + cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize Letter"); + if (pl->paper_type == PAPER_TYPE_A4) + cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize A4"); + if (pl->paper_type == PAPER_TYPE_A3) + cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize A3"); } @@ -1280,7 +1293,25 @@ void start_page(cairo_surface_t *surface cairo_identity_matrix(cr); if (output_format == FORMAT_POSTSCRIPT) - cairo_ps_surface_dsc_begin_page_setup (surface); + { + char buf[CAIRO_COMMENT_MAX]; + int x, y; + + if (page_layout->do_landscape) + { + x = (int)page_layout->page_height; + y = (int)page_layout->page_width; + } + else + { + x = (int)page_layout->page_width; + y = (int)page_layout->page_height; + } + cairo_ps_surface_dsc_begin_page_setup (surface); + + snprintf(buf, CAIRO_COMMENT_MAX, "%%%%PageBoundingBox: 0 0 %d %d", x, y); + cairo_ps_surface_dsc_comment (surface, buf); + } if (page_layout->do_landscape) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor