I would like to use custom font in my app, but I keep getting error
[RCTLog][tid:0x78f70450][RCTConvert.m:581]>Unrecognized font family 'Roboto'
Does this mean I have to mess with the iOS's way to import font directly?
You can fetch your fonts from Google Fonts. In your React Native project src directory, you should create an assets directory. Here you'll have a directory for each kind of asset (SVG, Fonts, etc). Therefore, create a fonts directory and paste the fonts that you downloaded.
Create a new group Fonts within your Xcode project
Drag and drop fonts from Finder to the Fonts group you just created, and check your project name in Add to targets list
Expand your project name folder within the main directory in your project and open Info.plist
Add Fonts provided by application
as a new key
Add a new item under Fonts provided by application
, and set the item value to the full font name with extension for each font you've added to the fonts folder
OpenSans-ExtraBold.ttf
, then that should be the value of the item.To use the font in React Native, simply set the fontFamily
style attribute for the element (see this). Note that the style should use the name of the font rather than the file name.
fontFamily: 'Open Sans'
Run Shift + Command + K to clean last build
Then Command + B to start a new build
And finally Command + R to run the application
If you still see the error Unrecognized font family restart your react packager.
https://github.com/alucic/react-native-cheat-sheet
Hope it helps!
You don't need to install rnpm manually now. After step one, in step two, you can just use the command react-native link
and all your assets will be linked. rnpm is now being merged with react-naitve. Checkout this commit on RN https://github.com/facebook/react-native/commit/e8b508144fdcdea436cf4d80d99daec757505c70
There is an easier way of doing things through `rnpm. It adds fonts to both android and ios. Place the font you want to add to a suitable location inside your project directory. In your package.json just add the following:
... "rnpm": { "assets": ["path/to/your/font/directory"] }, ...
Then from command line do: rnpm link
you can now happily use your fonts in your app.
Note: you have to have rnpm installed for this to work. Just do npm install -g rnpm
Here is the documentation: https://github.com/rnpm/rnpm#advanced-usage
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With