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) {
}
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_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);
}