Uwe Klatt
2006-12-29 13:24:08 UTC
Hello,
====================== font_truetype2.c ===============
/*
* Offset the starting point if necessary,
* FreeType always aligns at baseline
*/
if (flags & MWTF_BOTTOM) {
pos.y = (abs(size->metrics.descender) + 63) & ~63;
/* descent */
} else if (flags & MWTF_TOP) {
pos.y = (size->metrics.ascender + 63) & ~63;
/* -ascent */
} else {
pos.y = 0;
}
Bye
Uwe
I debugged the problem and found out that in engine/font_freetype2.c
in function freetype2_drawtext there is a bug in code that counts
value for pos.y. It doesn't count the baseline in pos.y thus the text
is baseline amount too high. If I add the baseline value to the pos.y
I use the following code (not in 0.91 but allready in cvs):in function freetype2_drawtext there is a bug in code that counts
value for pos.y. It doesn't count the baseline in pos.y thus the text
is baseline amount too high. If I add the baseline value to the pos.y
====================== font_truetype2.c ===============
/*
* Offset the starting point if necessary,
* FreeType always aligns at baseline
*/
if (flags & MWTF_BOTTOM) {
pos.y = (abs(size->metrics.descender) + 63) & ~63;
/* descent */
} else if (flags & MWTF_TOP) {
pos.y = (size->metrics.ascender + 63) & ~63;
/* -ascent */
} else {
pos.y = 0;
}
Bye
Uwe