[DO NOT MERGE] Prevent TextInterpolator from rendering nonprintable newlines
This is a smaller piece of a larger cherry-pick which is being taken ahead of the full set to resolve merge conflicts in other work. Test: Manual Bug: 229771520 Change-Id: Ibf1396c4570d891439a73dad0909ab05e6c3119a
This commit is contained in:
@@ -485,7 +485,13 @@ class TextInterpolator(
|
||||
val out = mutableListOf<List<PositionedGlyphs>>()
|
||||
for (lineNo in 0 until layout.lineCount) { // Shape all lines.
|
||||
val lineStart = layout.getLineStart(lineNo)
|
||||
val count = layout.getLineEnd(lineNo) - lineStart
|
||||
var count = layout.getLineEnd(lineNo) - lineStart
|
||||
// Do not render the last character in the line if it's a newline and unprintable
|
||||
val last = lineStart + count - 1
|
||||
if (last > lineStart && last < layout.text.length && layout.text[last] == '\n') {
|
||||
count--
|
||||
}
|
||||
|
||||
val runs = mutableListOf<PositionedGlyphs>()
|
||||
TextShaper.shapeText(layout.text, lineStart, count, layout.textDirectionHeuristic,
|
||||
paint) { _, _, glyphs, _ ->
|
||||
|
||||
Reference in New Issue
Block a user