summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2021-12-13 18:03:00 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-12-13 18:03:00 +0000
commit508f81fc7a725532a93d5de19b5a9f9515bf4f29 (patch)
tree916e726c24aebbfa3ec432df98d79f147ec30f0b
parent90413535d6192e01ab9a8ae450c54ba53e39da9a (diff)
parentd2980207d2e2091f2d219eb8f6f17f11409b0d44 (diff)
Merge "Fix top/bottom to adjust fallback ascent/descent."
-rw-r--r--core/java/android/text/StaticLayout.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index 6984e4dfccc4..4789231b0404 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -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,