Skip to content

Commit 3d89e31

Browse files
committed
Added ability to set default font features on android
1 parent 6911908 commit 3d89e31

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,15 @@ private static void apply(
7979
@Nullable String family,
8080
Context context) {
8181
Typeface typeface = ReactTypefaceUtils.applyStyles(paint.getTypeface(), style, weight, family, context);
82-
paint.setFontFeatureSettings(fontFeatureSettings);
82+
String ffs = ReactTypefaceUtils.defaultFontFeatures;
83+
if (fontFeatureSettings != null && fontFeatureSettings.trim().length() > 0) {
84+
if (ffs != null && ffs.trim().length() > 0) {
85+
ffs += ", " + fontFeatureSettings;
86+
} else {
87+
ffs = fontFeatureSettings;
88+
}
89+
}
90+
paint.setFontFeatureSettings(ffs);
8391
paint.setTypeface(typeface);
8492
paint.setSubpixelText(true);
8593
}

ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
public class ReactTypefaceUtils {
2222

2323
public static Typeface defaultTypeface = Typeface.DEFAULT;
24+
public static @Nullable String defaultFontFeatures = null;
2425

2526
public static int parseFontWeight(@Nullable String fontWeightString) {
2627
if (fontWeightString != null) {

ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,8 @@ public void setFontStyle(String fontStyleString) {
477477
}
478478

479479
public void maybeUpdateTypeface() {
480+
getPaint().setFontFeatureSettings(ReactTypefaceUtils.defaultFontFeatures);
481+
480482
if (!mTypefaceDirty) {
481483
return;
482484
}

0 commit comments

Comments
 (0)