Typeface := TJTypeface.JavaClass.createFromFile(StringToJString(FontFile));
You also include your TrueType font file inside your APK using the Delphi Deployment functionality. Add the TTF file to your Deployment and change the directory to: .\assets\internal\ One gotcha that you have to watch out for is that you must use the actual name of the font file minus the .ttf in the Font Family property in Delphi. Using the name of the font and not the filename will not work and remember Java is case sensitive (and so are the filenames).
Copy FMX.FontGlyphs.Android to your project folder.
1. Add System.IOUtils to the uses clause;
In procedure TAndroidFontGlyphManager.LoadResource
2. Add variable FontFile: string;
3. change the line
Typeface := TJTypeface.JavaClass.Create(FamilyName, TypefaceFlag);
to
FontFile := TPath.GetDocumentsPath + PathDelim + CurrentSettings.Family + '.ttf';
if FileExists(FontFile) then
Typeface := TJTypeface.JavaClass.createFromFile(StringToJString(FontFile))
else
Typeface := TJTypeface.JavaClass.Create(FamilyName, TypefaceFlag);
The instructions are originally from two different blogs in Chinese here and here.