diff options
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-3.02-pdftex.patch')
-rw-r--r-- | Build/source/libs/xpdf/xpdf-3.02-pdftex.patch | 1043 |
1 files changed, 1043 insertions, 0 deletions
diff --git a/Build/source/libs/xpdf/xpdf-3.02-pdftex.patch b/Build/source/libs/xpdf/xpdf-3.02-pdftex.patch new file mode 100644 index 00000000000..2b560dec464 --- /dev/null +++ b/Build/source/libs/xpdf/xpdf-3.02-pdftex.patch @@ -0,0 +1,1043 @@ +diff -ur xpdf-3.02.orig/goo/GString.cc xpdf-3.02/goo/GString.cc +--- xpdf-3.02.orig/goo/GString.cc 2007-02-27 23:05:51.000000000 +0100 ++++ xpdf-3.02/goo/GString.cc 2008-05-08 15:40:41.000000000 +0200 +@@ -8,6 +8,47 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: GString.cc 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r196 | oneiros | 2007-07-11 13:56:21 +0200 (Mi, 11 Jul 2007) | 2 lines ++* ++* Merge r195 (compilation problems on IRIX) into stable ++* ++* ------------------------------------------------------------------------ ++* r194 | oneiros | 2007-07-10 19:47:01 +0200 (Di, 10 Jul 2007) | 2 lines ++* ++* Merge r193 (compilation problems on IRIX) into stable ++* ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++*------------------------------------------------------------------------ */ ++ + #include <aconf.h> + + #ifdef USE_GCC_PRAGMAS +@@ -528,7 +569,7 @@ + if ((neg = x < 0)) { + x = -x; + } +- x = floor(x * pow(10, prec) + 0.5); ++ x = floor(x * pow(10.0, prec) + 0.5); + i = bufSize; + started = !trim; + for (j = 0; j < prec && i > 1; ++j) { +diff -ur xpdf-3.02.orig/goo/gfile.cc xpdf-3.02/goo/gfile.cc +--- xpdf-3.02.orig/goo/gfile.cc 2009-03-06 11:40:39.000000000 +0100 ++++ xpdf-3.02/goo/gfile.cc 2009-03-06 11:54:23.000000000 +0100 +@@ -8,6 +8,42 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: gfile.cc 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r50 | ms | 2006-02-16 13:00:00 +0100 (Do, 16 Feb 2006) | 2 lines ++* ++* 1.30.6 ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #include <aconf.h> + + #ifdef WIN32 +@@ -440,6 +476,7 @@ + #endif + } + ++#ifndef PDF_PARSER_ONLY + GBool openTempFile(GString **name, FILE **f, char *mode, char *ext) { + #if defined(WIN32) + //---------- Win32 ---------- +@@ -548,6 +585,7 @@ + return gTrue; + #endif + } ++#endif + + GBool executeCommand(char *cmd) { + #ifdef VMS +diff -ur xpdf-3.02.orig/xpdf/Decrypt.h xpdf-3.02/xpdf/Decrypt.h +--- xpdf-3.02.orig/xpdf/Decrypt.h 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/Decrypt.h 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,42 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: Decrypt.h 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r320 | oneiros | 2007-12-18 13:40:01 +0100 (Di, 18 Dez 2007) | 2 lines ++* ++* Import libpng 1.2.24 into stable ++* ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #ifndef DECRYPT_H + #define DECRYPT_H + +@@ -73,7 +109,7 @@ + CryptAlgorithm algoA, int keyLength, + int objNum, int objGen); + virtual ~DecryptStream(); +- virtual StreamKind getKind() { return strWeird; } ++ virtual StreamKind getKind() { return strCrypt; } + virtual void reset(); + virtual int getChar(); + virtual int lookChar(); +diff -ur xpdf-3.02.orig/xpdf/GlobalParams.cc xpdf-3.02/xpdf/GlobalParams.cc +--- xpdf-3.02.orig/xpdf/GlobalParams.cc 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/GlobalParams.cc 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,42 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: GlobalParams.cc 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #include <aconf.h> + + #ifdef USE_GCC_PRAGMAS +@@ -422,6 +458,7 @@ + } + } + ++#ifndef PDF_PARSER_ONLY + //------------------------------------------------------------------------ + // KeyBinding + //------------------------------------------------------------------------ +@@ -454,6 +491,7 @@ + KeyBinding::~KeyBinding() { + deleteGList(cmds, GString); + } ++#endif + + #ifdef ENABLE_PLUGINS + //------------------------------------------------------------------------ +@@ -601,6 +639,138 @@ + // parsing + //------------------------------------------------------------------------ + ++GlobalParams::GlobalParams() { ++ UnicodeMap *map; ++ int i; ++ ++#if MULTITHREADED ++ gInitMutex(&mutex); ++ gInitMutex(&unicodeMapCacheMutex); ++ gInitMutex(&cMapCacheMutex); ++#endif ++ ++ initBuiltinFontTables(); ++ ++ // scan the encoding in reverse because we want the lowest-numbered ++ // index for each char name ('space' is encoded twice) ++ macRomanReverseMap = new NameToCharCode(); ++ for (i = 255; i >= 0; --i) { ++ if (macRomanEncoding[i]) { ++ macRomanReverseMap->add(macRomanEncoding[i], (CharCode)i); ++ } ++ } ++ ++#ifdef WIN32 ++ // baseDir will be set by a call to setBaseDir ++ baseDir = new GString(); ++#else ++ baseDir = appendToPath(getHomeDir(), ".xpdf"); ++#endif ++ nameToUnicode = new NameToCharCode(); ++ cidToUnicodes = new GHash(gTrue); ++ unicodeToUnicodes = new GHash(gTrue); ++ residentUnicodeMaps = new GHash(); ++ unicodeMaps = new GHash(gTrue); ++ cMapDirs = new GHash(gTrue); ++ toUnicodeDirs = new GList(); ++ displayFonts = new GHash(); ++ displayCIDFonts = new GHash(); ++ displayNamedCIDFonts = new GHash(); ++#if HAVE_PAPER_H ++ char *paperName; ++ const struct paper *paperType; ++ paperinit(); ++ if ((paperName = systempapername())) { ++ paperType = paperinfo(paperName); ++ psPaperWidth = (int)paperpswidth(paperType); ++ psPaperHeight = (int)paperpsheight(paperType); ++ } else { ++ error(-1, "No paper information available - using defaults"); ++ psPaperWidth = defPaperWidth; ++ psPaperHeight = defPaperHeight; ++ } ++ paperdone(); ++#else ++ psPaperWidth = defPaperWidth; ++ psPaperHeight = defPaperHeight; ++#endif ++ psImageableLLX = psImageableLLY = 0; ++ psImageableURX = psPaperWidth; ++ psImageableURY = psPaperHeight; ++ psCrop = gTrue; ++ psExpandSmaller = gFalse; ++ psShrinkLarger = gTrue; ++ psCenter = gTrue; ++ psDuplex = gFalse; ++ psLevel = psLevel2; ++ psFile = NULL; ++ psFonts = new GHash(); ++ psNamedFonts16 = new GList(); ++ psFonts16 = new GList(); ++ psEmbedType1 = gTrue; ++ psEmbedTrueType = gTrue; ++ psEmbedCIDPostScript = gTrue; ++ psEmbedCIDTrueType = gTrue; ++ psOPI = gFalse; ++ psASCIIHex = gFalse; ++ textEncoding = new GString("Latin1"); ++#if defined(WIN32) ++ textEOL = eolDOS; ++#elif defined(MACOS) ++ textEOL = eolMac; ++#else ++ textEOL = eolUnix; ++#endif ++ textPageBreaks = gTrue; ++ textKeepTinyChars = gFalse; ++ fontDirs = new GList(); ++ initialZoom = new GString("125"); ++ continuousView = gFalse; ++ enableT1lib = gTrue; ++ enableFreeType = gTrue; ++ antialias = gTrue; ++ urlCommand = NULL; ++ movieCommand = NULL; ++ mapNumericCharNames = gTrue; ++ printCommands = gFalse; ++ errQuiet = gFalse; ++ ++ cidToUnicodeCache = new CharCodeToUnicodeCache(cidToUnicodeCacheSize); ++ unicodeToUnicodeCache = ++ new CharCodeToUnicodeCache(unicodeToUnicodeCacheSize); ++ unicodeMapCache = new UnicodeMapCache(); ++ cMapCache = new CMapCache(); ++ ++#ifdef ENABLE_PLUGINS ++ plugins = new GList(); ++ securityHandlers = new GList(); ++#endif ++ ++ // set up the initial nameToUnicode table ++ for (i = 0; nameToUnicodeTab[i].name; ++i) { ++ nameToUnicode->add(nameToUnicodeTab[i].name, nameToUnicodeTab[i].u); ++ } ++ ++ // set up the residentUnicodeMaps table ++ map = new UnicodeMap("Latin1", gFalse, ++ latin1UnicodeMapRanges, latin1UnicodeMapLen); ++ residentUnicodeMaps->add(map->getEncodingName(), map); ++ map = new UnicodeMap("ASCII7", gFalse, ++ ascii7UnicodeMapRanges, ascii7UnicodeMapLen); ++ residentUnicodeMaps->add(map->getEncodingName(), map); ++ map = new UnicodeMap("Symbol", gFalse, ++ symbolUnicodeMapRanges, symbolUnicodeMapLen); ++ residentUnicodeMaps->add(map->getEncodingName(), map); ++ map = new UnicodeMap("ZapfDingbats", gFalse, zapfDingbatsUnicodeMapRanges, ++ zapfDingbatsUnicodeMapLen); ++ residentUnicodeMaps->add(map->getEncodingName(), map); ++ map = new UnicodeMap("UTF-8", gTrue, &mapUTF8); ++ residentUnicodeMaps->add(map->getEncodingName(), map); ++ map = new UnicodeMap("UCS-2", gTrue, &mapUCS2); ++ residentUnicodeMaps->add(map->getEncodingName(), map); ++ ++} ++ + GlobalParams::GlobalParams(char *cfgFileName) { + UnicodeMap *map; + GString *fileName; +@@ -706,7 +876,9 @@ + movieCommand = NULL; + mapNumericCharNames = gTrue; + mapUnknownCharNames = gFalse; ++#ifndef PDF_PARSER_ONLY + createDefaultKeyBindings(); ++#endif + printCommands = gFalse; + errQuiet = gFalse; + +@@ -781,12 +953,15 @@ + } + } + if (f) { ++#ifndef PDF_PARSER_ONLY + parseFile(fileName, f); ++#endif + delete fileName; + fclose(f); + } + } + ++#ifndef PDF_PARSER_ONLY + void GlobalParams::createDefaultKeyBindings() { + keyBindings = new GList(); + +@@ -1113,6 +1288,7 @@ + + deleteGList(tokens, GString); + } ++#endif + + void GlobalParams::parseNameToUnicode(GList *tokens, GString *fileName, + int line) { +@@ -1457,6 +1633,7 @@ + } + } + ++#ifndef PDF_PARSER_ONLY + void GlobalParams::parseBind(GList *tokens, GString *fileName, int line) { + KeyBinding *binding; + GList *cmds; +@@ -1642,6 +1819,7 @@ + + return gTrue; + } ++#endif + + void GlobalParams::parseCommand(char *cmdName, GString **val, + GList *tokens, GString *fileName, int line) { +@@ -1785,7 +1963,9 @@ + if (movieCommand) { + delete movieCommand; + } ++#ifndef PDF_PARSER_ONLY + deleteGList(keyBindings, KeyBinding); ++#endif + + cMapDirs->startIter(&iter); + while (cMapDirs->getNext(&iter, &key, (void **)&list)) { +@@ -2436,6 +2616,7 @@ + return map; + } + ++#ifndef PDF_PARSER_ONLY + GList *GlobalParams::getKeyBinding(int code, int mods, int context) { + KeyBinding *binding; + GList *cmds; +@@ -2461,6 +2642,7 @@ + unlockGlobalParams; + return cmds; + } ++#endif + + GBool GlobalParams::getPrintCommands() { + GBool p; +diff -ur xpdf-3.02.orig/xpdf/GlobalParams.h xpdf-3.02/xpdf/GlobalParams.h +--- xpdf-3.02.orig/xpdf/GlobalParams.h 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/GlobalParams.h 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,42 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: GlobalParams.h 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #ifndef GLOBALPARAMS_H + #define GLOBALPARAMS_H + +@@ -123,6 +159,7 @@ + + //------------------------------------------------------------------------ + ++#ifndef PDF_PARSER_ONLY + class KeyBinding { + public: + +@@ -186,6 +223,7 @@ + #define xpdfKeyContextMainWin (2 << 6) + #define xpdfKeyContextScrLockOn (1 << 8) + #define xpdfKeyContextScrLockOff (2 << 8) ++#endif + + //------------------------------------------------------------------------ + +@@ -196,12 +234,17 @@ + // file. + GlobalParams(char *cfgFileName); + ++ // Initialize it without reading the config ++ GlobalParams(); ++ + ~GlobalParams(); + + void setBaseDir(char *dir); + void setupBaseFonts(char *dir); + ++#ifndef PDF_PARSER_ONLY + void parseLine(char *buf, GString *fileName, int line); ++#endif + + //----- accessors + +@@ -256,7 +299,9 @@ + GString *getMovieCommand() { return movieCommand; } + GBool getMapNumericCharNames(); + GBool getMapUnknownCharNames(); ++#ifndef PDF_PARSER_ONLY + GList *getKeyBinding(int code, int mods, int context); ++#endif + GBool getPrintCommands(); + GBool getErrQuiet(); + +@@ -315,7 +360,9 @@ + + private: + ++#ifndef PDF_PARSER_ONLY + void createDefaultKeyBindings(); ++#endif + void parseFile(GString *fileName, FILE *f); + void parseNameToUnicode(GList *tokens, GString *fileName, int line); + void parseCIDToUnicode(GList *tokens, GString *fileName, int line); +@@ -338,12 +385,14 @@ + void parseFontDir(GList *tokens, GString *fileName, int line); + void parseInitialZoom(GList *tokens, GString *fileName, int line); + void parseScreenType(GList *tokens, GString *fileName, int line); ++#ifndef PDF_PARSER_ONLY + void parseBind(GList *tokens, GString *fileName, int line); + void parseUnbind(GList *tokens, GString *fileName, int line); + GBool parseKey(GString *modKeyStr, GString *contextStr, + int *code, int *mods, int *context, + char *cmdName, + GList *tokens, GString *fileName, int line); ++#endif + void parseCommand(char *cmdName, GString **val, + GList *tokens, GString *fileName, int line); + void parseYesNo(char *cmdName, GBool *flag, +@@ -438,7 +487,9 @@ + GString *movieCommand; // command executed for movie annotations + GBool mapNumericCharNames; // map numeric char names (from font subsets)? + GBool mapUnknownCharNames; // map unknown char names? ++#ifndef PDF_PARSER_ONLY + GList *keyBindings; // key & mouse button bindings [KeyBinding] ++#endif + GBool printCommands; // print the drawing commands + GBool errQuiet; // suppress error messages? + +diff -ur xpdf-3.02.orig/xpdf/PDFDoc.h xpdf-3.02/xpdf/PDFDoc.h +--- xpdf-3.02.orig/xpdf/PDFDoc.h 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/PDFDoc.h 2008-07-17 02:29:04.000000000 +0200 +@@ -171,13 +171,15 @@ + double pdfVersion; + XRef *xref; + Catalog *catalog; ++ GBool ok; ++ int errCode; ++/* Keep the size of the structure the same whether DISABLE_OUTLINE or ++ not, and put it last to try to find errors more quickly. */ + #ifndef DISABLE_OUTLINE + Outline *outline; ++#else ++ void *dummy; + #endif +- +- +- GBool ok; +- int errCode; + }; + + #endif +diff -ur xpdf-3.02.orig/xpdf/Page.h xpdf-3.02/xpdf/Page.h +--- xpdf-3.02.orig/xpdf/Page.h 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/Page.h 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,42 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: Page.h 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #ifndef PAGE_H + #define PAGE_H + +@@ -170,9 +206,11 @@ + + void processLinks(OutputDev *out, Catalog *catalog); + ++#ifndef PDF_PARSER_ONLY + // Get the page's default CTM. + void getDefaultCTM(double *ctm, double hDPI, double vDPI, + int rotate, GBool useMediaBox, GBool upsideDown); ++#endif + + private: + +diff -ur xpdf-3.02.orig/xpdf/Stream.h xpdf-3.02/xpdf/Stream.h +--- xpdf-3.02.orig/xpdf/Stream.h 2009-03-06 11:40:18.000000000 +0100 ++++ xpdf-3.02/xpdf/Stream.h 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,58 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: Stream.h 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r320 | oneiros | 2007-12-18 13:40:01 +0100 (Di, 18 Dez 2007) | 2 lines ++* ++* Import libpng 1.2.24 into stable ++* ++* ------------------------------------------------------------------------ ++* r268 | oneiros | 2007-11-11 22:45:02 +0100 (So, 11 Nov 2007) | 3 lines ++* ++* Merge xpdf 3.02pl2 ++* svn merge -r215:266 http://scm.foundry.supelec.fr/svn/pdftex/vendor/xpdf/current . ++* ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r48 | ms | 2005-12-04 13:00:00 +0100 (So, 04 Dez 2005) | 2 lines ++* ++* 1.30.5 ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #ifndef STREAM_H + #define STREAM_H + +@@ -34,6 +86,7 @@ + strFlate, + strJBIG2, + strJPX, ++ strCrypt, + strWeird // internal-use stream types + }; + +diff -ur xpdf-3.02.orig/xpdf/XRef.cc xpdf-3.02/xpdf/XRef.cc +--- xpdf-3.02.orig/xpdf/XRef.cc 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/XRef.cc 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,57 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: XRef.cc 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r77 | ms | 2007-01-01 13:01:00 +0100 (Mo, 01 Jan 2007) | 2 lines ++* ++* 1.40.0 ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r24 | ms | 2005-02-04 13:01:00 +0100 (Fr, 04 Feb 2005) | 2 lines ++* ++* 1.21a ++* ++* ------------------------------------------------------------------------ ++* r21 | ms | 2004-12-22 13:01:00 +0100 (Mi, 22 Dez 2004) | 2 lines ++* ++* 1.20b ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #include <aconf.h> + + #ifdef USE_GCC_PRAGMAS +@@ -45,34 +96,9 @@ + // ObjectStream + //------------------------------------------------------------------------ + +-class ObjectStream { +-public: +- +- // Create an object stream, using object number <objStrNum>, +- // generation 0. +- ObjectStream(XRef *xref, int objStrNumA); +- +- ~ObjectStream(); +- +- // Return the object number of this object stream. +- int getObjStrNum() { return objStrNum; } +- +- // Get the <objIdx>th object from this stream, which should be +- // object number <objNum>, generation 0. +- Object *getObject(int objIdx, int objNum, Object *obj); +- +-private: +- +- int objStrNum; // object number of the object stream +- int nObjects; // number of objects in the stream +- Object *objs; // the objects (length = nObjects) +- int *objNums; // the object numbers (length = nObjects) +-}; +- + ObjectStream::ObjectStream(XRef *xref, int objStrNumA) { + Stream *str; + Parser *parser; +- int *offsets; + Object objStr, obj1, obj2; + int first, i; + +@@ -80,6 +106,7 @@ + nObjects = 0; + objs = NULL; + objNums = NULL; ++ offsets = NULL; + + if (!xref->fetch(objStrNum, 0, &objStr)->isStream()) { + goto err1; +@@ -100,6 +127,7 @@ + goto err1; + } + first = obj1.getInt(); ++ firstOffset = objStr.getStream()->getBaseStream()->getStart() + first; + obj1.free(); + if (first < 0) { + goto err1; +@@ -121,7 +149,7 @@ + obj1.free(); + obj2.free(); + delete parser; +- gfree(offsets); ++// gfree(offsets); + goto err1; + } + objNums[i] = obj1.getInt(); +@@ -131,7 +159,7 @@ + if (objNums[i] < 0 || offsets[i] < 0 || + (i > 0 && offsets[i] < offsets[i-1])) { + delete parser; +- gfree(offsets); ++// gfree(offsets); + goto err1; + } + } +@@ -160,7 +188,7 @@ + delete parser; + } + +- gfree(offsets); ++// gfree(offsets); + + err1: + objStr.free(); +@@ -177,6 +205,7 @@ + delete[] objs; + } + gfree(objNums); ++ gfree(offsets); + } + + Object *ObjectStream::getObject(int objIdx, int objNum, Object *obj) { +diff -ur xpdf-3.02.orig/xpdf/XRef.h xpdf-3.02/xpdf/XRef.h +--- xpdf-3.02.orig/xpdf/XRef.h 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/XRef.h 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,45 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: XRef.h 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r77 | ms | 2007-01-01 13:01:00 +0100 (Mo, 01 Jan 2007) | 2 lines ++* ++* 1.40.0 ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #ifndef XREF_H + #define XREF_H + +@@ -21,7 +60,36 @@ + class Dict; + class Stream; + class Parser; +-class ObjectStream; ++ ++class ObjectStream { ++public: ++ ++ // Create an object stream, using object number <objStrNum>, ++ // generation 0. ++ ObjectStream(XRef *xref, int objStrNumA); ++ ++ ~ObjectStream(); ++ ++ // Return the object number of this object stream. ++ int getObjStrNum() { return objStrNum; } ++ ++ // Get the <objIdx>th object from this stream, which should be ++ // object number <objNum>, generation 0. ++ Object *getObject(int objIdx, int objNum, Object *obj); ++ ++ int *getOffsets() { return offsets; } ++ Guint getFirstOffset() { return firstOffset; } ++ ++private: ++ ++ int objStrNum; // object number of the object stream ++ int nObjects; // number of objects in the stream ++ Object *objs; // the objects (length = nObjects) ++ int *objNums; // the object numbers (length = nObjects) ++ int *offsets; // the object offsets (length = nObjects) ++ Guint firstOffset; ++}; ++ + + //------------------------------------------------------------------------ + // XRef +@@ -96,6 +164,7 @@ + int getSize() { return size; } + XRefEntry *getEntry(int i) { return &entries[i]; } + Object *getTrailerDict() { return &trailerDict; } ++ ObjectStream *getObjStr() { return objStr; } + + private: + +diff -ur xpdf-3.02.orig/xpdf/config.h xpdf-3.02/xpdf/config.h +--- xpdf-3.02.orig/xpdf/config.h 2007-02-27 23:05:52.000000000 +0100 ++++ xpdf-3.02/xpdf/config.h 2008-05-08 15:40:41.000000000 +0200 +@@ -6,6 +6,58 @@ + // + //======================================================================== + ++/* ------------------------------------------------------------------------ ++* Changed by Martin Schröder <martin@pdftex.org> ++* $Id: config.h 421 2008-04-26 21:59:55Z oneiros $ ++* Changelog: ++* ------------------------------------------------------------------------ ++* r268 | oneiros | 2007-11-11 22:45:02 +0100 (So, 11 Nov 2007) | 3 lines ++* ++* Merge xpdf 3.02pl2 ++* svn merge -r215:266 http://scm.foundry.supelec.fr/svn/pdftex/vendor/xpdf/current . ++* ++* ------------------------------------------------------------------------ ++* r215 | oneiros | 2007-07-31 18:32:04 +0200 (Di, 31 Jul 2007) | 2 lines ++* ++* Merge changes from trunk into stable: 203-207,213-214 ++* ++* ------------------------------------------------------------------------ ++* r151 | ms | 2007-06-25 18:53:17 +0200 (Mo, 25 Jun 2007) | 3 lines ++* ++* Merging xpdf 3.02 from HEAD into stable ++* svn merge -r149:150 --dry-run svn+ssh://svn/srv/svn/repos/pdftex/trunk/source/src/libs/xpdf . ++* ++* ------------------------------------------------------------------------ ++* r86 | ms | 2007-01-31 13:01:00 +0100 (Mi, 31 Jan 2007) | 2 lines ++* ++* 1.40.2 ++* ++* ------------------------------------------------------------------------ ++* r38 | ms | 2005-08-21 14:00:00 +0200 (So, 21 Aug 2005) | 2 lines ++* ++* 1.30.1 ++* ++* ------------------------------------------------------------------------ ++* r11 | ms | 2004-09-06 14:01:00 +0200 (Mo, 06 Sep 2004) | 2 lines ++* ++* 1.20a ++* ++* ------------------------------------------------------------------------ ++* r6 | ms | 2003-10-06 14:01:00 +0200 (Mo, 06 Okt 2003) | 2 lines ++* ++* released v1.11b ++* ++* ------------------------------------------------------------------------ ++* r4 | ms | 2003-10-05 14:00:00 +0200 (So, 05 Okt 2003) | 2 lines ++* ++* Moved sources to src ++* ++* ------------------------------------------------------------------------ ++* r1 | ms | 2003-08-02 14:00:00 +0200 (Sa, 02 Aug 2003) | 1 line ++* ++* 1.11a ++* ------------------------------------------------------------------------ */ ++ + #ifndef CONFIG_H + #define CONFIG_H + +@@ -14,7 +66,7 @@ + //------------------------------------------------------------------------ + + // xpdf version +-#define xpdfVersion "3.02" ++#define xpdfVersion "3.02pl2" + #define xpdfVersionNum 3.02 + #define xpdfMajorVersion 3 + #define xpdfMinorVersion 2 |