Adding external TTF fonts for PDF Lib on Android

As Embarcadero did on FMX, you only use system fonts for Android in your PDF Lib. There is a little change in the code for allowing us to use external TTF files.

In the FMX.TMSPDFGraphicsLib.Android unit you only have to change code on lines 190 and 1075 as here :

Replace :
if (TFontStyle.fsBold in Font.Style) and (TFontStyle.fsItalic in Font.Style) then
tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.BOLD_ITALIC))
else if TFontStyle.fsBold in Font.Style then
tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.BOLD))
else if TFontStyle.fsBold in Font.Style then
tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.ITALIC))
else
tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.NORMAL));

By :

if font.name.endsWith('.ttf') and FileExists(font.name) then 
  tp.setTypeface(TJTypeface.JavaClass.createFromFile(StringToJString(Font.Name)))
else
  begin
	if (TFontStyle.fsBold in Font.Style) and (TFontStyle.fsItalic in Font.Style) then
	  tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.BOLD_ITALIC))
	else if TFontStyle.fsBold in Font.Style then
	  tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.BOLD))
	else if TFontStyle.fsBold in Font.Style then
	  tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.ITALIC))
	else
	  tp.setTypeface(TJTypeface.JavaClass.create(StringToJString(Font.Name), TJTypeface.JavaClass.NORMAL));
  end;

Developers can now use system fonts (or embedded "XML fonts" since Android 8) specifying it's name as usual, but we also can use external TTF files by setinf fontName as path to the TTF file.

Sample :
fDocPDF.Graphics.Font.Name := TPath.combined(getdocumentsPath(),'myfont.ttf');
or
fDocPDF.Graphics.Font.Name := 'Robot';

It would be a great new feature for all of us.

This feature was implemented.