diff options
-rw-r--r-- | src/news_gui.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 0bfb21b4c..bf9d13daf 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -620,15 +620,21 @@ static void DrawNewsString(int x, int y, uint16 color, const NewsItem *ni, uint * from it such as big fonts, etc. */ ptr = buffer; dest = buffer2; + WChar c_last = '\0'; for (;;) { WChar c = Utf8Consume(&ptr); if (c == 0) break; - if (c == '\r') { + /* Make a space from a newline, but ignore multiple newlines */ + if (c == '\n' && c_last != '\n') { + dest[0] = ' '; + dest++; + } else if (c == '\r') { dest[0] = dest[1] = dest[2] = dest[3] = ' '; dest += 4; } else if (IsPrintable(c)) { dest += Utf8Encode(dest, c); } + c_last = c; } *dest = '\0'; |