package edu.byu.cs.roots.opg.fonts;
import java.awt.Font;
import java.io.InputStream;
import java.io.Serializable;
import java.net.URL;
public enum OpgFont implements Serializable{
GENTIUM("Serif (Gentium)", "/edu/byu/cs/roots/opg/fonts/GenR102.TTF", "/edu/byu/cs/roots/opg/fonts/GenBasB.ttf"),
VERA("Serif (Vera)", "/edu/byu/cs/roots/opg/fonts/VeraSe.ttf", "/edu/byu/cs/roots/opg/fonts/VeraSeBd.ttf"),
VERA_SANS("Sans Serif (Vera)", "/edu/byu/cs/roots/opg/fonts/Vera.ttf", "/edu/byu/cs/roots/opg/fonts/VeraBd.ttf"),
VERA_MONO("Monospaced (Vera)", "/edu/byu/cs/roots/opg/fonts/VeraMono.ttf", "/edu/byu/cs/roots/opg/fonts/VeraMoBd.ttf"),
GARA("Garamond", "/edu/byu/cs/roots/opg/fonts/Gara.ttf", "/edu/byu/cs/roots/opg/fonts/GaraBD.ttf"),
COUR("Courier New", "/edu/byu/cs/roots/opg/fonts/cour.ttf", "/edu/byu/cs/roots/opg/fonts/courbd.ttf");
//EZRA("Hebrew (Ezra)", "/edu/byu/cs/roots/opg/fonts/Ezra.ttf");
public Font font,boldFont;
public String displayName;
static final long serialVersionUID = 1000L;
public String toString(){
return displayName;
}
public Font getFont(){
return Font.getFont(font.getFontName());
}
public Font getFont(int style, float size){
return font.deriveFont(style, size);
}
public Font getBoldFont(float size){
return font.deriveFont(Font.BOLD,size);
}
public static Font getDefaultSerifFont(int style, float size){
return GENTIUM.font.deriveFont(style, size);
}
public static Font getDefaultSansSerifFont(int style, float size){
return VERA_SANS.font.deriveFont(style, size);
}
private OpgFont(String displayName, String path, String boldPath){
this.displayName = displayName;
// ClassLoader loader = this.getClass().getClassLoader();
URL fontUrl = this.getClass().getResource(path);
URL boldfontUrl = this.getClass().getResource(boldPath);
try {
InputStream in = fontUrl.openStream();
//InputStream in = loader.getResourceAsStream(path);
font = Font.createFont(Font.TRUETYPE_FONT, in);
in = boldfontUrl.openStream();
//boldFont = new Font("Arial",Font.BOLD,1);
boldFont = Font.createFont(Font.TRUETYPE_FONT, in);
} catch (Exception e) {
e.printStackTrace();
font = new Font("Lucida Sans", Font.PLAIN, 12);
}
}
}