package com.quiltplayer.view.swing; import java.awt.Font; import java.net.URL; import org.apache.log4j.Logger; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import com.quiltplayer.properties.Configuration; public class FontFactory { private static Logger log = Logger.getLogger(FontFactory.class); private static Font font; private static Font sansFont; private static Font largeFont; static { try { log.debug("Creating fonts..."); Resource file = new ClassPathResource("FreeSans.ttf"); URL url = file.getURL(); font = Font.createFont(Font.TRUETYPE_FONT, url.openStream()); sansFont = font; file = new ClassPathResource("DejaVuSans-ExtraLight.ttf"); url = file.getURL(); largeFont = Font.createFont(Font.TRUETYPE_FONT, url.openStream()); } catch (Exception e) { log.error(e.getMessage()); } } public static Font getFont(float size) { float fontSize = size + Configuration.getInstance().getFontBalancer() + 1; return font.deriveFont(fontSize); } public static Font getLargeTextFont(float size) { float fontSize = size + Configuration.getInstance().getFontBalancer(); return sansFont.deriveFont(fontSize); } }