diff options
Diffstat (limited to 'Build/source/texk/xdvipdfmx/src/dvipdfmx.c')
-rw-r--r-- | Build/source/texk/xdvipdfmx/src/dvipdfmx.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Build/source/texk/xdvipdfmx/src/dvipdfmx.c b/Build/source/texk/xdvipdfmx/src/dvipdfmx.c index 8339a315c06..30e5a07d144 100644 --- a/Build/source/texk/xdvipdfmx/src/dvipdfmx.c +++ b/Build/source/texk/xdvipdfmx/src/dvipdfmx.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.c,v 1.45 2005/07/30 11:44:18 hirata Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.c,v 1.47 2006/12/11 13:23:26 chofchof Exp $ This is xdvipdfmx, an extended version of... @@ -675,12 +675,13 @@ do_dvi_pages (void) page_no = page_ranges[i].first; while (dvi_npages() > 0) { if (page_no < dvi_npages()) { - double w, h; + double w, h, xo, yo; char lm; /* Users want to change page size even after page is started! */ w = page_width; h = page_height; lm = landscape_mode; - dvi_scan_paper_size(page_no, &w, &h, &lm); + xo = x_offset; yo = y_offset; + dvi_scan_paper_size(page_no, &w, &h, &xo, &yo, &lm); if (lm != landscape_mode) { SWAP(w, h); landscape_mode = lm; @@ -689,6 +690,10 @@ do_dvi_pages (void) page_width = w; page_height = h; } + if (x_offset != xo || y_offset != yo) { + x_offset = xo; + y_offset = yo; + } if (page_width != paper_width || page_height != paper_height) { mediabox.llx = 0.0; @@ -843,7 +848,7 @@ main (int argc, char *argv[]) if (dvi2pts == 0.0) ERROR("dvi_init() failed!"); - dvi_scan_paper_size(0, &paper_width, &paper_height, &landscape_mode); + dvi_scan_paper_size(0, &paper_width, &paper_height, &x_offset, &y_offset, &landscape_mode); if (landscape_mode) { SWAP(paper_width, paper_height); } |