/*
* Created on 2005-09-22 by piotrm
*
*/
package org.getopt.pcl5.PCL5Interpreter;
import java.io.IOException;
import java.io.InputStream;
public class FontDescriptorPCLBitmappedFonts {
public class FontType {
public final static int LaserJetFamily = 4;
public final static int IntellifontScalable = 10;
public final static int TrueTypeScalable = 15;
}
public class FontClass {
public final static int Bitmap = 1;
public final static int CompressedBitmap = 2;
public final static int Contour = 3;
public final static int CompoundContour = 4;
public final static int TrueTypeScalable = 5;
}
// private int _format;
// private boolean _continuation;
private int _descriptorSize;
private int _class;
private int _orientation;
private int _reserved;
private int _leftOffset;
private int _topOffset;
private int _characterWidth;
private int _characterHeight;
private int _deltaX;
private byte[] _rasterCharacterData;
public FontDescriptorPCLBitmappedFonts(int numOfBytes, InputStream in)
throws IOException {
// _format = 4; // LaserJet Family
_descriptorSize = in.read(); // The descriptor size used by the HP LaserJet
// printer family for bitmap fonts is 14.
_class = in.read();
_orientation = in.read();
_reserved = in.read();
_leftOffset = 256 * in.read() + in.read();
_topOffset = 256 * in.read() + in.read();
_characterWidth = 256 * in.read() + in.read();
_characterHeight = 256 * in.read() + in.read();
_deltaX = 256 * in.read() + in.read();
_rasterCharacterData = new byte[numOfBytes - 16];
in.read(_rasterCharacterData);
}
public void continueFont(int numOfBytes, InputStream in) throws IOException {
int newLen = _rasterCharacterData.length + numOfBytes - 2;
byte[] characterData = new byte[numOfBytes - 2];
in.read(characterData);
}
public int getCharacterHeight() {
return _characterHeight;
}
public int getCharacterWidth() {
return _characterWidth;
}
public int getLeftOffset() {
return _leftOffset;
}
}