package org.newdawn.slick.tests; import org.newdawn.slick.AngelCodeFont; import org.newdawn.slick.AppGameContainer; import org.newdawn.slick.BasicGame; import org.newdawn.slick.Color; import org.newdawn.slick.Font; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.Image; import org.newdawn.slick.SlickException; import org.newdawn.slick.AngelCodeFont.Glyph; public class FontWidthBug extends BasicGame { private Image image; private AngelCodeFont font; public FontWidthBug() { super("FontWidthBug"); } public void render(GameContainer container, Graphics g) throws SlickException { image.draw(100,100); Glyph fg = font.getGlyph('w'); fg.image.draw(100, 260); g.drawRect(100, 260, fg.width+fg.xoffset, fg.height); // g.drawString("width: "+(fg.width-fg.xoffset), 100, 300); // g.drawString("width 2: "+font.getWidth("b"), 100, 320); } public void init(GameContainer container) throws SlickException { font = (AngelCodeFont)container.getDefaultFont();//new AngelCodeFont("testdata/hiero.fnt", "testdata/hiero.png"); String text = "w1a|"; image = new Image(font.getWidth(text), font.getLineHeight()); Graphics g = image.getGraphics(); font.drawString(0, 0, text); g.setColor(Color.red); g.drawRect(0, 0, image.getWidth()-1, image.getHeight()-1); g.flush(); } public void update(GameContainer container, int delta) throws SlickException {} public static void main(String[] args) { try { new AppGameContainer(new FontWidthBug()).start(); } catch (SlickException e) { e.printStackTrace(); } } }