am a28e4764: DO NOT MERGE Fix line breaking for clusters in narrow views

* commit 'a28e4764994283c3595dd41f12e425cf7dc0d985':
  DO NOT MERGE Fix line breaking for clusters in narrow views
This commit is contained in:
Anish Athalye
2014-07-28 19:10:19 +00:00
committed by Android Git Automerger

View File

@ -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;
@ -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;
@ -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,