summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2019-07-09 14:10:54 +0300
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2019-08-13 13:32:56 +0300
commit44c92b837a45b476cda062b5a19d3fbbfa669395 (patch)
treec8adc3c30f693f9d766d7e64cfff6b358e34d254
parentbe974ea65ca48b7f49ef00148193fb30861938d3 (diff)
downloadqtlocation-mapboxgl-44c92b837a45b476cda062b5a19d3fbbfa669395.tar.gz
[core] Break lines for vertical writing mode
-rw-r--r--src/mbgl/text/shaping.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/mbgl/text/shaping.cpp b/src/mbgl/text/shaping.cpp
index 132f74661e..3ed35fc725 100644
--- a/src/mbgl/text/shaping.cpp
+++ b/src/mbgl/text/shaping.cpp
@@ -238,9 +238,8 @@ std::set<std::size_t> leastBadBreaks(const PotentialBreak& lastLineBreak) {
std::set<std::size_t> determineLineBreaks(const TaggedString& logicalInput,
const float spacing,
float maxWidth,
- const WritingModeType writingMode,
const GlyphMap& glyphMap) {
- if (!maxWidth || writingMode != WritingModeType::Horizontal) {
+ if (!maxWidth) {
return {};
}
@@ -382,13 +381,13 @@ const Shaping getShaping(const TaggedString& formattedString,
std::vector<TaggedString> reorderedLines;
if (formattedString.sectionCount() == 1) {
auto untaggedLines = bidi.processText(formattedString.rawText(),
- determineLineBreaks(formattedString, spacing, maxWidth, writingMode, glyphs));
+ determineLineBreaks(formattedString, spacing, maxWidth, glyphs));
for (const auto& line : untaggedLines) {
reorderedLines.emplace_back(line, formattedString.sectionAt(0));
}
} else {
auto processedLines = bidi.processStyledText(formattedString.getStyledText(),
- determineLineBreaks(formattedString, spacing, maxWidth, writingMode, glyphs));
+ determineLineBreaks(formattedString, spacing, maxWidth, glyphs));
for (const auto& line : processedLines) {
reorderedLines.emplace_back(line, formattedString.getSections());
}