diff options
Diffstat (limited to 'graphics/inkscape/inkscape-0.46-poppler-0.8.3.patch')
-rw-r--r-- | graphics/inkscape/inkscape-0.46-poppler-0.8.3.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/graphics/inkscape/inkscape-0.46-poppler-0.8.3.patch b/graphics/inkscape/inkscape-0.46-poppler-0.8.3.patch new file mode 100644 index 0000000000..10fede41cf --- /dev/null +++ b/graphics/inkscape/inkscape-0.46-poppler-0.8.3.patch @@ -0,0 +1,43 @@ +diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp +--- inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:26:20.000000000 +0200 ++++ inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:51:47.000000000 +0200 +@@ -2194,11 +2194,11 @@ + void PdfParser::doShowText(GooString *s) { + GfxFont *font; + int wMode; + double riseX, riseY; + CharCode code; +- Unicode u[8]; ++ Unicode *u = NULL; + double x, y, dx, dy, dx2, dy2, curX, curY, tdx, tdy, lineX, lineY; + double originX, originY, tOriginX, tOriginY; + double oldCTM[6], newCTM[6]; + double *mat; + Object charProc; +@@ -2242,11 +2242,11 @@ + oldParser = parser; + p = s->getCString(); + len = s->getLength(); + while (len > 0) { + n = font->getNextChar(p, len, &code, +- u, (int)(sizeof(u) / sizeof(Unicode)), &uLen, ++ &u, &uLen, + &dx, &dy, &originX, &originY); + dx = dx * state->getFontSize() + state->getCharSpace(); + if (n == 1 && *p == ' ') { + dx += state->getWordSpace(); + } +@@ -2291,11 +2291,11 @@ + state->textTransformDelta(0, state->getRise(), &riseX, &riseY); + p = s->getCString(); + len = s->getLength(); + while (len > 0) { + n = font->getNextChar(p, len, &code, +- u, (int)(sizeof(u) / sizeof(Unicode)), &uLen, ++ &u, &uLen, + &dx, &dy, &originX, &originY); + + if (wMode) { + dx *= state->getFontSize(); + dy = dy * state->getFontSize() + state->getCharSpace(); + |