!last_char_was_space) {
double expected_x = last_char_x + current_gfxfont->glyphs[last_char].advance*m.m00;
int space = this->current_fontinfo->space_char;
- if(m.tx - expected_x >= m.m00*64) {
- msg("<debug> There's a %f (%f) pixel gap between char %d and char %d, I'm inserting a space here",
+ float width = this->current_fontinfo->average_advance;
+ if(m.tx - expected_x >= m.m00*width*4/10) {
+ msg("<debug> There's a %f pixel gap between char %d and char %d (expected no more than %f), I'm inserting a space here",
m.tx-expected_x,
- (m.tx-expected_x)/m.m00,
+ width*m.m00*4/10,
last_char, glyphid);
gfxmatrix_t m2 = m;
m2.tx = expected_x + (m.tx - expected_x - current_gfxfont->glyphs[space].advance*m.m00)/2;