-
-
Notifications
You must be signed in to change notification settings - Fork 669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bundle a font in the app and use it consistently #2447
Comments
#3885 is targeted at older Android devices to get all emoji glyphs to display. It outlines a way to fetch a font dynamically on Android, instead of bundling it with the app. |
Ah, thanks for drawing that connection! I'd forgotten we had this old issue filed. One difference between the situation for emoji and for text is this:
Whereas the Noto emoji are a single font file So if we wanted to bundle a font for (Latin-script) text, I think we could, unlike for emoji. ... OTOH I don't think any reports of the kinds of issues above have been on iOS, and that's natural because most of the arbitrary variation is from different vendors' Android devices. So there may be no advantage to doing so over the #3885 approach. |
We had a report the other day of another issue with text getting cut off early: which turned out to have the same root cause as #2365 did, namely facebook/react-native#25481 (formerly known as facebook/react-native#15114 .) In that case, the issue was triggered by the device settings having a bold font selected. |
There are a lot of spots in the app where our layout is affected by nuances of the font used.
In the web app, we solve this by specifying a specific font, and providing the font in case the browser doesn't have it. We should do the same thing in the mobile app.
In the web app, the font we use is Source Sans Pro. We could use that, or another free font -- see the Google font directory for many choices, but two particularly likely candidates would be Noto and Roboto.
A quick feasibility check: the full download for Noto Sans is 16MB, but that's easily cut down to 2MB by dropping exotic variants like "SemiCondensedLightItalic", or 1MB with modern compression (
xz
). I think even my 1MB list has more variants than we probably need.The text was updated successfully, but these errors were encountered: