Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40274ada authored by Alan Lau's avatar Alan Lau Committed by Android Git Automerger
Browse files

am b12318be: Merge "Revert "Revert "DO NOT MERGE Fix line breaking for...

am b12318be: Merge "Revert "Revert "DO NOT MERGE Fix line breaking for clusters in narrow views""" into klp-modular-dev

* commit 'b12318be':
  Revert "Revert "DO NOT MERGE Fix line breaking for clusters in narrow views""
parents 839ca0d5 b12318be
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -380,7 +380,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;
@@ -392,6 +392,7 @@ public class StaticLayout extends Layout {
                            top = okTop;
                            bottom = okBottom;
                            currentTextWidth = okWidth;
                            moreChars = (j + 1 < spanEnd);
                        } else if (fit != here) {
                            endPos = fit;
                            above = fitAscent;
@@ -399,13 +400,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,