package org.emdev.common.fonts; import android.graphics.Typeface; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.emdev.BaseDroidApp; import org.emdev.common.fonts.data.FontFamilyType; import org.emdev.common.fonts.data.FontInfo; import org.emdev.utils.LengthUtils; public class AssetsFontProvider extends AbstractCustomFontProvider { public AssetsFontProvider() { super(1, "Assets"); } @Override protected InputStream openCatalog() throws IOException { try { return BaseDroidApp.context.getAssets().open("fonts/fonts.jso"); } catch (Exception ex) { } return null; } @Override protected Typeface loadTypeface(final FontFamilyType type, final FontInfo fi) { final String path = "fonts/" + fi.path; try { return Typeface.createFromAsset(BaseDroidApp.context.getAssets(), path); } catch (final Throwable th) { System.err.println("Font loading failed: " + path + ": " + LengthUtils.safeString(th.getMessage(), th.getClass().getName())); } return null; } @Override protected boolean save() { return true; } @Override public InputStream openInputFontStream(FontInfo fi) throws IOException { return BaseDroidApp.context.getAssets().open("fonts/" + fi.path); } @Override public OutputStream openOutputFontStream(FontInfo fi) throws IOException { return null; } }