📄 i.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
package I;
import java.io.*;
import java.util.Vector;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import kof.C;
public class I
{
public Image addElement;
public short append[];
public byte charAt[];
public int I;
public int Z;
public int close;
public int createImage;
public String drawImage;
public String elementAt;
byte fillRect[] = {
9, 7, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 7, 9,
9, 8, 9, 10, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 7, 7, 9, 11,
5, 7, 5, 9, 10, 5, 5, 9, 9, 9,
9, 9, 6, 5, 5, 9, 9, 9, 11
};
public I(String s, String s1)
{
drawImage = s;
elementAt = s1;
addElement = null;
}
public final void I()
{
DataInputStream datainputstream;
int i;
int j;
int k;
int l;
if(addElement != null)
return;
try
{
addElement = Image.createImage(drawImage);
}
catch(Exception exception)
{
addElement = null;
}
InputStream inputstream = getClass().getResourceAsStream(elementAt);
if(inputstream == null)
break MISSING_BLOCK_LABEL_404;
datainputstream = new DataInputStream(inputstream);
if(datainputstream == null)
break MISSING_BLOCK_LABEL_404;
i = 1;
j = 1;
k = 0;
l = 0;
int i1 = datainputstream.readUnsignedByte();
close = i1;
String s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()?@.-\314\300\331:,\277\311\332\323\301\315\241!\304\334\326\337#~;\"'&+()[]\253\273\256<`%\302\303\304\305\306\307\310\312\313\314\316\317\320\321\322\324\325\326\330\333\334\335\336\337";
charAt = new byte[s.length()];
append = new short[2 * s.length()];
createImage = datainputstream.readInt();
I = datainputstream.readUnsignedByte();
Z = datainputstream.readUnsignedByte() - 1;
byte byte0 = 2;
int ai[] = new int[2];
ai[0] = 27;
ai[1] = 32;
boolean flag = false;
int j1 = 0;
for(int k1 = 0; k1 < byte0; k1++)
{
for(int l1 = 0; l1 < ai[k1]; l1++)
{
try
{
k = fillRect[j1];
}
catch(Throwable throwable)
{
System.out.println("counter " + j1);
System.out.println("size: " + fillRect.length);
}
j1++;
append[l * 2] = (short)i;
append[l * 2 + 1] = (short)j;
charAt[l] = (byte)k;
i += k;
l++;
}
i = 1;
j += Z + 1;
}
try
{
datainputstream.close();
}
catch(Exception exception3) { }
break MISSING_BLOCK_LABEL_404;
Exception exception1;
exception1;
System.out.println("Font writer excpeiton " + exception1);
try
{
datainputstream.close();
}
catch(Exception exception4) { }
break MISSING_BLOCK_LABEL_404;
Exception exception2;
exception2;
try
{
datainputstream.close();
}
catch(Exception exception5) { }
throw exception2;
}
public final void I(Graphics g, String s, int i, int j)
{
addElement(g, s, i, j, true);
}
public final int I(Graphics g, String s, int i)
{
return append(g, s, i, true);
}
public final int I(Graphics g, String s, int i, int j, int k)
{
if((k & 0x2) != 0)
{
int l = close(s);
j -= l * Z >> 1;
}
if((k & 0x1) == 0)
{
return addElement(g, s, i, j, true);
} else
{
int i1 = addElement(g, s, i, j, false);
return addElement(g, s, i - i1 / 2, j, true);
}
}
protected final int addElement(Graphics g, String s, int i, int j, boolean flag)
{
if(g == null || s == null || addElement == null || append == null)
return 0;
int k = i;
int l = i;
int i1 = I * 4;
int j1 = g.getClipX();
int k1 = g.getClipY();
int l1 = g.getClipWidth();
int i2 = g.getClipHeight();
if((close & 0x2) != 0)
g.setColor(createImage);
String s1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()?@.-\314\300\331:,\277\311\332\323\301\315\241!\304\334\326\337#~;\"'&+()[]\253\273\256<`%\302\303\304\305\306\307\310\312\313\314\316\317\320\321\322\324\325\326\330\333\334\335\336\337";
for(int j2 = 0; j2 < s.length(); j2++)
{
int k2 = s.charAt(j2);
switch(k2)
{
case 10: // '\n'
case 124: // '|'
j += Z;
i = k;
break;
case 9: // '\t'
int l2 = i - k;
l2 = (l2 / i1 + 1) * i1;
i = k + l2;
break;
default:
k2 = Character.toUpperCase((char)k2);
int i3 = s1.indexOf(k2);
if(i3 >= 0 && charAt[i3] > 0)
{
if(flag)
{
g.setClip(i, j, charAt[i3], Z);
g.drawImage(addElement, i - append[i3 * 2], j - append[i3 * 2 + 1], 20);
}
i += charAt[i3];
} else
{
if((close & 0x2) != 0 && flag)
{
g.setClip(i, j, I, Z);
g.fillRect(i, j, I, Z);
}
i += I;
}
break;
case 13: // '\r'
break;
}
if(i > l)
l = i;
}
g.setClip(j1, k1, l1, i2);
return l - k;
}
protected final int append(Graphics g, String s, int i, boolean flag)
{
boolean flag1;
Vector vector;
flag1 = false;
vector = new Vector(5);
if(g == null || s == null || addElement == null || append == null)
return 0;
boolean flag2 = flag1;
int k = flag1;
int l = I * 4;
int i1 = g.getClipX();
int j1 = g.getClipY();
int k1 = g.getClipWidth();
int l1 = g.getClipHeight();
int i2 = 0;
int k2 = 0;
boolean flag3 = false;
if((close & 0x2) != 0)
g.setColor(createImage);
boolean flag4 = true;
String s1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()?@.-\314\300\331:,\277\311\332\323\301\315\241!\304\334\326\337#~;\"'&+()[]\253\273\256<`%\302\303\304\305\306\307\310\312\313\314\316\317\320\321\322\324\325\326\330\333\334\335\336\337";
i2 = s.indexOf(32, k2 + 1);
String s2 = null;
if(i2 == -1)
{
s2 = s;
} else
{
String s3 = "";
int i3 = 0;
int k3 = 0;
while(flag4)
{
int j2 = s.indexOf(32, k2 + 1);
String s4 = "";
if(j2 != -1)
{
s4 = s.substring(k2, j2);
k2 = j2;
int j4 = 0;
for(int k4 = 0; k4 < s4.length(); k4++)
{
char c = s4.toUpperCase().charAt(k4);
if(c == ' ')
{
j4 += 10;
} else
{
int i5 = s1.indexOf(c);
if(i5 < 0 && s4.charAt(k4) != ' ')
throw new RuntimeException("LEtter not found " + s4.charAt(k4));
j4 = fillRect[i5];
}
i3 += j4;
}
int l4 = i3 - k3;
k3 = i3;
if(i3 >= C.Z)
{
vector.addElement(s3);
s3 = s4.trim();
i3 = l4;
k3 = 0;
} else
{
s3 = s3 + s4;
}
} else
{
flag4 = false;
if((s3 + s4 + s.substring(k2, s.length())).length() * 9 > C.Z)
{
vector.addElement(s3 + s4);
vector.addElement(s.substring(k2, s.length()));
} else
{
vector.addElement(s3 + s4 + s.substring(k2, s.length()));
}
}
}
}
for(int l2 = 0; l2 < vector.size(); l2++)
{
int j = 0;
i += Z;
for(int j3 = 0; j3 < ((String)vector.elementAt(l2)).length(); j3++)
{
int l3 = ((String)vector.elementAt(l2)).charAt(j3);
switch(l3)
{
}
if((close & 0x1) != 0)
l3 = Character.toUpperCase((char)l3);
int i4 = s1.indexOf(l3);
if(i4 >= 0 && charAt[i4] > 0)
{
if(flag)
{
g.setClip(j, i, charAt[i4], Z);
g.drawImage(addElement, j - append[i4 * 2], i - append[i4 * 2 + 1], 20);
}
j += charAt[i4];
} else
{
if((close & 0x2) != 0 && flag)
{
g.setClip(j, i, I, Z);
g.fillRect(j, i, I, Z);
}
j += I;
}
if(j > k)
k = j;
}
}
g.setClip(i1, j1, k1, l1);
return i + Z;
Throwable throwable;
throwable;
throwable.printStackTrace();
return -1;
}
public static final int charAt(String s, int i)
{
int j = s.indexOf(10, i);
int k = s.indexOf(124, i);
if(k < 0)
return j;
if(j < 0)
return k;
else
return Math.min(k, j);
}
public static final int close(String s)
{
int i = 1;
for(int j = -1; (j = charAt(s, j + 1)) >= 0;)
i++;
return i;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -