Commit bae6d23c authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

gdi32: FreeType's idea of metrics has changed for bitmap fonts.

parent ea501964
...@@ -928,7 +928,7 @@ static void DumpFontList(void) ...@@ -928,7 +928,7 @@ static void DumpFontList(void)
face = LIST_ENTRY(face_elem_ptr, Face, entry); face = LIST_ENTRY(face_elem_ptr, Face, entry);
TRACE("\t%s\t%08lx", debugstr_w(face->StyleName), face->fs.fsCsb[0]); TRACE("\t%s\t%08lx", debugstr_w(face->StyleName), face->fs.fsCsb[0]);
if(!face->scalable) if(!face->scalable)
TRACE(" %ld", face->size.y_ppem >> 6); TRACE(" %d", face->size.height);
TRACE("\n"); TRACE("\n");
} }
} }
...@@ -2440,12 +2440,12 @@ found: ...@@ -2440,12 +2440,12 @@ found:
if(face->scalable) if(face->scalable)
break; break;
if(height > 0) if(height > 0)
newdiff = height - (signed int)(face->size.y_ppem >> 6); newdiff = height - (signed int)(face->size.height);
else else
newdiff = -height - ((signed int)(face->size.y_ppem >> 6) - face->size.internal_leading); newdiff = -height - ((signed int)(face->size.height) - face->size.internal_leading);
if(!best || (diff > 0 && newdiff < diff && newdiff >= 0) || if(!best || (diff > 0 && newdiff < diff && newdiff >= 0) ||
(diff < 0 && newdiff > diff)) { (diff < 0 && newdiff > diff)) {
TRACE("%ld is better for %d diff was %d\n", face->size.y_ppem >> 6, height, diff); TRACE("%d is better for %d diff was %d\n", face->size.height, height, diff);
diff = newdiff; diff = newdiff;
best = face; best = face;
if(diff == 0) if(diff == 0)
...@@ -2464,12 +2464,12 @@ found: ...@@ -2464,12 +2464,12 @@ found:
if(face->scalable) if(face->scalable)
break; break;
if(height > 0) if(height > 0)
newdiff = height - (signed int)(face->size.y_ppem >> 6); newdiff = height - (signed int)(face->size.height);
else else
newdiff = -height - ((signed int)(face->size.y_ppem >> 6) - face->size.internal_leading); newdiff = -height - ((signed int)(face->size.height) - face->size.internal_leading);
if(!best || (diff > 0 && newdiff < diff && newdiff >= 0) || if(!best || (diff > 0 && newdiff < diff && newdiff >= 0) ||
(diff < 0 && newdiff > diff)) { (diff < 0 && newdiff > diff)) {
TRACE("%ld is better for %d diff was %d\n", face->size.y_ppem >> 6, height, diff); TRACE("%d is better for %d diff was %d\n", face->size.height, height, diff);
diff = newdiff; diff = newdiff;
best = face; best = face;
if(diff == 0) if(diff == 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment