summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/xetexdir/pdfimage.cpp
diff options
context:
space:
mode:
authorDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
committerDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
commitc6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch)
tree1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/texk/web2c/xetexdir/pdfimage.cpp
parent07ee7222e389b0777456b427a55c22d0e6ffd267 (diff)
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/xetexdir/pdfimage.cpp')
-rw-r--r--Build/source/texk/web2c/xetexdir/pdfimage.cpp161
1 files changed, 0 insertions, 161 deletions
diff --git a/Build/source/texk/web2c/xetexdir/pdfimage.cpp b/Build/source/texk/web2c/xetexdir/pdfimage.cpp
deleted file mode 100644
index 38d51d1ce61..00000000000
--- a/Build/source/texk/web2c/xetexdir/pdfimage.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************\
- Part of the XeTeX typesetting system
- Copyright (c) 1994-2008 by SIL International
- Copyright (c) 2009-2018 by Jonathan Kew
-
- SIL Author(s): Jonathan Kew
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
-FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the copyright holders
-shall not be used in advertising or otherwise to promote the sale,
-use or other dealings in this Software without prior written
-authorization from the copyright holders.
-\****************************************************************************/
-
-#include <w2c/config.h>
-
-#include "XeTeX_ext.h"
-
-#include "pdfimage.h"
-
-/*
- * From TeX Live 2021, we use pplib by Pawe\l Jackowski instead of
- * libpoppler
- */
-extern "C" {
-#include "ppapi.h"
-}
-
-#include "XeTeX_ext.h"
-
-/* use our own fmin function because it seems to be missing on certain platforms */
-inline double
-my_fmin(double x, double y)
-{
- return (x < y) ? x : y;
-}
-
-int
-pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box)
- /* return the box converted to TeX points */
-{
- ppdoc* doc = ppdoc_load(filename);
-
- if (!doc) {
- return -1;
- }
-
- int pages = ppdoc_page_count(doc);
-
- if (page_num > pages)
- page_num = pages;
- if (page_num < 0)
- page_num = pages + 1 + page_num;
- if (page_num < 1)
- page_num = 1;
-
- ppref* page = ppdoc_page(doc, page_num);
- ppdict* pdict = page->object.dict;
-
- pprect Rect;
- pprect* r;
-
- switch (pdf_box) {
- default:
- case pdfbox_crop:
- r = ppdict_get_box(pdict, "CropBox", &Rect);
- break;
- case pdfbox_media:
- r = ppdict_get_box(pdict, "MediaBox", &Rect);
- break;
- case pdfbox_bleed:
- r = ppdict_get_box(pdict, "BleedBox", &Rect);
- break;
- case pdfbox_trim:
- r = ppdict_get_box(pdict, "TrimBox", &Rect);
- break;
- case pdfbox_art:
- r = ppdict_get_box(pdict, "ArtBox", &Rect);
- break;
- }
-
-/*
- * In pplib, r can be NULL. If r == NULL, we try "CropBox",
- * "MediaBox", "BleedBox", "TrimBox", "ArtBox" in this order.
- */
- if (!r) {
- r = ppdict_get_box(pdict, "CropBox", &Rect);
- }
- if (!r) {
- r = ppdict_get_box(pdict, "MediaBox", &Rect);
- }
- if (!r) {
- r = ppdict_get_box(pdict, "BleedBox", &Rect);
- }
- if (!r) {
- r = ppdict_get_box(pdict, "TrimBox", &Rect);
- }
- if (!r) {
- r = ppdict_get_box(pdict, "ArtBox", &Rect);
- }
-
-/*
- * If r == NULL, return error.
- */
- if (!r) {
- return -1;
- }
-
- ppint RotAngle = 0;
- (void)ppdict_get_int(pdict, "Rotate", &RotAngle);
- RotAngle = RotAngle % 360;
- if (RotAngle < 0)
- RotAngle += 360;
- if (RotAngle == 90 || RotAngle == 270) {
- box->wd = 72.27 / 72 * fabs(r->ry - r->ly);
- box->ht = 72.27 / 72 * fabs(r->rx - r->lx);
- } else {
- box->wd = 72.27 / 72 * fabs(r->rx - r->lx);
- box->ht = 72.27 / 72 * fabs(r->ry - r->ly);
- }
- box->x = 72.27 / 72 * my_fmin(r->lx, r->rx);
- box->y = 72.27 / 72 * my_fmin(r->ly, r->ry);
-
- ppdoc_free(doc);
-
- return 0;
-}
-
-int
-pdf_count_pages(char* filename)
-{
- int pages = 0;
- ppdoc* doc = ppdoc_load(filename);
-
- if (!doc) {
- return 0;
- }
-
- pages = ppdoc_page_count(doc);
- if (doc) ppdoc_free(doc);
-
- return pages;
-}