GL11.glOrtho(0, mode.getWidth(), 0, mode.getHeight(), -1, 1);
GLU.gluOrtho2D(0, DisplaySystem.getDisplaySystem().getWidth(), 0, DisplaySystem.getDisplaySystem().getHeight());
    public void print(int x, int y, Vector3f scale, StringBuffer text, int set) {        if (set > 1) {            set = 1;        } else if (set < 0) {            set = 0;        }        GL11.glMatrixMode(GL11.GL_PROJECTION);        GL11.glPushMatrix();        GL11.glLoadIdentity();        GL11.glOrtho(0, mode.getWidth(), 0, mode.getHeight(), -1, 1);        GL11.glMatrixMode(GL11.GL_MODELVIEW);        GL11.glPushMatrix();        GL11.glLoadIdentity();        GL11.glTranslatef(x, y, 0);        GL11.glScalef(scale.x, scale.y, scale.z);        GL11.glListBase(base - 32 + (128 * set));        //Put the string into a "pointer"        if (text.length() > scratch.capacity()) {            scratch = BufferUtils.createByteBuffer(text.length()); //ByteBuffer.allocateDirect(text.length()).order(ByteOrder.nativeOrder());        } else {            scratch.clear();        }               int charLen = text.length();        for (int z = 0; z < charLen; z++)            scratch.put((byte) text.charAt(z));        scratch.flip();        GL11.glColor4f(fontColor.r, fontColor.g, fontColor.b, fontColor.a);        //call the list for each letter in the string.        GL11.glCallLists(scratch);        GL11.glMatrixMode(GL11.GL_PROJECTION);        GL11.glPopMatrix();        GL11.glMatrixMode(GL11.GL_MODELVIEW);        GL11.glPopMatrix();    }