diff options
Diffstat (limited to 'src/mbgl/text/shaping.cpp')
-rw-r--r-- | src/mbgl/text/shaping.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mbgl/text/shaping.cpp b/src/mbgl/text/shaping.cpp index d6d9a3d34e..a454fc6506 100644 --- a/src/mbgl/text/shaping.cpp +++ b/src/mbgl/text/shaping.cpp @@ -432,10 +432,18 @@ const Shaping getShaping(const TaggedString& formattedString, reorderedLines.emplace_back(line, formattedString.getSections()); } } - Shaping shaping(translate[0], translate[1], writingMode, reorderedLines.size()); + + Shaping shaping; + // Swap text-offset for vertical POI labels. + if (allowVerticalPlacement && writingMode == WritingModeType::Vertical) { + shaping = Shaping(translate[1], -translate[0], writingMode, reorderedLines.size()); + } else { + shaping = Shaping(translate[0], translate[1], writingMode, reorderedLines.size()); + } + shapeLines(shaping, reorderedLines, spacing, lineHeight, textAnchor, textJustify, writingMode, glyphs, allowVerticalPlacement); - + return shaping; } |