From 3d484220ecae7173a063740e9db9c5e30c0036e6 Mon Sep 17 00:00:00 2001 From: malc Date: Tue, 12 Jul 2016 13:39:23 +0300 Subject: [PATCH] "Fix" trimctm I don't have any idea what's going on here. Details: mupdf 834243dbfc8ab3e9269b7a789d61e3fe0f8e71f7 - good e2a85460370a3110b89fb838bc924c73f87f5b3c - bad Most things work with either of those, except for: http://www.gly.uga.edu/railsback/11111misc/SizeofThings36.pdf --- link.c | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/link.c b/link.c index 8afbda1..1e3078e 100644 --- a/link.c +++ b/link.c @@ -645,24 +645,20 @@ static void trimctm (pdf_page *page, int pindex) struct pagedim *pdim = &state.pagedims[pindex]; if (!pdim->tctmready) { - if (state.trimmargins) { - fz_rect realbox, mediabox; - fz_matrix rm, sm, tm, im, ctm1, page_ctm; - - fz_rotate (&rm, -pdim->rotate); - fz_scale (&sm, 1, -1); - fz_concat (&ctm, &rm, &sm); - realbox = pdim->mediabox; - fz_transform_rect (&realbox, &ctm); - fz_translate (&tm, -realbox.x0, -realbox.y0); - fz_concat (&ctm1, &ctm, &tm); - pdf_page_transform (state.ctx, page, &mediabox, &page_ctm); - fz_invert_matrix (&im, &page_ctm); - fz_concat (&ctm, &im, &ctm1); - } - else { - ctm = fz_identity; - } + fz_rect realbox, mediabox; + fz_matrix rm, sm, tm, im, ctm1, page_ctm; + + fz_rotate (&rm, -pdim->rotate); + fz_scale (&sm, 1, -1); + fz_concat (&ctm, &rm, &sm); + realbox = pdim->mediabox; + fz_transform_rect (&realbox, &ctm); + fz_translate (&tm, -realbox.x0, -realbox.y0); + fz_concat (&ctm1, &ctm, &tm); + pdf_page_transform (state.ctx, page, &mediabox, &page_ctm); + fz_invert_matrix (&im, &page_ctm); + fz_concat (&ctm, &im, &ctm1); + pdim->tctm = ctm; pdim->tctmready = 1; } -- 2.11.4.GIT