You can easily change font by loading a new TypeFace. You can put any TTF font in your assets folder and load it using:
Typeface.createFromAsset(context.getAssets(), "myfont.ttf");
I would suggest that you cache the loaded font to prevent memory leaks on older Android versions:
public class FontCache {
private static Hashtable<String, Typeface> fontCache = new Hashtable<String, Typeface>();
public static Typeface get(String name, Context context) {
Typeface tf = fontCache.get(name);
if(tf == null) {
try {
tf = Typeface.createFromAsset(context.getAssets(), name);
}
catch (Exception e) {
return null;
}
fontCache.put(name, tf);
}
return tf;
}
}
And use it like this:
Typeface tf = FontCache.get(context, "myfont.ttf");
Paint paint = new Paint();
paint.setTypeface(tf);
canvas.drawText("Lorem ipsum", 0, 0, paint);