Bitmap Font

I need help getting a certain 16x16 area on a bitmap of my choice, preferably I want to have a variable that can change (0,1,2,3), so I can just wip up something using ascii to map character to point, and then will get that 16x16 area.

Currently when I change the texture coords, the smaller it is, the more zoomed in it is on the bottom left, the bigger it is, the more zoomed out it is, but when I make them different from each other it start slanting and doing weird stuff? What am I doing wrong and how do I only show one slot?

My code so far:


glPushMatrix();
		{
			glColor4f(0f, 0f, 0f, 1.0f);
			glTranslated(x,y,0);
			bitmap.bind();
			for(int i = 0; i < str.length(); i++){
				
				glBegin(GL_QUADS);
				{
					glTexCoord2f(0,0); glVertex2d(0, 0);
					glTexCoord2f(0.25f,0); glVertex2d(0, fontSize);
					glTexCoord2f(0.25f,0.25f); glVertex2d(fontSize, fontSize);
					glTexCoord2f(0,0.25f); glVertex2d(fontSize, 0);
				}
				glEnd();
			}
		}
		glPopMatrix();

Fontsize is the size its going to renderer, For my tests I passed it as 10.