- First seen on DaFont: September 11, 2013 - Updated: November 22, 2013. Illustration © Isaac K.
- Apr 11, 2019 Apply any font on Samsung Galaxy phones. Download unlimited fonts and Install Fonts for Samsung Galaxy S10, S9, S8, Note 8, Note 9, S7, devices for OneUI based on Android 9 Pie or later.
- Download and Install Google Product Sans Fonts from Android 8.1 Oreo for Stock and Custom ROMs like Lineage OS, Samsung Experience, Resurrection Remix, etc. How to Install Android 8.1 Oreo Google Product Sans font on any Android device?
Android is one of the most versatile mobile ecosystems that you'll ever use. From the look and feel, you can change the landscape of the platform with ease and power. The fonts on your system are no exception. There are plenty of reasons you might want to change up your fonts — legibility, company branding, unique look, etc. Although not available for every variation on the Android theme, you can manage to switch up your fonts without too much hassle. I want to illustrate how you can manage more and better fonts on both rooted and non-rooted Android devices.
The rooted Android device gives you quite a bit more control over what you can do. But even non-rooted smartphones have some flexibility when it comes to fonts. Let's first look at how to manage your fonts on a non-rooted device, and then I'll highlight the power of the rooted smartphone.
Android Font Download Apk
Non-rooted font management
Your best bet for managing fonts on a non-rooted Android device is by way of a third-party home screen launcher. GO Launcher EX is one of the best for fonts. With this home screen launcher, you can place third-party font files in to the GOLauncherEX/fonts folder and have GO Launcher EX scan the folder for newly found fonts.
There's one catch. When you plug your device into your computer to copy the .ttf file(s) over to the phone storage, you probably won't find the GOLauncherEX folder. To get around that, create a folder called FONTS in the Downloads folder — and then, using a file manager like ASTRO File Manager, copy/paste the .ttf file to GOLauncherEX/fonts (which will appear in the ASTRO File Manager). Once you've copied the files to the proper folder, do the following:
- Long-press a blank spot on the home screen
- Tap the Preferences button
- Tap Font
- Tap Scan font (Figure A)
- Allow the scan to complete
- Tap Select Font
- Locate the newly added font
- Tap Continue when prompted
Download 10,000 fonts with one click for just $19.95. The Ultimate Font Download is the largest and best selling font collection online. The fonts are licensed for personal and commercial use. Download 10,000 fonts today. Instant and unlimited access to 10,000 fonts. Click Here For Details.
Figure A
Adding new fonts via GO Launcher EX on a Verizon-branded LG G3.
That's it.
What if you don't want to use a third-party home screen launcher? If you happen to have a Samsung device, you're in luck (rooted or not). There's an app called iFont that helps you to find plenty of fonts to use. This app allows you to easily browse a sizable selection of fonts that you can download and install. Note: All other Android devices must be rooted for iFont to work.
My needs are a little different since i have the examiners breathing down my neck about analyzing logs near real-time.Mike GreenSystem Admin.
Splunk is awesome but depending on how much data you feed into it for indexing it can exceed the daily index allowance pretty darn quickly.
First, you must install the app. Here's how:
- Open the Google Play Store on your Samsung smartphone
- Search for iFont
- Locate and tap the entry by diyun
- Tap Install
- Read the permissions listing
- If the permissions listing is acceptable, tap Accept
- Allow the installation to complete
Once it's installed, open the app and browse the font collection. To do this, tap Find on the main window (Figure B), and then tap Font All.
Figure B
Finding fonts with iFont.
Scroll through the listing of fonts, find one you like, tap the font, tap Download (Figure C), and then tap Set. The font should change to your downloaded choice.
Figure C
Installing your chosen font with iFont.
Some devices (such as the HTC M8) offer a Get Fonts Online from the built-in font selector (Figure D). Tap the GET FONTS ONLINE button, select the Play Store option, go through the listing of fonts, select one you like, and install the font.
Figure D
Getting fonts online.
Once the font is installed, you simply have to go to the default font selector and choose the newly added font.
Rooted font management
A rooted device will give you even more power with fonts. Using the same app as above (iFont), you can (with a rooted phone), install custom .ttfs to be used as your system defaults. To do this, the process is almost the same as setting a standard font (within iFont). The only difference is that you tap on My Font (from the main window) and then tap the 'click this' link (Figure E).
Figure E
Adding a custom .ttf font with iFont.
You will then navigate to the folder containing you .ttf files, select the font you want, and then tap Set.
There's another app you can use that will allow you to add .ttf files from your computer to your rooted smartphone and use them as the default system font. That app is Font Installer. Once installed, you can then copy your .ttf files (from your computer) into a directory on your device and use that font as the default. Font Installer is installed in the same way you installed iFont above (only you'll search for and install Font Installer). Once you've done that, here's how to set the font as your system default:
- Copy the .ttf files into a folder on your device
- Open Font Installer
- Swipe to the Local tab
- Navigate to the folder containing the .ttf files
- Select the .ttf file to be used (Figure F)
- Tap Install (or Preview if you want to get a look at the font first)
- If prompted, grant root permission for the app
- Reboot the device by tapping YES
Figure F
Installing a .ttf file with Font Installer.
The one caveat to using .ttf files is that not all .ttf files will actually work — or they'll work but won't be terribly legible. So, use caution when choosing a .ttf file for a font. Also, don't try to use both iFont and Font Installer on the same device, as iFont will always override Font Installer.
Android Nougat Font Download
Finally, a word of warning with Font Installer: It doesn't work on all rooted devices, and not all rooting tools can give proper permissions. The Samsung Galaxy S4, rooted with Superuser, worked fine the first time, but after removing and reinstalling, the font would no longer set.
If you're looking for a clean and simple way to change the font, look no further than one of these methods. Whether rooted or not, you can find plenty of fonts to help personalize or brand your Android device.
How much do you customize your Android devices? Do you leave them stock or go all out? Share your experience in the discussion thread below.
Android 8.0 (API level 26) and Android Support Library 26 introduce support for APIs to request fonts from a provider application instead of bundling files into the APK or letting the APK download fonts. The feature is available on devices running Android API versions 14 and higher through the Support Library 26.
The Downloadable Fonts feature offers the following benefits:
- Reduces the APK size
- Increases the app installation success rate
- Improves the overall system health as multiple APKs can share the same font through a provider. This saves users cellular data, phone memory, and disk space. In this model, the font is fetched over the network when needed.
Refer to the following related resources:
How does Downloadable Fonts work?
A font provider is an application that retrieves fonts and caches them locally so other apps can request and share fonts. Figure 1 illustrates the process.
The basics
You can use the Downloadable Fonts feature in the following ways:
Using Downloadable Fonts via Android Studio and Google Play services
You can set your application to download fonts by using Android Studio 3.0 or higher. To help you get started with the Downloadable Fonts features, you can use the font provider from Google Play services.
Note: A device must have Google Play services version 11 or higher to use the Google Fonts provider.
- In the Layout Editor, select a TextView, and then under Properties, select fontFamily > More Fonts. The Resources window appears.
- In the Source drop-down list, select Google Fonts.
- In the Fonts box, select a font.
- Select Create downloadable font and click OK. Note: To bundle the font in your app, select Add font to project.
Android Studio automatically generates the relevant XML files that are needed to render the font correctly in your app.
Using Downloadable Fonts programmatically
Prior to Android 8.0 (API level 26), the Support Library 26.0 provides full support for Downloadable Fonts. For more information about using the support library, go to the Downloadable Fonts support library section.
To use the Downloadable Fonts feature programmatically, you need to interact with two key classes:
android.graphics.fonts.FontRequest
: This class lets you create a font request.FontsContract
: This class lets you create a newTypeface
object based on the font request.
Your app retrieves fonts from the font provider by using the
FontsContract
API. Each provider has its own set of restrictions on the Android versions and query language it supports. For more information on the Android versions and query format, refer to your provider’s documentation. To download a font, perform the following steps:
- Create an instance of the
android.graphics.fonts.FontRequest
class to request the font from the provider. To create a request, pass the following parameters:- The font provider authority
- The font provider package to verify the identity of the provider
- The string query of the font. For more information about query formats, see your font provider's documentation, such as Google Fonts.
- A list of sets of hashes for the certificates to verify the identity of the provider. Note: There is no need to add a certificate if you request fonts from pre-installed providers. However, you must always provide a certificate if you request fonts through the support library.
Note: You can receive the parameter values from your font provider. Android Studio automatically populates these values for the providers it supports in its UI. - Create an instance of the
FontsContract.FontRequestCallback
class. - Override the
onTypefaceRetrieved()
method to indicate the font request is complete. Provide the retrieved font as the parameter. You can use this method to set the font, as needed. For example, you can set the font on aTextView
- Override the
onTypefaceRequestFailed()
method to receive information about errors in the font request process. For more information about error codes, refer to theerror code constants
. - Call the
FontsContract.requestFont()
method to retrieve the font from the font provider. The method initiates a check to determine if the font exists in the cache. If the font is not available locally, it calls the font provider, retrieves the font asynchronously, and passes the result to the callback. Pass the following parameters:- an instance of the
Context
class - an instance of the
android.graphics.fonts.FontRequest
class - a callback to receive the results of the font request
- a handler to fetch fonts on a thread
Note: Ensure this handler is not the User Interface thread handler. - an instance of the
The following sample code illustrates the overall Downloadable Fonts process:
For more information about how to download a font from a font provider, go to Downloadable Fonts sample app.
Using Downloadable Fonts via the support library
The Support Library 26 provides support to the Downloadable Fonts feature on devices running Android API versions 14 or higher. The
android.support.v4.provider
package contains FontsContractCompat
and FontRequest
classes to implement the backward-compatible Downloadable Fonts feature support. The support library classes contain methods similar to framework. Legaia 2 iso. The process of downloading fonts is also similar to the one mentioned in the Downloading fonts section. To download fonts by using the support library, import the
FontsContractCompat
and FontRequest
classes from the android.support.v4.provider
package. Create the instances of these classes instead of FontsContract
and android.graphics.fonts.FontRequest
framework classes. Note: You must provide a certificate when you request fonts through the support library. This is applicable even for the pre-installed font providers.
Adding support library dependency
To use the
FontsContractCompat
and FontRequest
classes, you must modify your app project's classpath dependencies within your development environment. To add a support library to your application project:
- Open the
build.gradle
file of your application. - Add the support library to the
dependencies
section.
Using Downloadable Fonts as resources in XML
Android 8.0 (API level 26) and Support Library 26 offer a faster and more convenient way to declare a custom font as a resource in the XML layout. This means, there is no need to bundle the font as an asset. You can define a custom font for your entire theme, which accelerates usability for multiple weights and styles, such as Bold, Medium, or Light, when provided.
- Create a new XML file in the
res/font
folder. - Add
<font-family>
root element and set the font-related attributes as shown in the following sample XML file: - Refer to the file as @font/font_file_name in the layout XML file. You can also use the
getFont()
method to retrieve the file programmatically. For example,getFont(R.font.font_file_name)
.
Pre-declaring fonts in the manifest
Layout inflation and resource retrieval are synchronous tasks. By default, the first attempt to retrieve fonts triggers a request to the font provider, and therefore increases the first layout time. To avoid the delay, you can pre-declare fonts that need retrieving in your manifest. After the system retrieves the font from the provider, it is available immediately. If the font retrieval takes longer than expected, the system aborts the fetching process and uses the default font.
To pre-declare fonts in the manifest, perform the following steps:
- Create a resources array in
res/values/arrays.xml
and declare the Downloadable Fonts that you want to prefetch. - Use a
meta-data
tag to declare the resource array in your manifest.
Free Fonts For Android
Adding certificates
When a font provider is not preinstalled or if you are using the support library, you must declare the certificates the font provider is signed with. The system uses the certificates to verify the font provider's identity.
Note: Android Studio can automatically populate the values for the Google Play services provider if you use the font selector tool in Android Studio. For more information about using Android Studio for downloading fonts, go to the Using Downloadable Fonts via Android Studio and Google Play services section.
Perform the following steps to add certificates:
- Create a string array with the certificate details. For more information about certificate details, refer to your font provider's documentation.
- Set the
fontProviderCerts
attribute to the array.
Note: If the provider has more than one set of certs, you can define an array of string arrays.