texlive[46794] Build/source/texk/dvipdfm-x: support libdpx
commits+kakuto at tug.org
commits+kakuto at tug.org
Sat Mar 3 10:49:44 CET 2018
Revision: 46794
http://tug.org/svn/texlive?view=revision&revision=46794
Author: kakuto
Date: 2018-03-03 10:49:43 +0100 (Sat, 03 Mar 2018)
Log Message:
-----------
support libdpx
Modified Paths:
--------------
trunk/Build/source/texk/dvipdfm-x/ChangeLog
trunk/Build/source/texk/dvipdfm-x/xbb.c
Modified: trunk/Build/source/texk/dvipdfm-x/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/ChangeLog 2018-03-03 01:23:30 UTC (rev 46793)
+++ trunk/Build/source/texk/dvipdfm-x/ChangeLog 2018-03-03 09:49:43 UTC (rev 46794)
@@ -1,3 +1,7 @@
+2018-03-03 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ * xbb.c: Support libdpx.
+
2018-03-02 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
* epdf.c, pdfobj.c, pdfobj.h: Remove multiple warnings.
Modified: trunk/Build/source/texk/dvipdfm-x/xbb.c
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/xbb.c 2018-03-03 01:23:30 UTC (rev 46793)
+++ trunk/Build/source/texk/dvipdfm-x/xbb.c 2018-03-03 09:49:43 UTC (rev 46794)
@@ -500,6 +500,8 @@
int page_no = Include_Page;
int count;
pdf_rect bbox;
+ pdf_tmatrix matrix;
+ pdf_coord p1, p2, p3, p4;
pf = pdf_open(filename, fp);
if (!pf) {
@@ -507,7 +509,7 @@
return;
}
count = pdf_doc_get_page_count(pf);
- page = pdf_doc_get_page(pf, page_no, PageBox, &bbox, NULL);
+ page = pdf_doc_get_page(pf, page_no, PageBox, &bbox, &matrix, NULL);
pdf_close(pf);
@@ -516,10 +518,22 @@
pdf_release_obj(page);
- box->llx = bbox.llx;
- box->lly = bbox.lly;
- box->urx = bbox.urx;
- box->ury = bbox.ury;
+ /* Image's attribute "bbox" here is affected by /Rotate entry of included
+ * PDF page.
+ */
+ p1.x = bbox.llx; p1.y = bbox.lly;
+ pdf_dev_transform(&p1, &matrix);
+ p2.x = bbox.urx; p2.y = bbox.lly;
+ pdf_dev_transform(&p2, &matrix);
+ p3.x = bbox.urx; p3.y = bbox.ury;
+ pdf_dev_transform(&p3, &matrix);
+ p4.x = bbox.llx; p4.y = bbox.ury;
+ pdf_dev_transform(&p4, &matrix);
+
+ box->llx = min4(p1.x, p2.x, p3.x, p4.x);
+ box->lly = min4(p1.y, p2.y, p3.y, p4.y);
+ box->urx = max4(p1.x, p2.x, p3.x, p4.x);
+ box->ury = max4(p1.y, p2.y, p3.y, p4.y);
}
void aptex_extractbb (char * pict, uint32_t page, uint32_t rect, pdf_rect * bbox)
More information about the tex-live-commits
mailing list