Skip to content
Snippets Groups Projects
Commit 3a9cf216 authored by sapier's avatar sapier
Browse files

Fix newline not handled to to interpreting it as invisible char

parent 1c7cc266
No related branches found
No related tags found
No related merge requests found
......@@ -568,32 +568,32 @@ void CGUITTFont::draw(const core::stringw& text, const core::rect<s32>& position
uchar32_t currentChar = *iter;
n = getGlyphIndexByChar(currentChar);
bool visible = (Invisible.findFirst(currentChar) == -1);
if (n > 0 && visible)
bool lineBreak=false;
if (currentChar == L'\r') // Mac or Windows breaks
{
bool lineBreak=false;
if (currentChar == L'\r') // Mac or Windows breaks
{
lineBreak = true;
if (*(iter + 1) == (uchar32_t)'\n') // Windows line breaks.
currentChar = *(++iter);
}
else if (currentChar == (uchar32_t)'\n') // Unix breaks
{
lineBreak = true;
}
lineBreak = true;
if (*(iter + 1) == (uchar32_t)'\n') // Windows line breaks.
currentChar = *(++iter);
}
else if (currentChar == (uchar32_t)'\n') // Unix breaks
{
lineBreak = true;
}
if (lineBreak)
{
previousChar = 0;
offset.Y += font_metrics.ascender / 64;
offset.X = position.UpperLeftCorner.X;
if (lineBreak)
{
previousChar = 0;
offset.Y += font_metrics.ascender / 64;
offset.X = position.UpperLeftCorner.X;
if (hcenter)
offset.X += (position.getWidth() - textDimension.Width) >> 1;
++iter;
continue;
}
if (hcenter)
offset.X += (position.getWidth() - textDimension.Width) >> 1;
++iter;
continue;
}
if (n > 0 && visible)
{
// Calculate the glyph offset.
s32 offx = Glyphs[n-1].offset.X;
s32 offy = (font_metrics.ascender / 64) - Glyphs[n-1].offset.Y;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment