How to set custom font for a whole application in Android?
Write a class
public class MyApp extends Application{
// Put the onCreate code as you obtained from the post link you reffered
}
now next thing is in AndroidManifest.xml for the application tag give name for your application class. In this case it is MyApp
<application
android:name=".MyApp"
...
>
...
</application>
So whenever the App is opened , onCreate method of MyApp class would be invoked , and the font would be set.
Update
Put font file under assets/fonts/your_font_file.ttf
Put this line under onCreate method of your application class(MyApp)
TypefaceUtil.overrideFont(getApplicationContext(), "SERIF", "fonts/your_font_file.ttf");
Source File for TypefaceUtil
public class TypefaceUtil {
/**
* Using reflection to override default typeface
* NOTICE: DO NOT FORGET TO SET TYPEFACE FOR APP THEME AS DEFAULT TYPEFACE WHICH WILL BE OVERRIDDEN
*
* @param context to work with assets
* @param defaultFontNameToOverride for example "monospace"
* @param customFontFileNameInAssets file name of the font from assets
*/
public static void overrideFont(Context context, String defaultFontNameToOverride, String customFontFileNameInAssets) {
final Typeface customFontTypeface = Typeface.createFromAsset(context.getAssets(), customFontFileNameInAssets);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Map<String, Typeface> newMap = new HashMap<String, Typeface>();
newMap.put("serif", customFontTypeface);
try {
final Field staticField = Typeface.class
.getDeclaredField("sSystemFontMap");
staticField.setAccessible(true);
staticField.set(null, newMap);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else {
try {
final Field defaultFontTypefaceField = Typeface.class.getDeclaredField(defaultFontNameToOverride);
defaultFontTypefaceField.setAccessible(true);
defaultFontTypefaceField.set(null, customFontTypeface);
} catch (Exception e) {
Log.e(TypefaceUtil.class.getSimpleName(), "Can not set custom font " + customFontFileNameInAssets + " instead of " + defaultFontNameToOverride);
}
}
}
}
Now update your style.xml file
put the below line your style which is included for your activity in manifest file
<item name="android:typeface">serif</item>
Hope this helps
How to set custom font in .xml file instead of .java file?
For your reference,
public class MyTextView extends TextView {
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyTextView(Context context) {
super(context);
init();
}
public void init() {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "font/yourfont.ttf");
setTypeface(tf ,1);
}
}
In XML,
<you_package.MyTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Your text"
/>
How to use custom font in a project written in Android Studio
Update 2021:
Create a folder named font inside the res folder and copy your font
All font names must be only: lowercase a-z, 0-9, or underscore.
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/abc_font" />
For programmatic use:
textView.setTypeface(ResourcesCompat.getFont(context, R.font.abc_font))
For Android Studio 4.2+ there's even now a menu option:
Can't set custom font
As from JavaFX version 1.8u60
you can use plain css to load the font but with carefull that you need to use the exactly original name of the Font File
,for example:
@font-face{
src: url("../fonts/Younger than me Bold.ttf");
}
.button{
-fx-background-color:white;
-fx-background-radius:15.0;
-fx-font-size:18.0;
-fx-font-family:"Younger than me";
-fx-text-fill:black;
-fx-font-weight:bold;
}
Mention that the original name can be found opening the .ttf
with a default editor and see it's name in case if you don't know it.
Complete tutorial:http://www.guigarage.com/2014/10/integrate-custom-fonts-javafx-application-using-css/
Have a look also here for your situation:Specifying external font in JavaFX CSS
Finally:
The problem in your code is that in the css you are not adding double quotes "
or single quotes '
around the font - family
Swift 4 set custom font programmatically
You can try
lbl.font = UIFont(name:"FontAwesome",size:15)
the name should be the font name as it is when you install it . not as the file name in your case was Noto Kufi Arabic instead of NotoKufiArabicRegular
click the font and open it with Font Book , then install it after that specify exactly the name shown in the parameter in the line above
How to set custom fonts to display text in Mails
Here are two articles Campaign Monitor - web font support from Campaign Monitor (updated 2015) and Litmus - using web fonts in email Litmus (posted September 2017) that detail web font support in mail apps. Unfortunately, there is no support in GMail web or the apps.
How to change the default font family in Flutter
You can change the default font family of your Flutter app by following the below steps:
1. Add your font files into your project folder. Say Project Folder > assets > fonts > hind
.
2. Declare the font family with font files with style in your project's pubspec.yaml
file as (An example):
- In the
MaterialApp
widget of your main class file, define the default font family as:
Related Topics
Getting Enum Associated with Int Value
In Java, Differencebetween This.Method() and Method()
When Does Java's Thread.Sleep Throw Interruptedexception
How to Convert Timestamp to Date in Java
Sonar Violation: Security - Array Is Stored Directly
Creating an X509 Certificate in Java Without Bouncycastle
Getting the Array Length of a 2D Array in Java
Java Web Service Client Basic Authentication
Count Occurrences of Words in Arraylist
Superclass Reference Not Able to Call Subclass Method in Java
Automatic Reserved Word Escaping for Hibernate Tables and Columns
How to Create New Xml File from Existing Database in Postgresql Database Using Java
In Java, How to Call a Base Class's Method from the Overriding Method in a Derived Class
Java Library to Compare Image Similarity