Browse Source

Correctly handle ZWSP in WordWrapString

pull/3463/head
Gleb Mazovetskiy 4 years ago
parent
commit
e3dc241c2f
  1. 14
      Source/engine/render/text_render.cpp

14
Source/engine/render/text_render.cpp

@ -288,13 +288,15 @@ std::string WordWrapString(string_view text, size_t width, GameFontTables size,
continue;
}
uint8_t frame = codepoint & 0xFF;
uint32_t unicodeRow = codepoint >> 8;
if (unicodeRow != currentUnicodeRow || kerning == nullptr) {
kerning = LoadFontKerning(size, unicodeRow);
currentUnicodeRow = unicodeRow;
if (codepoint != ZWSP) {
uint8_t frame = codepoint & 0xFF;
uint32_t unicodeRow = codepoint >> 8;
if (unicodeRow != currentUnicodeRow || kerning == nullptr) {
kerning = LoadFontKerning(size, unicodeRow);
currentUnicodeRow = unicodeRow;
}
lineWidth += (*kerning)[frame] + spacing;
}
lineWidth += (*kerning)[frame] + spacing;
const bool isWhitespace = IsWhitespace(codepoint);
if (isWhitespace || IsBreakAllowed(codepoint, nextCodepoint)) {

Loading…
Cancel
Save