X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2FFont.java;h=48fd0dee7038a2d9534296adf916be41ed9deb4d;hb=1f1bf81e022398831354365d6522e92079556530;hp=ea17dff63085a6bef0a9d7d3197ab5d00a88c07c;hpb=fd6731e682bcf3801104fc3c35c808ba241b1739;p=org.ibex.core.git diff --git a/src/org/ibex/Font.java b/src/org/ibex/Font.java index ea17dff..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