?? datamatrix.java
字號:
{
return rotate;
}
public void setProcessTilde(boolean flag)
{
processTilde = flag;
reBuild = true;
invalidate();
}
public boolean getProcessTilde()
{
return processTilde;
}
public void setEncodingMode(int i)
{
encoding = i;
reBuild = true;
invalidate();
}
public int getEncodingMode()
{
return encoding;
}
public void setPreferredFormat(int i)
{
preferredFormat = i;
reBuild = true;
invalidate();
}
public int getPreferredFormat()
{
return preferredFormat;
}
private int C0(int i, int j)
{
int k = (149 * j) % 255;
k++;
int l = i + k;
if(l <= 255)
return l;
else
return l - 256;
}
private boolean C1(int i)
{
return i >= 48 && i <= 57;
}
private void C2(int ai[], int ai1[], int i, int j, int k)
{
for(int l = 0; l < k; l++)
ai1[j + l] = ai[i + l];
}
private int C3(int ai[], int i, int j, String as[])
{
double d = 0.0D;
double d2 = 1.0D;
double d3 = 1.0D;
double d4 = 1.25D;
int k = j;
if(i != E_ASCII)
{
d = 1.0D;
d2 = 2D;
d3 = 2D;
d4 = 2.25D;
}
if(i == E_C40)
d2 = 0.0D;
if(i == E_TEXT)
d3 = 0.0D;
if(i == E_BASE256)
d4 = 0.0D;
for(; j < ai.length; j++)
{
char c = (char)ai[j];
if(C1(c))
d += 0.5D;
else
if(c > '\177')
d = Math.round(d) + 2L;
else
d = Math.round(d) + 1L;
if(C1[c].length == 1)
d2 += 0.66000000000000003D;
else
if(c > '\177')
d2 += 2.6600000000000001D;
else
d2 += 1.3300000000000001D;
char c1 = c;
String s = "" + c;
if(c >= 'A' && c <= 'Z')
c1 = s.toLowerCase().charAt(0);
if(c >= 'a' && c <= 'z')
c1 = s.toUpperCase().charAt(0);
if(C1[c1].length == 1)
d3 += 0.66000000000000003D;
else
if(c1 > '\177')
d3 += 2.6600000000000001D;
else
d3 += 1.3300000000000001D;
d4++;
if(as[j] != null)
return E_ASCII;
if(j - k >= 4)
{
if(d + 1.0D <= d2 && d + 1.0D <= d3 && d + 1.0D <= d4)
return E_ASCII;
if(d4 + 1.0D <= d)
return E_BASE256;
if(d4 + 1.0D < d3 && d4 + 1.0D < d2)
return E_BASE256;
if(d3 + 1.0D < d && d3 + 1.0D < d2 && d3 + 1.0D < d4)
return E_TEXT;
if(d2 + 1.0D < d && d2 + 1.0D < d3 && d2 + 1.0D < d4)
return E_C40;
}
}
d = Math.round(d);
d2 = Math.round(d2);
d3 = Math.round(d3);
d4 = Math.round(d4);
if(d <= d2 && d <= d3 && d <= d4)
return E_ASCII;
if(d3 < d && d3 < d2 && d3 < d4)
return E_TEXT;
if(d4 < d && d4 < d3 && d4 < d2)
return E_BASE256;
else
return E_C40;
}
private int C4(int i, int ai[], int ai1[], String as[])
{
int ai2[] = new int[6000];
int ai3[] = new int[6000];
boolean flag = false;
int j1 = 0;
int k1 = E_ASCII;
int ai4[] = new int[1];
int ai5[] = new int[1];
int l2 = E_ASCII;
String as1[] = new String[10];
for(int i3 = 0; i3 < as1.length; i3++)
as1[i3] = null;
int j3 = 0;
currentEncoding = E_ASCII;
while(j3 < i)
{
while(currentEncoding == E_ASCII && j3 < i)
{
boolean flag1 = false;
if(j3 + 1 < i && C1(ai[j3]) && C1(ai[j3 + 1]))
{
if(l2 != E_ASCII)
ai1[j1++] = 254;
ai2[0] = ai[j3];
ai2[1] = ai[j3 + 1];
int j = CE(2, ai2, ai3, as1);
C2(ai3, ai1, 0, j1, j);
j1 += j;
j3++;
j3++;
flag1 = true;
l2 = E_ASCII;
}
if(!flag1)
{
int l1 = C3(ai, currentEncoding, j3, as);
if(l1 != E_ASCII)
l2 = currentEncoding;
currentEncoding = l1;
}
}
if(!flag1 && currentEncoding == E_ASCII)
{
if(l2 != E_ASCII)
ai1[j1++] = 254;
ai2[0] = ai[j3];
as1[0] = as[j3];
int k = CE(1, ai2, ai3, as1);
as1[0] = null;
C2(ai3, ai1, 0, j1, k);
j1 += k;
j3++;
l2 = E_ASCII;
}
}
int i2;
for(; currentEncoding == E_C40 && j3 < i; currentEncoding = i2)
{
ai4[0] = j3;
int l = C6(i, ai4, ai, ai3, false, l2 != E_C40, true);
j3 = ai4[0];
C2(ai3, ai1, 0, j1, l);
j1 += l;
i2 = C3(ai, currentEncoding, j3, as);
l2 = currentEncoding;
}
int j2;
for(; currentEncoding == E_TEXT && j3 < i; currentEncoding = j2)
{
ai4[0] = j3;
int i1 = C6(i, ai4, ai, ai3, true, l2 != E_TEXT, true);
j3 = ai4[0];
C2(ai3, ai1, 0, j1, i1);
j1 += i1;
j2 = C3(ai, currentEncoding, j3, as);
l2 = currentEncoding;
}
if(currentEncoding == E_BASE256)
{
ai4[0] = j3;
ai5[0] = j1;
C5(i, ai4, ai, ai5, ai1, true, as);
j3 = ai4[0];
j1 = ai5[0];
int k2 = C3(ai, currentEncoding, j3, as);
l2 = currentEncoding;
currentEncoding = k2;
}
}
return j1;
}
private int C5(int i, int ai[], int ai1[], int ai2[], int ai3[], boolean flag, String as[])
{
int j = 0;
int ai4[] = new int[6000];
int k = ai2[0];
int l = ai2[0];
boolean flag1 = false;
int j1 = 0;
for(j1 = ai[0]; j1 < i; j1++)
{
ai4[j] = ai1[j1];
j++;
int i1 = j1 + 1;
if(flag && C3(ai1, E_BASE256, i1, as) != E_BASE256)
break;
}
ai[0] = j1;
ai3[l++] = 231;
if(j < 250)
{
ai3[l] = C0(j, l + 1);
l++;
} else
{
ai3[l] = C0(249 + (i - i % 250) / 250, l + 1);
l++;
ai3[l] = C0(i % 250, l + 1);
l++;
}
for(int k1 = 0; k1 < j; k1++)
{
ai3[l] = C0(ai4[k1], l + 1);
l++;
}
ai2[0] = l;
return l;
}
private int C6(int i, int ai[], int ai1[], int ai2[], boolean flag, boolean flag1, boolean flag2)
{
int j = 0;
int k = 0;
int ai3[] = {
0, 0, 0
};
boolean flag3 = false;
String as[] = new String[10];
for(int i1 = 0; i1 < as.length; i1++)
as[i1] = null;
if(flag1)
if(flag)
ai2[j++] = 239;
else
ai2[j++] = 230;
for(int j1 = ai[0]; j1 < i; j1++)
{
int l = ai1[j1];
if(flag)
{
String s = "" + (char)l;
if(l >= 97 && l <= 122)
s = s.toUpperCase();
if(l >= 65 && l <= 90)
s = s.toLowerCase();
l = s.charAt(0);
}
int ai4[] = C1[l];
for(int l1 = 0; l1 < ai4.length; l1++)
{
ai3[k++] = ai4[l1];
if(k == 3)
{
int i2 = ai3[0] * 1600 + ai3[1] * 40 + ai3[2] + 1;
ai2[j++] = i2 / 256;
ai2[j++] = i2 % 256;
k = 0;
}
}
if(flag2 && k == 0)
{
C49rest = k;
ai[0] = j1 + 1;
if(ai[0] == i)
ai2[j++] = 254;
return j;
}
}
ai[0] = i;
if(k > 0)
{
if(k == 1)
{
ai2[j++] = 254;
ai2[j++] = ai1[i - 1] + 1;
return j;
}
if(k == 2)
{
ai3[2] = 0;
int k1 = ai3[0] * 1600 + ai3[1] * 40 + ai3[2] + 1;
ai2[j++] = k1 / 256;
ai2[j++] = k1 % 256;
ai2[j++] = 254;
C49rest = k;
return j;
}
} else
{
ai2[j++] = 254;
}
C49rest = k;
return j;
}
protected void paintBasis(Graphics g)
{
if(marginCM != 0.0D)
margin = (int)(marginCM * (double)resolution);
if(margin < 1)
margin = 1;
if(X != 0.0D)
dotPixels = (int)(X * (double)resolution);
if(dotPixels < 1)
dotPixels = 1;
topMarginPixels = margin;
leftMarginPixels = margin;
if(code.length() == 0)
return;
g.setColor(backColor);
int i = getSize().width;
int j = getSize().height;
if(rotate == 0 || rotate == 180)
g.fillRect(0, 0, i, j);
else
g.fillRect(0, 0, j, i);
if(bitmap == null || reBuild)
CA();
if(bitmap == null)
return;
int k = margin;
int l = margin;
for(int i1 = 0; i1 < rows; i1++)
{
for(int j1 = 0; j1 < cols; j1++)
if(bitmap[j1][i1] != 0)
C7(g, k + dotPixels * j1, l + dotPixels * i1, dotPixels, barColor);
else
C7(g, k + dotPixels * j1, l + dotPixels * i1, dotPixels, backColor);
}
currentX = dotPixels * cols + margin;
currentY = dotPixels * rows + margin;
if(rotate == 0 || rotate == 180)
{
pHeight = currentY + margin;
pWidth = currentX + margin;
} else
{
pWidth = currentY + margin;
pHeight = currentX + margin;
}
if(autoSize)
setSize(pWidth, pHeight);
Calendar calendar = Calendar.getInstance();
int k1 = calendar.get(14);
if(k1 < 400)
{
g.setFont(new Font("Arial", 0, 11));
int l1 = g.getFontMetrics().getHeight();
g.setColor(backColor);
g.fillRect(leftMarginPixels + 6, 0, 125, l1 + 3);
g.setColor(barColor);
g.drawString("IDAutomation DEMO", leftMarginPixels + 10, l1 + 1);
}
}
private void C7(Graphics g, int i, int j, int k, Color color)
{
g.setColor(color);
g.fillRect(i, j, k, k);
}
private int C8(int i, int j)
{
int k = (149 * j) % 253;
k++;
int l = i + k;
if(l <= 254)
return l;
else
return l - 254;
}
private String C9(String s, String as[])
{
boolean flag = false;
int k = s.length();
String s1 = "";
boolean flag1 = false;
for(int i = 0; i < k; i++)
{
int j = s.charAt(i);
if(j == 126)
{
if(i < k - 1)
{
char c = s.charAt(i + 1);
if(c >= '@' && c <= 'Z')
{
i++;
s1 = s1 + (char)(c - 64);
}
if(c == '~')
{
s1 = s1 + '~';
i++;
}
if(c == '1')
{
if(s1.length() == 0 || s1.length() == 1 || s1.length() == 4 || s1.length() == 5)
{
as[s1.length()] = "";
s1 = s1 + '\350';
} else
{
s1 = s1 + '\035';
}
i++;
}
if(c == '2' && i < k - 4)
{
as[s1.length()] = "" + s.charAt(i + 2) + s.charAt(i + 3) + s.charAt(i + 4);
s1 = s1 + '\351';
i += 4;
}
if(c == '3' && s1.length() == 0)
{
as[s1.length()] = "";
s1 = s1 + '\352';
i++;
}
if(c == '5' && s1.length() == 0)
{
as[s1.length()] = "";
s1 = s1 + '\354';
i++;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -