- if(swffont->layout->bounds[t].xmax && swffont->layout->bounds[t].xmax*2 < advance) {
- printf("fix bad advance value: bbox=%d, advance=%d (%f)\n", swffont->layout->bounds[t].xmax, advance, font->glyphs[t].advance);
- advance = swffont->layout->bounds[t].xmax;
+ int xmax = swffont->layout->bounds[t].xmax / 20;
+ if(xmax>0 && xmax*2 < advance) {
+ printf("fix bad advance value: bbox=%d, advance=%d (%f)\n", xmax, advance, font->glyphs[t].advance);
+ advance = xmax;