summaryrefslogtreecommitdiff
path: root/graphics/inkscape/patches/patch-ak
blob: 97102a2ce95c84f16caadfa7d188bb2926098d18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$NetBSD: patch-ak,v 1.1 2009/06/04 00:05:19 reed Exp $

from https://bugs.launchpad.net/inkscape/+bug/237574

diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp
--- src/extension/internal/pdfinput/pdf-parser.cpp	2008-06-05 00:26:20.000000000 +0200
+++ 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();