summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mbgl/text/glyph_set.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mbgl/text/glyph_set.cpp b/src/mbgl/text/glyph_set.cpp
index 6f4ccdcf0a..4738bf97cf 100644
--- a/src/mbgl/text/glyph_set.cpp
+++ b/src/mbgl/text/glyph_set.cpp
@@ -211,7 +211,7 @@ std::set<std::size_t> GlyphSet::determineLineBreaks(const std::u16string& logica
for (std::size_t i = 0; i < logicalInput.size(); i++) {
const char16_t codePoint = logicalInput[i];
auto it = sdfs.find(codePoint);
- if (it == sdfs.end()) {
+ if (it == sdfs.end() || codePoint == 0x0a) {
continue;
}
@@ -233,7 +233,9 @@ std::set<std::size_t> GlyphSet::determineLineBreaks(const std::u16string& logica
insideParenthesesPenalty -= 10000000;
}
- currentX += it->second.metrics.advance + spacing;
+ if (it != sdfs.end()) {
+ currentX += it->second.metrics.advance + spacing;
+ }
}
return leastBadBreaks(evaluateBreak(logicalInput.size(), currentX, targetWidth, potentialBreaks, 0, true));