git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
re-added external font support
[swftools.git]
/
lib
/
pdf
/
GFXOutputDev.cc
diff --git
a/lib/pdf/GFXOutputDev.cc
b/lib/pdf/GFXOutputDev.cc
index
2537503
..
408e010
100644
(file)
--- a/
lib/pdf/GFXOutputDev.cc
+++ b/
lib/pdf/GFXOutputDev.cc
@@
-336,7
+336,7
@@
DisplayFontParam *GFXGlobalParams::getDisplayFont(GString *fontName)
int bestlen = 0x7fffffff;
const char*bestfilename = 0;
int bestlen = 0x7fffffff;
const char*bestfilename = 0;
- fontfile_t*f = 0;
+ fontfile_t*f = global_fonts;
while(f) {
if(strstr(f->filename, name)) {
if(f->len < bestlen) {
while(f) {
if(strstr(f->filename, name)) {
if(f->len < bestlen) {
@@
-2402,10
+2402,14
@@
void GFXOutputDev::paintTransparencyGroup(GfxState *state, double *bbox)
}
gfxresult_t*grouprecording = states[statepos].grouprecording;
}
gfxresult_t*grouprecording = states[statepos].grouprecording;
-
- if(state->getBlendMode() == gfxBlendNormal) {
+
+ int blendmode = state->getBlendMode();
+ if(blendmode == gfxBlendNormal || blendmode == gfxBlendMultiply) {
+ int alpha = state->getFillOpacity()*255;
+ if(blendmode == gfxBlendMultiply && alpha>200)
+ alpha = 128;
gfxdevice_t ops;
gfxdevice_t ops;
- gfxdevice_ops_init(&ops, this->device, (unsigned char)(state->getFillOpacity()*255));
+ gfxdevice_ops_init(&ops, this->device, alpha);
gfxresult_record_replay(grouprecording, &ops);
ops.finish(&ops);
}
gfxresult_record_replay(grouprecording, &ops);
ops.finish(&ops);
}