X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2FFont.java;h=48fd0dee7038a2d9534296adf916be41ed9deb4d;hb=2532e32f07910e63b366ac8e02e897e5314be72c;hp=fc849794a23db36d65c718c660b0be21542d9123;hpb=db4ab6de30e095d6448fb826c2e6f0d4ac53cc7b;p=org.ibex.core.git diff --git a/src/org/ibex/Font.java b/src/org/ibex/Font.java index fc84979..48fd0de 100644 --- a/src/org/ibex/Font.java +++ b/src/org/ibex/Font.java @@ -3,6 +3,8 @@ package org.ibex; import org.ibex.translators.*; import org.ibex.util.*; import java.io.*; +import java.util.Hashtable; + import org.ibex.js.JSExn; // FEATURE: this could be cleaner @@ -36,7 +38,8 @@ public class Font { // Statics ////////////////////////////////////////////////////////////////////// private static final Freetype freetype = new Freetype(); - static final Queue glyphsToBeRendered = new Queue(255); + static final Hashtable glyphsToBeCached = new Hashtable(); + static final Hashtable glyphsToBeDisplayed = new Hashtable(); private static Cache fontCache = new Cache(100); public static Font getFont(Stream stream, int pointsize) { Font ret = (Font)fontCache.get(stream, new Integer(pointsize)); @@ -62,48 +65,51 @@ public class Font { final Scheduler.Task callback) { boolean encounteredUnrenderedGlyph = false; int width = 0, height = 0; - for(int i=0; i