X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2Fxpdf-changes.patch;h=83adec36612a025fba5f53d7d0f4dc8dd5f62a5a;hb=bf04757cd94e94c1f67fa3d2a4e3e59fa5bce0c0;hp=ff6180661c2d15c5e79ab95e480930463a3445b7;hpb=8d43594b2a28585e904dbd8414ae3ce278ee3833;p=swftools.git diff --git a/lib/pdf/xpdf-changes.patch b/lib/pdf/xpdf-changes.patch index ff61806..83adec3 100644 --- a/lib/pdf/xpdf-changes.patch +++ b/lib/pdf/xpdf-changes.patch @@ -774,8 +774,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 +817,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 +835,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 @@ @@ -958,3 +976,19 @@ diff -u -r1.5 -r1.6 return gFalse; } *name = new GString(s); +--- xpdf/Gfx.cc.orig 2009-03-08 17:10:40.000000000 +0100 ++++ xpdf/Gfx.cc 2009-03-08 17:18:23.000000000 +0100 +@@ -3188,8 +3188,11 @@ + u, (int)(sizeof(u) / sizeof(Unicode)), &uLen, + &dx, &dy, &originX, &originY); + dx = dx * state->getFontSize() + state->getCharSpace(); +- if (n == 1 && *p == ' ') { +- dx += state->getWordSpace(); ++ if (n == 1 && (*p == ' ' || *p == 0)) { ++ double w=state->getWordSpace(); ++ if (w==0 && dx==0) ++ w=state->getFontSize()/3; // workaround for zero word space ++ dx += w; + } + dx *= state->getHorizScaling(); + dy *= state->getFontSize();