Skip to content

Commit 97bde1f

Browse files
Log unrecognized font family on Android
1 parent cd2de18 commit 97bde1f

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

  • packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/assets

‎packages/react-native/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ import android.content.Context
1111
import android.content.res.AssetManager
1212
import android.graphics.Typeface
1313
import android.os.Build
14+
import android.util.Log
1415
import android.util.SparseArray
1516
import androidx.core.content.res.ResourcesCompat
1617
import com.facebook.react.common.ReactConstants
18+
import com.facebook.react.common.build.ReactBuildConfig
1719

1820
/**
1921
* Responsible for loading and caching Typeface objects.
@@ -162,6 +164,8 @@ public class ReactFontManager {
162164
private val EXTENSIONS = arrayOf("", "_bold", "_italic", "_bold_italic")
163165
private val FILE_EXTENSIONS = arrayOf(".ttf", ".otf")
164166
private const val FONTS_ASSET_PATH = "fonts/"
167+
// Android's default font family.
168+
private const val DEFAULT_FAMILY = "sans-serif"
165169

166170
private val _instance = ReactFontManager()
167171

@@ -184,7 +188,16 @@ public class ReactFontManager {
184188
}
185189
}
186190
}
187-
return Typeface.create(fontFamilyName, style)
191+
192+
val typeface = Typeface.create(fontFamilyName, style)
193+
// Like RCTLogInfo on iOS, only log in debug builds.
194+
if (ReactBuildConfig.DEBUG) {
195+
// Typeface.create returns the default typeface for unknown family names.
196+
if (fontFamilyName != DEFAULT_FAMILY && typeface == Typeface.defaultFromStyle(style)) {
197+
Log.i(ReactConstants.TAG, "Unrecognized font family '$fontFamilyName'")
198+
}
199+
}
200+
return typeface
188201
}
189202
}
190203

0 commit comments

Comments
 (0)