Package: tetex-bin Severity: wishlist Tags: patch Hi Frank!
We upgraded to poppler 0.5.1 in Ubuntu, which grew a better unicode string handling. Unfortunately this broke the API a bit, so that the patch needs updating. I attach the new patch-poppler, and an interdiff between the old and new one. I'll file it here so that it doesn't get lost. Thanks, Martin -- Martin Pitt http://www.piware.de Ubuntu Developer http://www.ubuntu.com Debian Developer http://www.debian.org In a world without walls and fences, who needs Windows and Gates?
diff -u tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc 2005-12-28 10:29:17.692595280 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc 2006-03-09 16:49:28.000000000 +0100 @@ -32,6 +32,7 @@ #include <poppler/goo/gmem.h> #include <poppler/goo/gfile.h> #include "poppler/Object.h" +#include "poppler/UGooString.h" #include "poppler/Stream.h" #include "poppler/Array.h" #include "poppler/Dict.h" @@ -234,7 +235,7 @@ i < l; i++) { Object obj1; - obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); + obj->dictAdd(*(new UGooString (*dict->getKey(i))), dict->getValNF(i, &obj1)); } } @@ -307,7 +308,7 @@ static void copyDictEntry(Object *obj, int i) { PdfObject obj1; - copyName(obj->dictGetKey(i)); + copyName(obj->dictGetKey(i)->getCString()); pdf_puts(" "); obj->dictGetValNF(i, &obj1); copyObject(&obj1); @@ -334,7 +335,7 @@ pdf_puts("<<\n"); if (r->type == objFont) { // Font dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("BaseFont", key) == 0 || strcmp("Encoding", key) == 0) continue; // skip original values @@ -346,7 +347,7 @@ } else { // FontDescriptor dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("FontName", key) == 0 || strncmp("FontFile", key, strlen("FontFile")) == 0) continue; // ignore original FontFile/FontName @@ -455,7 +456,7 @@ for (i = 0, l = obj->dictGetLength(); i < l; ++i) { obj->dictGetValNF(i, &fontRef); if (fontRef->isRef()) - copyFont(obj->dictGetKey(i), &fontRef); + copyFont(obj->dictGetKey(i)->getCString(), &fontRef); else pdftex_fail("pdf inclusion: invalid font in reference type <%s>", fontRef->getTypeName()); @@ -714,7 +715,7 @@ epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); if (page_name) { // get page by name - GooString name(page_name); + UGooString name(page_name); LinkDest *link = pdf_doc->doc->findDest(&name); if (link == 0 || !link->isOk()) pdftex_fail("pdf inclusion: invalid destination <%s>", @@ -999,7 +1000,7 @@ pdf_puts("/Resources <<\n"); for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { obj1->dictGetVal(i, &obj2); - key = obj1->dictGetKey(i); + key = obj1->dictGetKey(i)->getCString(); if (strcmp("Font", key) == 0) copyFontResources(&obj2); else if (strcmp("ProcSet", key) == 0) diff -u tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc 2005-12-28 10:29:17.692595280 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc 2006-03-09 16:49:36.000000000 +0100 @@ -30,6 +30,7 @@ #include <poppler/goo/gmem.h> #include <poppler/goo/gfile.h> #include "poppler/Object.h" +#include "poppler/UGooString.h" #include "poppler/Stream.h" #include "poppler/Array.h" #include "poppler/Dict.h" @@ -80,7 +81,7 @@ } srcStream.initNull(); if (objnum == 0) { - catalogDict.dictLookup("SourceObject", &srcStream); + catalogDict.dictLookup(UGooString("SourceObject"), &srcStream); if (!srcStream.isStream("SourceFile")) { fprintf(stderr, "No SourceObject found\n"); exit(1);
diff -Nurp tetex-bin-3.0/configure tetex-bin-3.0.new/configure --- tetex-bin-3.0/configure 2005-02-06 19:27:03.000000000 +0100 +++ tetex-bin-3.0.new/configure 2006-03-09 16:49:28.000000000 +0100 @@ -3292,9 +3292,9 @@ export needs_zlib # we need libxpdf for pdf[ex]tex test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} -test "$with_pdftex" != no && : ${needs_libxpdf=yes} -test "$with_pdfetex" != no && : ${needs_libxpdf=yes} -test "$with_pdfxtex" != no && : ${needs_libxpdf=yes} +test "$with_pdftex" != no && : ${needs_libxpdf=no} +test "$with_pdfetex" != no && : ${needs_libxpdf=no} +test "$with_pdfxtex" != no && : ${needs_libxpdf=no} : ${needs_libxpdf=no} export needs_libxpdf diff -Nurp tetex-bin-3.0/configure.in tetex-bin-3.0.new/configure.in --- tetex-bin-3.0/configure.in 2005-02-01 22:59:46.000000000 +0100 +++ tetex-bin-3.0.new/configure.in 2006-03-09 16:49:28.000000000 +0100 @@ -145,9 +145,9 @@ export needs_zlib # we need libxpdf for pdf[ex]tex test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} -test "$with_pdftex" != no && : ${needs_libxpdf=yes} -test "$with_pdfetex" != no && : ${needs_libxpdf=yes} -test "$with_pdfxtex" != no && : ${needs_libxpdf=yes} +test "$with_pdftex" != no && : ${needs_libxpdf=no} +test "$with_pdfetex" != no && : ${needs_libxpdf=no} +test "$with_pdfxtex" != no && : ${needs_libxpdf=no} : ${needs_libxpdf=no} export needs_libxpdf diff -Nurp tetex-bin-3.0/texk/web2c/pdfetexdir/pdfetex.mk tetex-bin-3.0.new/texk/web2c/pdfetexdir/pdfetex.mk --- tetex-bin-3.0/texk/web2c/pdfetexdir/pdfetex.mk 2004-12-20 20:57:52.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdfetexdir/pdfetex.mk 2006-03-09 16:49:28.000000000 +0100 @@ -8,13 +8,16 @@ Makefile: $(srcdir)/pdfetexdir/pdfetex.m pdfetex = @PETEX@ pdfetex pdfetexdir = pdfetexdir +# use libpoppler instead of included xpdf code +ADDLDFLAGS = -lpoppler + # The C sources. pdfetex_c = pdfetexini.c pdfetex0.c pdfetex1.c pdfetex2.c pdfetex3.c pdfetex_o = pdfetexini.o pdfetex0.o pdfetex1.o pdfetex2.o pdfetex3.o pdfetexextra.o # Making pdfetex pdfetex: pdftexd.h $(pdfetex_o) $(pdfetexextra_o) $(pdftexlibsdep) - @CXXHACKLINK@ $(pdfetex_o) $(pdfetexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ + @CXXHACKLINK@ $(pdfetex_o) $(pdfetexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) # C file dependencies. $(pdfetex_c) pdfetexcoerce.h pdfetexd.h: pdfetex.p $(web2c_texmf) diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/depend.mk tetex-bin-3.0.new/texk/web2c/pdftexdir/depend.mk --- tetex-bin-3.0/texk/web2c/pdftexdir/depend.mk 2004-03-09 12:20:12.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/depend.mk 2006-03-09 16:49:28.000000000 +0100 @@ -1,54 +1,4 @@ -epdf.o: epdf.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -mapfile.o: mapfile.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -papersiz.o: papersiz.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h -utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \ - ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \ - ../../../libs/md5/md5.h pdftexextra.h -vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h -pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \ - ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \ - ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writet3.o: writet3.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h -writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h -writettf.o: writettf.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h macnames.c -writejpg.o: writejpg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h image.h -writepng.o: writepng.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h image.h -writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h image.h -pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \ - ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \ - ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \ - ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \ - ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \ - ../../../libs/xpdf/xpdf/Error.h epdf.h -ttf2afm.o: ttf2afm.c macnames.c -pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \ - ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \ - ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \ - ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \ - ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \ - ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h +pdftoepdf.o: pdftoepdf.cc epdf.h ../../kpathsea/c-auto.h \ + ../../kpathsea/c-proto.h ../../web2c/c-auto.h ../../web2c/config.h \ + ../../kpathsea/c-fopen.h ../../web2c/pdftexdir/ptexmac.h +pdftosrc.o: pdftosrc.cc diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/Makefile.in tetex-bin-3.0.new/texk/web2c/pdftexdir/Makefile.in --- tetex-bin-3.0/texk/web2c/pdftexdir/Makefile.in 2004-08-06 21:41:57.000000000 +0200 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/Makefile.in 2006-03-09 16:49:28.000000000 +0100 @@ -8,7 +8,7 @@ ac_include ../make/library.mk kpathsea_srcdir_parent = $(srcdir)/../.. kpathsea_dir_parent = ../.. -ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) @LIBXPDFCPPFLAGS@ +ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) -I/usr/include/poppler CXX = @CXX@ .SUFFIXES: .cc .o diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/pdftex.mk tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftex.mk --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftex.mk 2005-02-03 17:16:39.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftex.mk 2006-03-09 16:49:28.000000000 +0100 @@ -13,6 +13,9 @@ Makefile: pdftexdir/pdftex.mk pdftex_bin = pdftex pdfetex pdfxtex ttf2afm pdftosrc linux_build_dir = $(HOME)/pdftex/build/linux/texk/web2c +# use libpoppler instead of included xpdf code +ADDLDFLAGS = -lpoppler + # We build pdftex pdftex = @PTEX@ pdftex pdftexdir = pdftexdir @@ -29,7 +32,7 @@ pdftex_o = pdftexini.o pdftex0.o pdftex1 # Making pdftex pdftex: $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep) - @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ + @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) # C file dependencies. $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) @@ -153,7 +156,7 @@ ttf2afm-clean: pdftosrc = pdftosrc pdftosrc: pdftexdir/pdftosrc.o $(LIBXPDFDEP) - @CXXHACKLINK@ pdftexdir/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ + @CXXHACKLINK@ pdftexdir/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS) pdftexdir/pdftosrc.o:$(srcdir)/pdftexdir/pdftosrc.cc cd pdftexdir && $(MAKE) pdftosrc.o check: pdftosrc-check diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc 2005-02-03 17:16:39.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc 2006-03-09 16:49:28.000000000 +0100 @@ -26,22 +26,24 @@ $Id: //depot/Build/source.development/Te #include <stdio.h> #include <string.h> #include <ctype.h> -#include <aconf.h> -#include <GString.h> -#include <gmem.h> -#include <gfile.h> -#include <config.h> -#include "Object.h" -#include "Stream.h" -#include "Array.h" -#include "Dict.h" -#include "XRef.h" -#include "Catalog.h" -#include "Page.h" -#include "GfxFont.h" -#include "PDFDoc.h" -#include "GlobalParams.h" -#include "Error.h" +#include <dirent.h> +#include <poppler/poppler-config.h> +#include <poppler/goo/GooString.h> +#include <poppler/goo/gmem.h> +#include <poppler/goo/gfile.h> +#include "poppler/Object.h" +#include "poppler/UGooString.h" +#include "poppler/Stream.h" +#include "poppler/Array.h" +#include "poppler/Dict.h" +#include "poppler/XRef.h" +#include "poppler/Link.h" +#include "poppler/Catalog.h" +#include "poppler/Page.h" +#include "poppler/GfxFont.h" +#include "poppler/PDFDoc.h" +#include "poppler/GlobalParams.h" +#include "poppler/Error.h" #include "epdf.h" @@ -189,7 +191,7 @@ static PdfDocument *find_add_document(ch #ifdef DEBUG fprintf(stderr, "\nCreating %s (%d)\n", p->file_name, p->occurences); #endif - GString *docName = new GString(p->file_name); + GooString *docName = new GooString(p->file_name); p->doc = new PDFDoc(docName); // takes ownership of docName if (!p->doc->isOk() || !p->doc->okToPrint()) { pdftex_fail("xpdf: reading PDF image failed"); @@ -233,7 +235,7 @@ static void initDictFromDict (PdfObject i < l; i++) { Object obj1; - obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); + obj->dictAdd(*(new UGooString (*dict->getKey(i))), dict->getValNF(i, &obj1)); } } @@ -306,7 +308,7 @@ static void copyName(char *s) static void copyDictEntry(Object *obj, int i) { PdfObject obj1; - copyName(obj->dictGetKey(i)); + copyName(obj->dictGetKey(i)->getCString()); pdf_puts(" "); obj->dictGetValNF(i, &obj1); copyObject(&obj1); @@ -333,7 +335,7 @@ static void copyFontDict(Object *obj, In pdf_puts("<<\n"); if (r->type == objFont) { // Font dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("BaseFont", key) == 0 || strcmp("Encoding", key) == 0) continue; // skip original values @@ -345,7 +347,7 @@ static void copyFontDict(Object *obj, In } else { // FontDescriptor dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("FontName", key) == 0 || strncmp("FontFile", key, strlen("FontFile")) == 0) continue; // ignore original FontFile/FontName @@ -454,7 +456,7 @@ static void copyFontResources(Object *ob for (i = 0, l = obj->dictGetLength(); i < l; ++i) { obj->dictGetValNF(i, &fontRef); if (fontRef->isRef()) - copyFont(obj->dictGetKey(i), &fontRef); + copyFont(obj->dictGetKey(i)->getCString(), &fontRef); else pdftex_fail("pdf inclusion: invalid font in reference type <%s>", fontRef->getTypeName()); @@ -539,7 +541,7 @@ static void copyObject(Object *obj) int i, l, c; Ref ref; char *p; - GString *s; + GooString *s; if (obj->isBool()) { pdf_printf("%s", obj->getBool() ? "true" : "false"); } @@ -686,7 +688,7 @@ read_pdf_info(char *image_name, char *pa float pdf_version_found, pdf_version_wanted; // initialize if (!isInit) { - globalParams = new GlobalParams(); + globalParams = new GlobalParams(NULL); globalParams->setErrQuiet(gFalse); isInit = gTrue; } @@ -713,7 +715,7 @@ read_pdf_info(char *image_name, char *pa epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); if (page_name) { // get page by name - GString name(page_name); + UGooString name(page_name); LinkDest *link = pdf_doc->doc->findDest(&name); if (link == 0 || !link->isOk()) pdftex_fail("pdf inclusion: invalid destination <%s>", @@ -998,7 +1000,7 @@ write_epdf(void) pdf_puts("/Resources <<\n"); for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { obj1->dictGetVal(i, &obj2); - key = obj1->dictGetKey(i); + key = obj1->dictGetKey(i)->getCString(); if (strcmp("Font", key) == 0) copyFontResources(&obj2); else if (strcmp("ProcSet", key) == 0) diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc 2004-03-22 21:39:54.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc 2006-03-09 16:49:36.000000000 +0100 @@ -25,21 +25,22 @@ $Id: //depot/Build/source.development/Te #include <stdio.h> #include <string.h> #include <ctype.h> -#include <aconf.h> -#include <GString.h> -#include <gmem.h> -#include <gfile.h> -#include "Object.h" -#include "Stream.h" -#include "Array.h" -#include "Dict.h" -#include "XRef.h" -#include "Catalog.h" -#include "Page.h" -#include "GfxFont.h" -#include "PDFDoc.h" -#include "GlobalParams.h" -#include "Error.h" +#include <dirent.h> +#include <poppler/goo/GooString.h> +#include <poppler/goo/gmem.h> +#include <poppler/goo/gfile.h> +#include "poppler/Object.h" +#include "poppler/UGooString.h" +#include "poppler/Stream.h" +#include "poppler/Array.h" +#include "poppler/Dict.h" +#include "poppler/XRef.h" +#include "poppler/Catalog.h" +#include "poppler/Page.h" +#include "poppler/GfxFont.h" +#include "poppler/PDFDoc.h" +#include "poppler/GlobalParams.h" +#include "poppler/Error.h" static XRef *xref = 0; @@ -47,7 +48,7 @@ int main(int argc, char *argv[]) { char *p, buf[1024]; PDFDoc *doc; - GString *fileName; + GooString *fileName; Stream *s; Object srcStream, srcName, catalogDict; FILE *outfile; @@ -59,8 +60,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "Usage: pdftosrc <PDF-file> [<stream-object-number>]\n"); exit(1); } - fileName = new GString(argv[1]); - globalParams = new GlobalParams(); + fileName = new GooString(argv[1]); + globalParams = new GlobalParams(NULL); doc = new PDFDoc(fileName); if (!doc->isOk()) { fprintf(stderr, "Invalid PDF file\n"); @@ -80,7 +81,7 @@ int main(int argc, char *argv[]) } srcStream.initNull(); if (objnum == 0) { - catalogDict.dictLookup("SourceObject", &srcStream); + catalogDict.dictLookup(UGooString("SourceObject"), &srcStream); if (!srcStream.isStream("SourceFile")) { fprintf(stderr, "No SourceObject found\n"); exit(1); diff -Nurp tetex-bin-3.0/texk/web2c/pdfxtexdir/pdfxtex.mk tetex-bin-3.0.new/texk/web2c/pdfxtexdir/pdfxtex.mk --- tetex-bin-3.0/texk/web2c/pdfxtexdir/pdfxtex.mk 2005-02-03 19:42:26.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdfxtexdir/pdfxtex.mk 2006-03-09 16:49:28.000000000 +0100 @@ -8,13 +8,16 @@ Makefile: $(srcdir)/pdfxtexdir/pdfxtex.m pdfxtex = @PXTEX@ pdfxtex pdfxtexdir = pdfxtexdir +# use libpoppler instead of included xpdf code +ADDLDFLAGS = -lpoppler + # The C sources. pdfxtex_c = pdfxtexini.c pdfxtex0.c pdfxtex1.c pdfxtex2.c pdfxtex3.c pdfxtex_o = pdfxtexini.o pdfxtex0.o pdfxtex1.o pdfxtex2.o pdfxtex3.o pdfxtexextra.o # Making pdfxtex pdfxtex: pdftexd.h $(pdfxtex_o) $(pdfxtexextra_o) $(pdftexlibsdep) - @CXXHACKLINK@ $(pdfxtex_o) $(pdfxtexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ + @CXXHACKLINK@ $(pdfxtex_o) $(pdfxtexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) # C file dependencies. $(pdfxtex_c) pdfxtexcoerce.h pdfxtexd.h: pdfxtex.p $(web2c_texmf) pdfxtexdir/pdfxtex.defines
signature.asc
Description: Digital signature