Fixed: The height of a CViewText was wrong in some cases because "|" is not the tallest character of the current font (ryzom.ttf)
This commit is contained in:
parent
99f5dd2443
commit
0df947d7f9
1 changed files with 12 additions and 3 deletions
|
@ -2718,9 +2718,18 @@ namespace NLGUI
|
||||||
TextContext->setOblique (_Oblique);
|
TextContext->setOblique (_Oblique);
|
||||||
|
|
||||||
// Letter size
|
// Letter size
|
||||||
UTextContext::CStringInfo si = TextContext->getStringInfo(ucstring("|")); // for now we can't now that directly from UTextContext
|
ucstring chars;
|
||||||
_FontHeight = (uint) si.StringHeight; // + (_Shadow?(_ShadowOutline?2:1):0);
|
// instead of using the height of "|" that depends on font,
|
||||||
_FontLegHeight = (uint) si.StringLine; // + (_Shadow?(_ShadowOutline?2:1):0);
|
// we're using 2 characters:
|
||||||
|
// - "_" that should be the character with the lowest part
|
||||||
|
// - A with an accent for the highest part
|
||||||
|
chars.fromUtf8("_\xc3\x84");
|
||||||
|
|
||||||
|
// for now we can't know that directly from UTextContext
|
||||||
|
UTextContext::CStringInfo si = TextContext->getStringInfo(chars);
|
||||||
|
// add a padding of 1 pixel else the top will be truncated
|
||||||
|
_FontHeight = (uint) si.StringHeight+1;
|
||||||
|
_FontLegHeight = (uint) si.StringLine;
|
||||||
|
|
||||||
// Space width
|
// Space width
|
||||||
si = TextContext->getStringInfo(ucstring(" "));
|
si = TextContext->getStringInfo(ucstring(" "));
|
||||||
|
|
Loading…
Reference in a new issue