194 lines
8.1 KiB
Diff
194 lines
8.1 KiB
Diff
|
From 69c061f2071d5826fee7940ce7f83ae4a1c8fc2e Mon Sep 17 00:00:00 2001
|
||
|
From: Akira Kakuto <kakuto@fuk.kindai.ac.jp>
|
||
|
Date: Sat, 28 Apr 2018 07:36:22 +0000
|
||
|
Subject: [PATCH] support poppler-0.64.0
|
||
|
|
||
|
git-svn-id: svn://tug.org/texlive/trunk/Build/source@47470 c570f23f-e606-0410-a88d-b1316a301751
|
||
|
---
|
||
|
texk/web2c/luatexdir/image/pdftoepdf.w | 4 ++--
|
||
|
texk/web2c/luatexdir/lua/lepdflib.cc | 4 ++--
|
||
|
texk/web2c/pdftexdir/ChangeLog | 5 +++++
|
||
|
texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc | 14 +++++++-------
|
||
|
texk/web2c/pdftexdir/pdftosrc-newpoppler.cc | 2 +-
|
||
|
5 files changed, 17 insertions(+), 12 deletions(-)
|
||
|
|
||
|
diff --git a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w
|
||
|
index 7ba29731c..d69795926 100644
|
||
|
--- a/texk/web2c/luatexdir/image/pdftoepdf.w
|
||
|
+++ b/texk/web2c/luatexdir/image/pdftoepdf.w
|
||
|
@@ -472,10 +472,10 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj)
|
||
|
break;
|
||
|
*/
|
||
|
case objString:
|
||
|
- copyString(pdf, obj->getString());
|
||
|
+ copyString(pdf, (GooString *)obj->getString());
|
||
|
break;
|
||
|
case objName:
|
||
|
- copyName(pdf, obj->getName());
|
||
|
+ copyName(pdf, (char *)obj->getName());
|
||
|
break;
|
||
|
case objNull:
|
||
|
pdf_add_null(pdf);
|
||
|
diff --git a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc
|
||
|
index a16bf3bd4..32bcdab01 100644
|
||
|
--- a/texk/web2c/luatexdir/lua/lepdflib.cc
|
||
|
+++ b/texk/web2c/luatexdir/lua/lepdflib.cc
|
||
|
@@ -674,7 +674,7 @@ static int m_##in##_##function(lua_State * L) \
|
||
|
uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc) \
|
||
|
pdfdoc_changed_error(L); \
|
||
|
- gs = ((in *) uin->d)->function(); \
|
||
|
+ gs = (GooString *)((in *) uin->d)->function(); \
|
||
|
if (gs != NULL) \
|
||
|
lua_pushlstring(L, gs->getCString(), gs->getLength()); \
|
||
|
else \
|
||
|
@@ -1813,7 +1813,7 @@ static int m_Object_getString(lua_State * L)
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc)
|
||
|
pdfdoc_changed_error(L);
|
||
|
if (((Object *) uin->d)->isString()) {
|
||
|
- gs = ((Object *) uin->d)->getString();
|
||
|
+ gs = (GooString *)((Object *) uin->d)->getString();
|
||
|
lua_pushlstring(L, gs->getCString(), gs->getLength());
|
||
|
} else
|
||
|
lua_pushnil(L);
|
||
|
|
||
|
Luatex poppler 0.70 const fixes
|
||
|
|
||
|
diff -upr source.orig/texk/web2c/luatexdir/image/pdftoepdf.w source/texk/web2c/luatexdir/image/pdftoepdf.w
|
||
|
--- source.orig/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-28 14:14:32.961111369 +0200
|
||
|
+++ source/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-28 14:24:21.735889333 +0200
|
||
|
@@ -363,7 +363,7 @@ void copyReal(PDF pdf, double d)
|
||
|
|
||
|
static void copyString(PDF pdf, GooString * string)
|
||
|
{
|
||
|
- char *p;
|
||
|
+ const char *p;
|
||
|
unsigned char c;
|
||
|
size_t i, l;
|
||
|
p = string->getCString();
|
||
|
@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooStrin
|
||
|
pdf->cave = true;
|
||
|
}
|
||
|
|
||
|
-static void copyName(PDF pdf, char *s)
|
||
|
+static void copyName(PDF pdf, const char *s)
|
||
|
{
|
||
|
pdf_out(pdf, '/');
|
||
|
for (; *s != 0; s++) {
|
||
|
@@ -475,7 +475,7 @@ static void copyObject(PDF pdf, PdfDocum
|
||
|
copyString(pdf, (GooString *)obj->getString());
|
||
|
break;
|
||
|
case objName:
|
||
|
- copyName(pdf, (char *)obj->getName());
|
||
|
+ copyName(pdf, obj->getName());
|
||
|
break;
|
||
|
case objNull:
|
||
|
pdf_add_null(pdf);
|
||
|
@@ -531,22 +531,22 @@ static PDFRectangle *get_pagebox(Page *
|
||
|
{
|
||
|
switch (pagebox_spec) {
|
||
|
case PDF_BOX_SPEC_MEDIA:
|
||
|
- return page->getMediaBox();
|
||
|
+ return (PDFRectangle *) page->getMediaBox();
|
||
|
break;
|
||
|
case PDF_BOX_SPEC_CROP:
|
||
|
- return page->getCropBox();
|
||
|
+ return (PDFRectangle *) page->getCropBox();
|
||
|
break;
|
||
|
case PDF_BOX_SPEC_BLEED:
|
||
|
- return page->getBleedBox();
|
||
|
+ return (PDFRectangle *) page->getBleedBox();
|
||
|
break;
|
||
|
case PDF_BOX_SPEC_TRIM:
|
||
|
- return page->getTrimBox();
|
||
|
+ return (PDFRectangle *) page->getTrimBox();
|
||
|
break;
|
||
|
case PDF_BOX_SPEC_ART:
|
||
|
- return page->getArtBox();
|
||
|
+ return (PDFRectangle *) page->getArtBox();
|
||
|
break;
|
||
|
default:
|
||
|
- return page->getMediaBox();
|
||
|
+ return (PDFRectangle *) page->getMediaBox();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
diff -upr source.orig/texk/web2c/luatexdir/lua/lepdflib.cc source/texk/web2c/luatexdir/lua/lepdflib.cc
|
||
|
--- source.orig/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-28 14:14:32.961111369 +0200
|
||
|
+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-28 14:19:28.093424519 +0200
|
||
|
@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State
|
||
|
uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc) \
|
||
|
pdfdoc_changed_error(L); \
|
||
|
- o = ((in *) uin->d)->function(); \
|
||
|
+ o = (out *) ((in *) uin->d)->function(); \
|
||
|
if (o != NULL) { \
|
||
|
uout = new_##out##_userdata(L); \
|
||
|
uout->d = o; \
|
||
|
@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength);
|
||
|
|
||
|
static int m_Dict_add(lua_State * L)
|
||
|
{
|
||
|
- char *s;
|
||
|
+ const char *s;
|
||
|
udstruct *uin, *uobj;
|
||
|
uin = (udstruct *) luaL_checkudata(L, 1, M_Dict);
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc)
|
||
|
pdfdoc_changed_error(L);
|
||
|
- s = copyString(luaL_checkstring(L, 2));
|
||
|
+ s = luaL_checkstring(L, 2);
|
||
|
uobj = (udstruct *) luaL_checkudata(L, 3, M_Object);
|
||
|
((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d)));
|
||
|
return 0;
|
||
|
@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State *
|
||
|
pdfdoc_changed_error(L);
|
||
|
if (!((Object *) uin->d)->isDict())
|
||
|
luaL_error(L, "Object is not a Dict");
|
||
|
- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d)));
|
||
|
+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d)));
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@@ -2470,7 +2470,7 @@ static int m_PDFDoc_getFileName(lua_Stat
|
||
|
uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc);
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc)
|
||
|
pdfdoc_changed_error(L);
|
||
|
- gs = ((PdfDocument *) uin->d)->doc->getFileName();
|
||
|
+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->getFileName();
|
||
|
if (gs != NULL)
|
||
|
lua_pushlstring(L, gs->getCString(), gs->getLength());
|
||
|
else
|
||
|
@@ -2559,7 +2559,7 @@ static int m_PDFDoc_readMetadata(lua_Sta
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc)
|
||
|
pdfdoc_changed_error(L);
|
||
|
if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) {
|
||
|
- gs = ((PdfDocument *) uin->d)->doc->readMetadata();
|
||
|
+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->readMetadata();
|
||
|
if (gs != NULL)
|
||
|
lua_pushlstring(L, gs->getCString(), gs->getLength());
|
||
|
else
|
||
|
@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lu
|
||
|
if (uin->pd != NULL && uin->pd->pc != uin->pc)
|
||
|
pdfdoc_changed_error(L);
|
||
|
if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) {
|
||
|
- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot();
|
||
|
+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot();
|
||
|
uout = new_StructTreeRoot_userdata(L);
|
||
|
uout->d = obj;
|
||
|
uout->pc = uin->pc;
|
||
|
|
||
|
Luatex fixes for poppler 0.71
|
||
|
|
||
|
--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2018-11-01 22:46:43.868534355 +0000
|
||
|
+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2018-11-01 22:48:17.358815525 +0000
|
||
|
@@ -240,7 +240,7 @@
|
||
|
if (uobj->pd != NULL && uobj->pd->pc != uobj->pc)
|
||
|
pdfdoc_changed_error(L);
|
||
|
uout = new_Attribute_userdata(L);
|
||
|
- uout->d = new Attribute(n, nlen, (Object *)uobj->d);
|
||
|
+ uout->d = new Attribute((GooString)n, (Object *)uobj->d);
|
||
|
uout->atype = ALLOC_LEPDF;
|
||
|
uout->pc = uobj->pc;
|
||
|
uout->pd = uobj->pd;
|
||
|
|