Skip to content

Font Weight of '700' or 'bold' not working in Android for Custom fonts #1501

Open
@vkumaez

Description

@vkumaez

🐛 Bug Report

When using custom fonts (fontFamily with typefaces), with a fontWeight of 700 or 'bold', Android defaults to system font instead of the custom font added in the app. ( Example: A fontWeight of 700 should use SourceSansPro-Bold)

When using other numerical fontWeight values, the fonts in iOS changes typeface accordingly, but android stays on the typeface mentioned in the fontFamily.

Font used: Source Sans Pro - https://fonts.google.com/specimen/Source+Sans+Pro

Link to my custom mapping.json

https://gist.github.com/vkumaez/b39d63073ebc2925d6ab39d02f53b781.js

Steps to reproduce the behaviour:

  1. Add Source Sans Pro font to the app and link it properly.
  2. Create a custom mapping.json with font family 'SourceSansPro-Bold' and font weight 700 or bold for any of the Text category (h1, h2,...)
  3. Observe that the font is correct in iOS, but in Android it falls back to some system font.
    (In the below image, note the letter 'g'. In Android, Heading1, Heading2, Heading3 has a different font instead of SourceSansPro-Bold, while in iOS all the text have the correct font).

Screenshot 2021-08-09 at 1 28 14 PM

The same issue happens with OpenSans font, at font weight 700. So it's definitely not an issue with the font.

Screenshot 2021-08-09 at 8 50 48 PM

Expected behaviour

Based on the fontWeight, the typeface of the custom font should be used automatically. ( Example: A fontWeight of 700 should use SourceSansPro-Bold)

UI Kitten and Eva version

Package Version
@eva-design/eva 2.1.0
@ui-kitten/components 5.1.0

Environment information

System:
OS: macOS 10.15.7
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Binaries:
Node: 14.17.4 - /usr/local/bin/node
npm: 6.14.14 - /usr/local/bin/npm
Watchman: 2021.06.07.00 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK:
API Levels: 29, 31
Build Tools: 29.0.2, 30.0.2, 31.0.0
System Images: android-29 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7583922
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
npmPackages:
react: 17.0.1 => 17.0.1
react-native: 0.64.0 => 0.64.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions