package com.himamis.retex.renderer.android.font; import android.graphics.Typeface; import com.himamis.retex.renderer.share.platform.font.Font; import com.himamis.retex.renderer.share.platform.font.TextAttribute; import java.util.Map; public class FontA implements Font { private Typeface mTypeface; private int mSize; private String mName; public FontA(String name, Typeface typeface, int size) { mName = name; mTypeface = typeface; mSize = size; } public FontA(String name, int style, int size) { mTypeface = Typeface.create(name, getTypefaceStyle(style)); mName = name; mSize = size; } private static int getTypefaceStyle(int fontStyle) { int typefaceStyle = Typeface.NORMAL; if (fontStyle == BOLD) { typefaceStyle = Typeface.BOLD; } else if (fontStyle == ITALIC) { typefaceStyle = Typeface.ITALIC; } else if (fontStyle == (BOLD | ITALIC)) { typefaceStyle = Typeface.BOLD_ITALIC; } return typefaceStyle; } public Typeface getTypeface() { return mTypeface; } public int getSize() { return mSize; } public Font deriveFont(Map<TextAttribute, Object> map) { // FIXME cannot infer Font from map return this; } public Font deriveFont(int type) { int typefaceStyle = getTypefaceStyle(type); return new FontA(mName, Typeface.create(mTypeface, typefaceStyle), mSize); } @Override public boolean isEqual(Font f) { FontA font = (FontA) f; return mName.equals(font.mName) && mTypeface.equals(font.mTypeface) && mSize == font.mSize; } }