diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java index 699e406bf19..cbe2c2e49b5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java @@ -42,10 +42,8 @@ public class CustomLetterSpacingSpan extends MetricAffectingSpan { } private void apply(TextPaint paint) { - // mLetterSpacing and paint.getTextSize() are both in pixels, - // yielding an accurate em value. if (!Float.isNaN(mLetterSpacing)) { - paint.setLetterSpacing(mLetterSpacing / paint.getTextSize()); + paint.setLetterSpacing(mLetterSpacing); } } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java index 4778d454093..d0fdbc76769 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java @@ -121,9 +121,13 @@ public class TextAttributes { return Float.NaN; } - return mAllowFontScaling + float letterSpacingPixels = mAllowFontScaling ? PixelUtil.toPixelFromSP(mLetterSpacing) : PixelUtil.toPixelFromDIP(mLetterSpacing); + + // `letterSpacingPixels` and `getEffectiveFontSize` are both in pixels, + // yielding an accurate em value. + return letterSpacingPixels / getEffectiveFontSize(); } public String toString() { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index 1e20f0616b9..df3476801fb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -667,7 +667,7 @@ public class ReactEditText extends EditText { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { float effectiveLetterSpacing = mTextAttributes.getEffectiveLetterSpacing(); if (!Float.isNaN(effectiveLetterSpacing)) { - setLetterSpacing(effectiveLetterSpacing / getTextSize()); + setLetterSpacing(effectiveLetterSpacing); } } }