Ignore:
Timestamp:
01/29/14 10:29:04 (10 years ago)
Author:
jts21
Message:

Only try to init fonts after they've been extracted so they can actually be loaded

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/items/Text.java

    r776 r777  
    77import java.awt.GradientPaint;
    88import java.awt.Graphics2D;
     9import java.awt.GraphicsEnvironment;
    910import java.awt.Point;
    1011import java.awt.Polygon;
     
    2223import java.awt.geom.Point2D;
    2324import java.awt.geom.Rectangle2D;
     25import java.io.File;
    2426import java.text.AttributedString;
    2527import java.util.Collection;
     
    3941import org.expeditee.gui.FreeItems;
    4042import org.expeditee.math.ExpediteeJEP;
    41 import org.expeditee.settings.UserSettings;
    4243import org.expeditee.settings.experimental.ExperimentalFeatures;
    4344import org.nfunk.jep.Node;
     
    142143        // The font to display this text in
    143144        private Font _font;
     145       
     146        public static void InitFonts() {
     147                try {
     148                        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
     149
     150                        if (ge != null) {
     151                               
     152                            File fontDirectory = new File(FrameIO.FONT_PATH);
     153                            if (fontDirectory != null) {
     154                                File[] fontFiles = fontDirectory.listFiles();
     155                                if (fontFiles != null) {
     156   
     157                                    if (fontFiles.length>0) {
     158                                        System.out.println("Loading custom fonts:");
     159                                    }
     160   
     161                                    boolean first_item = true;                             
     162                                    for (File fontFile : fontFiles) {
     163                                        String ext = "";
     164                                        String fileName = fontFile.getName().toLowerCase();
     165                               
     166                                        int i = fileName.lastIndexOf('.');
     167                                int p = Math.max(fileName.lastIndexOf('/'), fileName.lastIndexOf('\\'));
     168                               
     169                                if (i > p) {
     170                                    ext = fileName.substring(i+1);
     171                                }
     172       
     173                                                if (ext.equals("ttf")) {
     174                                                    if (first_item) {
     175                                                        System.out.print("  " + fontFile.getName());
     176                                                    }
     177                                                    else {
     178                                                        System.out.print(", " + fontFile.getName());
     179                                                    }
     180                                                    System.out.flush();
     181       
     182                                                    Font font = Font.createFont(Font.TRUETYPE_FONT, fontFile);
     183                                                   
     184                                                    ge.registerFont(font);
     185                                                    first_item = false;
     186                                                }
     187                                    }
     188                                    System.out.println();
     189   
     190                                }
     191                            }
     192                        }
     193                        else {
     194                                System.err.println("No graphics environment detected.  Skipping the loading of the custom fonts");
     195                        }
     196                }
     197                catch (Exception e) {
     198                        System.err.println("Failed to load custom fonts");
     199                        e.printStackTrace();
     200                }
     201        }
    144202
    145203        /**
Note: See TracChangeset for help on using the changeset viewer.