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

Commit d2980207 authored by Seigo Nonaka's avatar Seigo Nonaka
Browse files

Fix top/bottom to adjust fallback ascent/descent.

The fallback ascent/descent can be larger than default font top/bottom
height. Not to clip the bottom of the view, adjust the top/bottom with
fallback ascent/descent.

Bug: 210163467
Test: atest StaticLayoutFallbackLineSpacingTest
Change-Id: Ifbf64f6d281d3324a926a6f0b45941824d499179
parent 5bb7a510
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -874,6 +874,18 @@ public class StaticLayout extends Layout {
                            ? Math.max(fmDescent, Math.round(descents[breakIndex]))
                            : fmDescent;

                    // The fallback ascent/descent may be larger than top/bottom of the default font
                    // metrics. Adjust top/bottom with ascent/descent for avoiding unexpected
                    // clipping.
                    if (fallbackLineSpacing) {
                        if (ascent < fmTop) {
                            fmTop = ascent;
                        }
                        if (descent > fmBottom) {
                            fmBottom = descent;
                        }
                    }

                    v = out(source, here, endPos,
                            ascent, descent, fmTop, fmBottom,
                            v, spacingmult, spacingadd, chooseHt, chooseHtv, fm,