package com.v7lin.android.env.font; import android.util.Log; /** * * * @author v7lin E-mail:v7lin@qq.com */ public class SystemFontResolver implements FontResolver { public SystemFontResolver() { super(); } @Override public FontFamily getDefaultFont() { return FontFamily.DEFAULT_FONT; } @Override public FontFamily getSerifFont() { return FontFamily.SERIF_FONT; } @Override public FontFamily getSansSerifFont() { return FontFamily.SANSSERIF_FONT; } @Override public FontFamily getMonoSpaceFont() { return FontFamily.MONOSPACE_FONT; } @Override public FontFamily getFont(String name) { if (name != null && name.length() > 0) { String[] parts = name.split(",(\\s)*"); for (int i = 0; i < parts.length; i++) { String fontName = parts[i]; if (fontName.startsWith("\"") && fontName.endsWith("\"")) { fontName = fontName.substring(1, fontName.length() - 1); } if (fontName.startsWith("\'") && fontName.endsWith("\'")) { fontName = fontName.substring(1, fontName.length() - 1); } FontFamily fam = resolveFont(fontName); if (fam != null) { return fam; } } } return getDefaultFont(); } private FontFamily resolveFont(String name) { Log.d("SystemFontResolver", "Trying to resolve font " + name); if (name.equalsIgnoreCase("serif")) { return getSerifFont(); } else if (name.equalsIgnoreCase("sans-serif")) { return getSansSerifFont(); } else if (name.equalsIgnoreCase("monospace")) { return getMonoSpaceFont(); } return null; } }