I’ve checked the documentation for installing fonts at Font Installation Help - SIL Language Technology - SIL Language Technology , but it didn’t seem to give much information for Android.
I have an unrooted OnePlus phone running Android 12 and I’m looking to install TTF fonts (specifically, Charis SIL), and I’m honestly stumped on how to do so. Last I checked, ifont doesn’t have Charis SIL, and zfont doesn’t support Oneplus. Rooting and installing Magisk is overkill, just so that I can read some of my language work.
I have the Keyman keyboard application installed (I also have the developer as well as regular desktop version on my PC), but that doesn’t have a font installer that I can easily find, and it doesn’t seem to come with Charis SIL by default.
(see Voiced retroflex lateral flap - Wikipedia for details) is relevant for languages I work on, despite not being an official IPA symbol, and as far as I can tell the only fonts that support it are from SIL. Charis SIL is a nice font that has a very wide range of support, and one I’d like to have on my phone in any case.
ADB can be used without rooting to install a font, but only if you replace Roboto, and I don’t really want to do that… I like Charis SIL, but I want it in addition to Roboto, not to replace it.
How in the world can a person install fonts on Android? Would installing some keyboard from Keyman which has the latest Charis SIL font for instance be enough?
On mobile platforms (both Android and iOS) it is difficult if not impossible to install fonts that can be used system-wide. As you’ve found, on Android there are some utilities that run on some devices (but not others) that can make some fonts partially available to some apps. There is no method that works across all of Android without going to extremes in rooting your device, etc.
To reliably enable the use of a specific font (or sets of fonts), application developers build the fonts directly into the app, or include an in-app mechanism for downloading and applying fonts within that app. So to use Charis SIL in a particular app might require the app to have it built in or have a special mechanism that allows the user to install fonts for use in that app (only).
I can’t offer much specific help, but if you give more details about which app(s) you want to use the fonts in there may (or may not) be others here who can give you more detailed help.
Keyman Developer allows you to create a package that includes fonts as well as a keyboard for Android.
But it was pointed out to me: “the font embedded in a Keyman package will be used for the on-screen keyboard, and directly within the Keyman app, but is not available to other apps in general.” So this is not a useful path for your purpose.
I think it would be primarily for web browsing? Most everywhere else I can live without. I use webview-based browsers, but I could adjust and use a specific browser if needed for this, because it probably wouldn’t pop up that often.
I don’t know if webview supports fonts directly, but I don’t think so. Chrome doesn’t seem to either. Are there any browsers that support adding fonts?
I guess there aren’t any tricks to get Charis with adb commands?
I know of no way you could hack your Android to get it to use Charis SIL for web browsing other than the special utility apps out there that may or many not work in your specific hardware and OS variant.
If there is a specific web site you want to view using Charis you may want to contact them and ask them to consider using it as a web font.
“Keyman for Android” and “Keyman for iPhone and iPad” include a rudimentary in-app browser.
I think when you have a Keyman keyboard selected (that uses Charis SIL), the in-app browser may include the font for rendering. Please give it a try and let us know if that works for you.
Keep in mind that almost all web sites use CSS frameworks that include a prioritized list of fonts to use to display the page. So even if you can browse a site using the Keyman browser it is unlikely that the site would display using Charis SIL. To do that Keyman would need to override the site CSS, and I doubt a rudimentary browser would do that.
That’s precisely what the Keyman browser does with some very brutal and rudimentary CSS overrides.
However, it was made clear to me that “the font embedded in a Keyman package will be used for the on-screen keyboard, and directly within the Keytman app, but is not available to other apps in general.” As a result, this is not the best route for you.