dataOut.writeByte( (int) bounds.getWidth() );
dataOut.writeByte( (int) (bounds.getWidth() + this.characterSpacing) );
	public void saveBitMapFont(File file) 	throws IOException 	{		//FIXME 		// ADD CHARSPACING FIELD		BufferedImage image = createImage();		FileOutputStream out = new FileOutputStream( file );		String text = this.characterMap.getText();		DataOutputStream dataOut = new DataOutputStream( out );		// write whether there are mixed case characters included:		boolean hasMixedCase = hasMixedCase(text);		dataOut.writeBoolean( hasMixedCase );		// write the character-map:		String charMap = text;		if (!hasMixedCase) {			charMap = text.toLowerCase();		}		dataOut.writeUTF(charMap);		// write the widths of each character:		Graphics2D g = image.createGraphics();		if(this.optionAntiAliasing.isSelected() ){ 			g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);		} else {			g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);		}		FontRenderContext fc = g.getFontRenderContext();		for (int i = 0; i < text.length(); i++) {			String substring = text.substring( i, i + 1);			Rectangle2D bounds = this.derivedFont.getStringBounds(substring, fc);			dataOut.writeByte( (int) bounds.getWidth() );		}		// write the image itself:		ImageIO.write( image, "png", out );		out.close();				this.imageLabel.setIcon( new ImageIcon( image ) );	}