git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
small fixes
[swftools.git]
/
lib
/
pdf
/
GFXOutputDev.cc
diff --git
a/lib/pdf/GFXOutputDev.cc
b/lib/pdf/GFXOutputDev.cc
index
93eda13
..
9c8b9c7
100644
(file)
--- a/
lib/pdf/GFXOutputDev.cc
+++ b/
lib/pdf/GFXOutputDev.cc
@@
-1328,7
+1328,6
@@
void GFXOutputDev::beginString(GfxState *state, GString *s)
if(current_text_stroke) {
msg("<error> Error: Incompatible change of text rendering to %d while inside cliptext", render);
}
if(current_text_stroke) {
msg("<error> Error: Incompatible change of text rendering to %d while inside cliptext", render);
}
-
msg("<trace> beginString(%s) render=%d", makeStringPrintable(s->getCString()), render);
}
msg("<trace> beginString(%s) render=%d", makeStringPrintable(s->getCString()), render);
}
@@
-1363,7
+1362,7
@@
void GFXOutputDev::drawChar(GfxState *state, double x, double y,
// check for invisible text -- this is used by Acrobat Capture
if (render == RENDER_INVISIBLE) {
// check for invisible text -- this is used by Acrobat Capture
if (render == RENDER_INVISIBLE) {
- col.a = 255;
+ col.a = 0;
if(!config_extrafontdata)
return;
}
if(!config_extrafontdata)
return;
}
@@
-1377,11
+1376,12
@@
void GFXOutputDev::drawChar(GfxState *state, double x, double y,
}
Unicode u = uLen?(_u[0]):0;
}
Unicode u = uLen?(_u[0]):0;
- msg("<debug> drawChar(%f,%f,c='%c' (%d), u=%d <%d>) CID=%d render=%d glyphid=%d font=%08x",x,y,(charid&127)>=32?charid:'?', charid, u, uLen, font->isCIDFont(), render, glyphid, current_gfxfont);
gfxmatrix_t m = this->current_font_matrix;
this->transformXY(state, x-originX, y-originY, &m.tx, &m.ty);
//m.tx += originX; m.ty += originY;
gfxmatrix_t m = this->current_font_matrix;
this->transformXY(state, x-originX, y-originY, &m.tx, &m.ty);
//m.tx += originX; m.ty += originY;
+
+ msg("<debug> drawChar(%f,%f,c='%c' (%d), u=%d <%d>) CID=%d render=%d glyphid=%d font=%08x",m.tx,m.ty,(charid&127)>=32?charid:'?', charid, u, uLen, font->isCIDFont(), render, glyphid, current_gfxfont);
if(render == RENDER_FILL || render == RENDER_INVISIBLE) {
device->drawchar(device, current_gfxfont, glyphid, &col, &m);
if(render == RENDER_FILL || render == RENDER_INVISIBLE) {
device->drawchar(device, current_gfxfont, glyphid, &col, &m);
@@
-1539,6
+1539,11
@@
void GFXOutputDev::startPage(int pageNum, GfxState *state, double crop_x1, doubl
/*if(user_clipy1 > y1)*/ y1 = user_clipy1;
/*if(user_clipy2 < y2)*/ y2 = user_clipy2;
msg("<verbose> Using user clip box %f/%f/%f/%f",x1,y1,x2,y2);
/*if(user_clipy1 > y1)*/ y1 = user_clipy1;
/*if(user_clipy2 < y2)*/ y2 = user_clipy2;
msg("<verbose> Using user clip box %f/%f/%f/%f",x1,y1,x2,y2);
+ } else {
+ x1 += this->clipmovex;
+ y1 += this->clipmovey;
+ x2 += this->clipmovex;
+ y2 += this->clipmovey;
}
//msg("<verbose> Bounding box is (%f,%f)-(%f,%f) [shifted by %d/%d]", x1,y1,x2,y2, user_movex, user_movey);
}
//msg("<verbose> Bounding box is (%f,%f)-(%f,%f) [shifted by %d/%d]", x1,y1,x2,y2, user_movex, user_movey);
@@
-1627,7
+1632,8
@@
void GFXOutputDev::processLink(Link *link, Catalog *catalog)
LinkDest *dest=NULL;
if (ha->getDest()==NULL)
dest=catalog->findDest(ha->getNamedDest());
LinkDest *dest=NULL;
if (ha->getDest()==NULL)
dest=catalog->findDest(ha->getNamedDest());
- else dest=ha->getDest();
+ else
+ dest=ha->getDest()->copy();
if (dest){
if (dest->isPageRef()){
Ref pageref=dest->getPageRef();
if (dest){
if (dest->isPageRef()){
Ref pageref=dest->getPageRef();
@@
-1636,6
+1642,7
@@
void GFXOutputDev::processLink(Link *link, Catalog *catalog)
else page=dest->getPageNum();
sprintf(buf, "%d", page);
s = strdup(buf);
else page=dest->getPageNum();
sprintf(buf, "%d", page);
s = strdup(buf);
+ delete dest;
}
}
break;
}
}
break;