diff --git a/diylc/diylc-core/src/org/diylc/core/Project.java b/diylc/diylc-core/src/org/diylc/core/Project.java index 7790b3c0..44d1e5f6 100644 --- a/diylc/diylc-core/src/org/diylc/core/Project.java +++ b/diylc/diylc-core/src/org/diylc/core/Project.java @@ -53,7 +53,7 @@ public class Project implements Serializable { public static Size DEFAULT_WIDTH = new Size(29d, SizeUnit.cm); public static Size DEFAULT_HEIGHT = new Size(21d, SizeUnit.cm); public static Size DEFAULT_GRID_SPACING = new Size(0.1d, SizeUnit.in); - public static Font DEFAULT_FONT = new Font("Tahoma", Font.PLAIN, 14); + public static Font DEFAULT_FONT = new Font("Square721 BT", Font.PLAIN, 14); private VersionNumber fileVersion; diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 3a8e9c39..23306dd3 100644 Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ diff --git a/diylc/diylc-swing/fonts/square721_bt.ttf b/diylc/diylc-swing/fonts/square721_bt.ttf new file mode 100644 index 00000000..e2355203 Binary files /dev/null and b/diylc/diylc-swing/fonts/square721_bt.ttf differ diff --git a/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java b/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java index 379db03f..ffb03882 100644 --- a/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java +++ b/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java @@ -18,11 +18,15 @@ package org.diylc; import java.awt.AlphaComposite; +import java.awt.Font; +import java.awt.FontFormatException; import java.awt.Graphics2D; +import java.awt.GraphicsEnvironment; import java.awt.Point; import java.awt.SplashScreen; import java.io.File; import java.io.FileInputStream; +import java.io.IOException; import java.net.URL; import java.util.Properties; @@ -118,8 +122,26 @@ public class DIYLCStarter { Thread fontThread = new Thread(new Runnable() { @Override - public void run() { + public void run() { LOG.debug("Starting font pre-loading"); + + File dir = new File("fonts"); + File[] fonts = dir.listFiles(); + + for (int i = 0; i < fonts.length; i++) { + try { + LOG.info("Dynamically loading font: " + fonts[i].getName()); + Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File(fonts[i].getAbsolutePath())).deriveFont(12f); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + // register the font + ge.registerFont(customFont); + } catch (IOException e) { + LOG.error("Could not load font", e); + } catch (FontFormatException e) { + LOG.error("Font format error", e); + } + } + FontChooserComboBox box = new FontChooserComboBox(); box.getPreferredSize(); JPanel p = new JPanel();