Loading core/java/android/text/StaticLayout.java +14 −5 Original line number Diff line number Diff line Loading @@ -379,7 +379,7 @@ public class StaticLayout extends Layout { okBottom = fitBottom; } } else { final boolean moreChars = (j + 1 < spanEnd); final boolean moreChars; int endPos; int above, below, top, bottom; float currentTextWidth; Loading @@ -391,6 +391,7 @@ public class StaticLayout extends Layout { top = okTop; bottom = okBottom; currentTextWidth = okWidth; moreChars = (j + 1 < spanEnd); } else if (fit != here) { endPos = fit; above = fitAscent; Loading @@ -398,13 +399,21 @@ public class StaticLayout extends Layout { top = fitTop; bottom = fitBottom; currentTextWidth = fitWidth; moreChars = (j + 1 < spanEnd); } else { // must make progress, so take next character endPos = here + 1; above = fm.ascent; below = fm.descent; top = fm.top; bottom = fm.bottom; // but to deal properly with clusters // take all zero width characters following that while (endPos < spanEnd && widths[endPos - paraStart] == 0) { endPos++; } above = fmAscent; below = fmDescent; top = fmTop; bottom = fmBottom; currentTextWidth = widths[here - paraStart]; moreChars = (endPos < spanEnd); } v = out(source, here, endPos, Loading Loading
core/java/android/text/StaticLayout.java +14 −5 Original line number Diff line number Diff line Loading @@ -379,7 +379,7 @@ public class StaticLayout extends Layout { okBottom = fitBottom; } } else { final boolean moreChars = (j + 1 < spanEnd); final boolean moreChars; int endPos; int above, below, top, bottom; float currentTextWidth; Loading @@ -391,6 +391,7 @@ public class StaticLayout extends Layout { top = okTop; bottom = okBottom; currentTextWidth = okWidth; moreChars = (j + 1 < spanEnd); } else if (fit != here) { endPos = fit; above = fitAscent; Loading @@ -398,13 +399,21 @@ public class StaticLayout extends Layout { top = fitTop; bottom = fitBottom; currentTextWidth = fitWidth; moreChars = (j + 1 < spanEnd); } else { // must make progress, so take next character endPos = here + 1; above = fm.ascent; below = fm.descent; top = fm.top; bottom = fm.bottom; // but to deal properly with clusters // take all zero width characters following that while (endPos < spanEnd && widths[endPos - paraStart] == 0) { endPos++; } above = fmAscent; below = fmDescent; top = fmTop; bottom = fmBottom; currentTextWidth = widths[here - paraStart]; moreChars = (endPos < spanEnd); } v = out(source, here, endPos, Loading