Java tutorial
//package com.java2s; //License from project: Open Source License import android.content.Context; import android.graphics.Typeface; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.Hashtable; public class Main { public static final Hashtable<String, Typeface> typefaces = new Hashtable<String, Typeface>(); public static Typeface getTypeface(Context c, String name) { synchronized (typefaces) { if (!typefaces.containsKey(name)) { try { InputStream inputStream = c.getAssets().open(name); File file = createFileFromInputStream(inputStream, name); if (file == null) { return Typeface.DEFAULT; } Typeface t = Typeface.createFromFile(file); typefaces.put(name, t); } catch (Exception e) { e.printStackTrace(); return Typeface.DEFAULT; } } return typefaces.get(name); } } private static File createFileFromInputStream(InputStream inputStream, String name) { try { File f = File.createTempFile("font", null); OutputStream outputStream = new FileOutputStream(f); byte buffer[] = new byte[1024]; int length = 0; while ((length = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, length); } outputStream.close(); inputStream.close(); return f; } catch (Exception e) { // Logging exception e.printStackTrace(); } return null; } }