home *** CD-ROM | disk | FTP | other *** search
- import java.io.DataInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- public class letters {
- private letter[] letterIndex;
- private letter[] pictureIndex;
- private int letterCount;
- private int picCount;
- private boolean convertLetter;
- private short maxLetters = 256;
- private short maxPics = 256;
- private InputStream ipfile;
- private DataInputStream inputDataStream;
- private boolean fileError;
- int spaceWidth = 5;
- private boolean dbg;
-
- public boolean getFileError() {
- return this.fileError;
- }
-
- public boolean[][] getLetterArray(int var1) {
- return this.letterIndex[var1].getLetter();
- }
-
- private String readLine() throws IOException {
- String var2;
- do {
- var2 = this.inputDataStream.readLine();
- if (var2 == null) {
- return var2;
- }
-
- var2 = var2.trim();
- } while(var2.startsWith("##"));
-
- return var2;
- }
-
- public letter searchLetters(char var1) {
- int var2 = 0;
- this.debug("Search " + var1 + "letterCount " + this.letterCount);
- if (var1 == ' ') {
- return this.letterIndex[this.letterCount - 1];
- } else {
- while(var2 < this.letterCount && var1 != this.letterIndex[var2].getChar()) {
- ++var2;
- }
-
- if (var2 >= this.letterCount) {
- return null;
- } else {
- this.debug("Found " + this.letterIndex[var2].getChar());
- return this.letterIndex[var2];
- }
- }
- }
-
- private void debug(String var1) {
- if (this.dbg && var1 != null) {
- System.out.println(var1);
- }
-
- }
-
- private void debug(int var1) {
- if (this.dbg) {
- System.out.println(var1);
- }
-
- }
-
- public letter searchLetters(String var1) {
- int var2;
- for(var2 = 0; var2 < this.picCount && !var1.equals(this.pictureIndex[var2].getString()); ++var2) {
- }
-
- if (var2 >= this.picCount) {
- this.debug("Picture string not found");
- return null;
- } else {
- this.debug("Found " + this.letterIndex[var2].getString());
- return this.pictureIndex[var2];
- }
- }
-
- public letters(URL var1, String var2, int var3) {
- this.letterIndex = new letter[this.maxLetters];
- this.pictureIndex = new letter[this.maxPics];
- this.spaceWidth = var3;
-
- try {
- this.ipfile = (new URL(var1, var2)).openStream();
- this.inputDataStream = new DataInputStream(this.ipfile);
- } catch (MalformedURLException var4) {
- System.out.println("Error in URL" + var1.toString());
- this.fileError = true;
- } catch (IOException var5) {
- System.out.println("io exception opening " + var2);
- this.fileError = true;
- }
-
- }
-
- public void readFontFile() throws Exception {
- Object var1 = null;
- Object var2 = null;
- int var3 = 0;
-
- do {
- try {
- while(true) {
- var11 = this.readLine();
- if (var11 == null || var11.length() >= 1) {
- if (var11 != null) {
- this.debug("Char from font file :" + var11);
- String var10 = var11.trim();
- char var5 = var10.charAt(0);
- var11 = this.readLine();
- var3 = new Integer(var11);
- this.debug("width of letter :" + var3);
- if (var10.length() > 1) {
- this.debug("picture");
- this.pictureIndex[this.picCount] = new letter(var10, funcnum.MAXBITS, var3);
- this.convertLetter = false;
- } else {
- this.letterIndex[this.letterCount] = new letter(var5, funcnum.MAXBITS, var3);
- this.convertLetter = true;
- }
-
- for(int var6 = 0; var6 < var3; ++var6) {
- var11 = this.readLine();
-
- int var4;
- try {
- var4 = Integer.parseInt(var11, funcnum.MAXBITS);
- } catch (NumberFormatException var8) {
- throw new Exception("Error in font file - conversion");
- }
-
- this.debug("tempString " + var4);
- if (this.convertLetter) {
- this.conversion(this.letterCount, var4, var6);
- } else {
- this.conversion(this.picCount, var4, var6);
- }
- }
-
- if (this.convertLetter) {
- ++this.letterCount;
- } else {
- ++this.picCount;
- }
- }
- break;
- }
- }
- } catch (IOException var9) {
- throw new Exception("Read font error");
- }
- } while(var11 != null);
-
- try {
- this.ipfile.close();
- this.inputDataStream.close();
- } catch (IOException var7) {
- }
-
- this.letterIndex[this.letterCount++] = new letter(funcnum.MAXBITS, this.spaceWidth);
- }
-
- private void conversion(int var1, int var2, int var3) {
- int var4 = 0;
-
- for(int var5 = 0; var5 < funcnum.MAXBITS; ++var5) {
- var4 = var2 & 1;
- if (var4 == 1) {
- if (this.convertLetter) {
- this.letterIndex[var1].addOnOff(true, var5, var3);
- } else {
- this.pictureIndex[var1].addOnOff(true, var5, var3);
- }
- }
-
- var2 >>= 1;
- }
-
- }
- }
-