X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2Fxpdf-changes.patch;h=8ecde89a7eb0ffa34614edd337b3e9419c06a5c2;hb=d4e0ae0071722b1cc50bfc41fe64066783aa24a5;hp=d2459d52728553d2cb5f625568e42d2e6c0fb1f6;hpb=39256331a887c5d462253ab1aea538ee2e4fd4ba;p=swftools.git diff --git a/lib/pdf/xpdf-changes.patch b/lib/pdf/xpdf-changes.patch index d2459d5..8ecde89 100644 --- a/lib/pdf/xpdf-changes.patch +++ b/lib/pdf/xpdf-changes.patch @@ -172,16 +172,26 @@ diff -u -r1.4 -r1.7 line = 1; while (getLine(buf, sizeof(buf) - 1, f)) { -@@ -659,6 +682,32 @@ - } +@@ -1142,6 +1165,42 @@ + deleteGList(tokens, GString); } ++static char is_absolute(char*filename) ++{ ++ int l = strlen(filename); ++ if(filename[0] == '/' || filename[0] == '\\') ++ return 1; ++ if(l>2 && filename[1]==':' && (filename[2]=='\\' || filename[2]=='/')) ++ return 1; ++ return 0; ++} ++ +static GString* qualify_filename(GString*path, GString*filename) +{ + GString*fullpath = 0; + char*prefix = "/usr/local/share/xpdf/"; + -+ if (filename->getChar(0) != '\\' && filename->getChar(0) != '/') { ++ if (!is_absolute(filename->getCString())) { + /* relative path */ + fullpath = path->copy(); + fullpath->append(filename); @@ -205,15 +215,20 @@ diff -u -r1.4 -r1.7 void GlobalParams::parseNameToUnicode(GList *tokens, GString *fileName, int line) { GString *name; -@@ -673,7 +722,7 @@ +@@ -1156,10 +1215,10 @@ fileName->getCString(), line); return; } - name = (GString *)tokens->get(1); + name = qualify_filename(this->path, (GString *)tokens->get(1)); if (!(f = fopen(name->getCString(), "r"))) { - error(-1, "Couldn't open 'nameToUnicode' file '%s'", - name->getCString()); +- error(-1, "Couldn't open 'nameToUnicode' file '%s'", +- name->getCString()); ++ error(-1, "Couldn't open 'nameToUnicode' file '%s' using path '%s'", ++ name->getCString(), path->getCString()); + return; + } + line2 = 1; @@ -705,10 +754,12 @@ } collection = (GString *)tokens->get(1); @@ -821,3 +836,22 @@ diff -u -r1.5 -r1.6 void setBaseDir(char *dir); void setupBaseFonts(char *dir); +--- xpdf/SplashOutputDev.h.orig 2007-10-21 17:43:29.000000000 +0200 ++++ xpdf/SplashOutputDev.h 2007-11-19 10:07:27.000000000 +0100 +@@ -197,6 +197,8 @@ + #endif + + void doUpdateFont(GfxState *state); ++ ++ SplashPath *convertPath(GfxState *state, GfxPath *path); + private: + + void setupScreenParams(double hDPI, double vDPI); +@@ -205,7 +207,6 @@ + #else + SplashPattern *getColor(GfxGray gray, GfxRGB *rgb); + #endif +- SplashPath *convertPath(GfxState *state, GfxPath *path); + void drawType3Glyph(T3FontCache *t3Font, + T3FontCacheTag *tag, Guchar *data); + static GBool imageMaskSrc(void *data, SplashColorPtr line);