package uk.co.flyingsquirrels.utils;
import java.util.HashMap;
import java.util.Map;
import org.newdawn.slick.AngelCodeFont;
import org.newdawn.slick.Font;
import org.newdawn.slick.SlickException;
public class FontFactory {
private final static Map<String, Font> fontCache = new HashMap<String, Font>();
public static Font loadFont(String fontName) {
if (fontCache.containsKey(fontName)) {
return fontCache.get(fontName);
}
try {
return loadFont(fontName, "tga");
} catch (Exception e1) {
try {
return loadFont(fontName, "png");
} catch (SlickException e2) {
throw new RuntimeException(e2);
}
}
}
private static Font loadFont(String fontName, String extension)
throws SlickException {
Font font = new AngelCodeFont("fonts/" + fontName + ".fnt", "fonts/"
+ fontName + "." + extension);
fontCache.put(fontName, font);
return font;
}
}