X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fpdf%2Fxpdf-changes.patch;h=9068a678de3521a37759999ffb272d97662958c2;hp=4d17eec473387ddaf16c639a99e1afd608e6b0ae;hb=2391d7ae5d8a145a250a8b80ab8c93ba74eba030;hpb=992624ff48d34f3daf0861384ce020734901eb16 diff --git a/lib/pdf/xpdf-changes.patch b/lib/pdf/xpdf-changes.patch index 4d17eec..9068a67 100644 --- a/lib/pdf/xpdf-changes.patch +++ b/lib/pdf/xpdf-changes.patch @@ -468,30 +468,6 @@ diff -u -r1.7 -r1.8 #endif #include #include -Index: config.h ---- config.h 2007-09-09 12:11:20.000000000 +0200 -+++ config.h 2007-09-09 12:11:40.000000000 +0200 -@@ -53,9 +53,9 @@ - - // user config file name, relative to the user's home directory - #if defined(VMS) || (defined(WIN32) && !defined(__CYGWIN32__)) --#define xpdfUserConfigFile "xpdfrc" -+#define xpdfUserConfigFile "pdf2swf.conf" - #else --#define xpdfUserConfigFile ".xpdfrc" -+#define xpdfUserConfigFile ".pdf2swf.conf" - #endif - - // system config file name (set via the configure script) -@@ -64,7 +64,7 @@ - #else - // under Windows, we get the directory with the executable and then - // append this file name --#define xpdfSysConfigFile "xpdfrc" -+#define xpdfSysConfigFile "pdf2swf.conf" - #endif - - //------------------------------------------------------------------------ Index: gfile.h =================================================================== RCS file: /home/kramm/cvs/swftools.cache.cvsroot/swftools.cache/pdf2swf/xpdf/gfile.h,v @@ -565,17 +541,6 @@ diff -u -r1.5 -r1.6 int w, h; double *ctm; SplashCoord mat[6]; ---- TextOutputDev.h 2006-11-12 12:23:01.000000000 +0100 -+++ TextOutputDev.h 2006-11-12 12:25:31.000000000 +0100 -@@ -578,7 +578,7 @@ - //----- initialization and control - - // Start a page. -- virtual void startPage(int pageNum, GfxState *state); -+ virtual void startPage(int pageNum, GfxState *state, double x1,double y1,double x2,double y2); - - // End a page. - virtual void endPage(); --- TextOutputDev.cc 2006-11-12 12:22:53.000000000 +0100 +++ TextOutputDev.cc 2006-11-12 12:25:03.000000000 +0100 @@ -3805,7 +3805,7 @@ @@ -774,8 +739,8 @@ diff -u -r1.5 -r1.6 } void SplashFont::initCache() { ---- xpdf/SplashFTFont.cc.orig 2008-09-09 21:31:01.000000000 +0200 -+++ xpdf/SplashFTFont.cc 2008-10-05 17:37:32.000000000 +0200 +--- xpdf/SplashFTFont.cc.orig 2009-03-08 17:19:08.000000000 +0100 ++++ xpdf/SplashFTFont.cc 2009-03-15 19:18:11.000000000 +0100 @@ -46,6 +46,7 @@ int x, y; @@ -817,7 +782,16 @@ diff -u -r1.5 -r1.6 ff = (SplashFTFontFile *)fontFile; ff->face->size = sizeObj; FT_Set_Transform(ff->face, &textMatrix, NULL); -@@ -268,6 +281,8 @@ +@@ -262,17 +275,24 @@ + // skip the TrueType notdef glyph + return NULL; + } +- if (FT_Load_Glyph(ff->face, gid, FT_LOAD_NO_BITMAP)) { ++ int error = 0; ++ if ((error=FT_Load_Glyph(ff->face, gid, FT_LOAD_NO_BITMAP|FT_LOAD_NO_HINTING))) { ++ fprintf(stderr, "Truetype wasn't able to load glyph %d, error %d\n", gid, error); + return NULL; + } if (FT_Get_Glyph(slot, &glyph)) { return NULL; } @@ -826,6 +800,15 @@ diff -u -r1.5 -r1.6 path.path = new SplashPath(); path.textScale = textScale; path.needClose = gFalse; +- FT_Outline_Decompose(&((FT_OutlineGlyph)glyph)->outline, ++ error = FT_Outline_Decompose(&((FT_OutlineGlyph)glyph)->outline, + &outlineFuncs, &path); ++ if(error) { ++ fprintf(stderr, "Truetype wasn't able to read glyph %d, error %d\n", gid, error); ++ } + if (path.needClose) { + path.path->close(); + } --- xpdf/SplashFTFont.h.orig 2008-09-09 21:31:01.000000000 +0200 +++ xpdf/SplashFTFont.h 2008-10-04 17:39:57.000000000 +0200 @@ -42,6 +42,9 @@ @@ -887,7 +870,7 @@ diff -u -r1.5 -r1.6 + // used to be mktemp. This does remove the warnings, but + // It's not exactly an improvement. +#ifdef HAVE_LRAND48 -+ sprintf(ptr, "%s%s%08x%08x",dir,sep,lrand48(),lrand48()); ++ sprintf(ptr, "%s%s%08x%08x",dir,sep,(unsigned int)lrand48(),(unsigned int)lrand48()); +#else +# ifdef HAVE_RAND + sprintf(ptr, "%s%s%08x%08x",dir,sep,rand(),rand()); @@ -974,3 +957,40 @@ diff -u -r1.5 -r1.6 } dx *= state->getHorizScaling(); dy *= state->getFontSize(); +@@ -3824,6 +3833,7 @@ + out->beginTransparencyGroup(state, bbox, blendingColorSpace, + isolated, knockout, softMask); + } ++ GfxState*old_state = state; + + // set new base matrix + for (i = 0; i < 6; ++i) { +@@ -3835,6 +3845,9 @@ + display(str, gFalse); + + if (softMask || transpGroup) { ++ // restore graphics state ++ while(state != old_state) ++ restoreState(); + out->endTransparencyGroup(state); + } + +--- TextOutputDev.h.orig 2009-10-07 17:00:29.000000000 -0700 ++++ TextOutputDev.h 2009-10-07 17:01:50.000000000 -0700 +@@ -170,6 +170,7 @@ + friend class TextFlow; + friend class TextWordList; + friend class TextPage; ++ friend class XMLOutputDev; + }; + + //------------------------------------------------------------------------ +@@ -578,7 +579,7 @@ + //----- initialization and control + + // Start a page. +- virtual void startPage(int pageNum, GfxState *state); ++ virtual void startPage(int pageNum, GfxState *state, double x1,double y1,double x2,double y2); + + // End a page. + virtual void endPage();