-
-
Notifications
You must be signed in to change notification settings - Fork 678
Open
Labels
Description
There are a lot of spots in the app where our layout is affected by nuances of the font used.
- An extreme example is [Android] Broken-looking context menus. #2365 -- a component we get from one of our dependencies comes out completely broken with the default font on certain devices.
- A more subtle example was uncovered in chat at #mobile > input height discrepancy. Fonts differ in how much vertical padding they build in -- for the sake of ascenders and descenders in Latin letters, or more so for some other scripts like देवनागरी that use more vertical space -- and that can cause the same text widget, with all the same properties right down to the font size, to lay out with a different height when given a different font. That in turn makes it quite difficult to design a layout that consistently looks right.
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.