import java.applet.*; import java.awt.*; import java.io.*; import java.util.*; public class ps7e3 extends Applet implements Runnable { int vect[][][] = new int[26][30][4]; int polyx[] = new int[4]; int polyy[] = new int[4]; int conson[] = new int[30]; GridBagLayout gbl1 = new GridBagLayout(); TextField tf1 = new TextField(6); Label lab1 = new Label("Enter Text: "); Button btn1 = new Button(" activate "); int i, ii, j, jj, k, kk, m, mm, n, nn, scale, strmax; boolean num; boolean infinite = true; boolean zipletters=false; boolean iloop=false; Character testchar; String str0, str1, str2,str3,str4, blurstr; String inStr = " "; Float fblurfac,fnoisefac; Image bufimage; char selectedkey[]; Thread animator = null; int xorig,yorig,xoff,yoff,xthick,ythick,xserif,yserif,lserif, wserif,stemval; int blurfac,sblurfac,noisefac,noiseinc, thickfac, origfac; int bf1,bf2,bf5,bf10,nf1,nf2,thf1; public void init() { for (int i = 0; i< 26; i++) { for(int j = 0; j < 30; j++) { vect[i][j][1] = 999; vect[i][j][2] = 999; vect[i][j][3] = 999; } } // feature codes: // 0 = normal // 1 = stem // 2 = left serif // 3 = right serif // 4 = double serif // 5 = left serif // 6 = right serif // 7 = double serif // 8 = down serif // 9 = up serif // 10 = up-down serif // 999 means end of array // -500 means lift pen vect[0][0][1]=19; vect[0][0][2]=-1; vect[0][0][3]=4; vect[0][1][1]=73; vect[0][1][2]=-137; vect[0][1][3]=0 ; vect[0][2][1]=116; vect[0][2][2]=-1; vect[0][2][3]=4 ; vect[0][3][1]= -500; vect[0][3][2]= -500; vect[0][3][3]=-500 ; vect[0][4][1]=36; vect[0][4][2]=-49; vect[0][4][3]=0; vect[0][5][1]=98; vect[0][5][2]=-49; vect[0][5][3]=0; vect[1][0][1]=28; vect[1][0][2]=-1; vect[1][0][3]=5; vect[1][1][1]=28; vect[1][1][2]=-133; vect[1][1][3]=5; vect[1][2][1]=54; vect[1][2][2]=-131; vect[1][2][3]=0 ; vect[1][3][1]=88; vect[1][3][2]=-124; vect[1][3][3]=0; vect[1][4][1]=102; vect[1][4][2]=-101; vect[1][4][3]=0; vect[1][5][1]=92; vect[1][5][2]=-75; vect[1][5][3]=0 ; vect[1][6][1]=68; vect[1][6][2]=-68; vect[1][6][3]=0; vect[1][7][1]=31; vect[1][7][2]=-69; vect[1][7][3]=0; vect[1][8][1]=68; vect[1][8][2]=-68; vect[1][8][3]=0; vect[1][9][1]=99; vect[1][9][2]=-56; vect[1][9][3]=0 ; vect[1][10][1]=108; vect[1][10][2]=-36; vect[1][10][3]=0; vect[1][11][1]=96; vect[1][11][2]=-12; vect[1][11][3]=0; vect[1][12][1]=75; vect[1][12][2]=-4; vect[1][12][3]=0; vect[1][13][1]=31; vect[1][13][2]=-3; vect[1][13][3]=0; vect[2][0][1]=115; vect[2][0][2]=-115; vect[2][0][3]=10; vect[2][1][1]=95; vect[2][1][2]=-128; vect[2][1][3]=0; vect[2][2][1]=69; vect[2][2][2]=-135; vect[2][2][3]=0; vect[2][3][1]=45; vect[2][3][2]=-123; vect[2][3][3]=0; vect[2][4][1]=26; vect[2][4][2]=-103; vect[2][4][3]=0; vect[2][5][1]=17; vect[2][5][2]=-71; vect[2][5][3]=0; vect[2][6][1]=21; vect[2][6][2]=-43; vect[2][6][3]=0; vect[2][7][1]=37; vect[2][7][2]=-17; vect[2][7][3]=0; vect[2][8][1]=67; vect[2][8][2]=-3; vect[2][8][3]=0; vect[2][9][1]=95; vect[2][9][2]=-6; vect[2][9][3]=0; vect[2][10][1]=122; vect[2][10][2]=-30; vect[2][10][3]=0; vect[3][0][1]=29; vect[3][0][2]=-1; vect[3][0][3]=5; vect[3][1][1]=30; vect[3][1][2]=-133; vect[3][1][3]=5; vect[3][2][1]=57; vect[3][2][2]=-131; vect[3][2][3]=0 ; vect[3][3][1]=93; vect[3][3][2]=-125; vect[3][3][3]=0; vect[3][4][1]=114; vect[3][4][2]=-106; vect[3][4][3]=0; vect[3][5][1]=124; vect[3][5][2]=-72; vect[3][5][3]=0; vect[3][6][1]=117; vect[3][6][2]=-40; vect[3][6][3]=0; vect[3][7][1]=97; vect[3][7][2]=-12; vect[3][7][3]=0; vect[3][8][1]=70; vect[3][8][2]=-4; vect[3][8][3]=0; vect[3][9][1]=30; vect[3][9][2]=-2; vect[3][9][3]=0; vect[4][0][1]=105; vect[4][0][2]=-2; vect[4][0][3]=9 ; vect[4][1][1]=32; vect[4][1][2]=-1; vect[4][1][3]=5; vect[4][2][1]=31; vect[4][2][2]=-132; vect[4][2][3]=5 ; vect[4][3][1]=105; vect[4][3][2]=-131; vect[4][3][3]=8 ; vect[4][4][1]= -500; vect[4][4][2]= -500; vect[4][4][3]=-500; vect[4][5][1]=93; vect[4][5][2]=-70; vect[4][5][3]=10; vect[4][6][1]=32; vect[4][6][2]=-71; vect[4][6][3]=0; vect[5][0][1]=29; vect[5][0][2]=-1; vect[5][0][3]=7 ; vect[5][1][1]=28; vect[5][1][2]=-132; vect[5][1][3]=5; vect[5][2][1]=99; vect[5][2][2]=-134; vect[5][2][3]=8 ; vect[5][3][1]= -500; vect[5][3][2]= -500; vect[5][3][3]=-500; vect[5][4][1]=83; vect[5][4][2]=-69; vect[5][4][3]=10 ; vect[5][5][1]=30; vect[5][5][2]=-69; vect[5][5][3]=0; vect[6][0][1]=122; vect[6][0][2]=-117; vect[6][0][3]=10 ; vect[6][1][1]=97; vect[6][1][2]=-130; vect[6][1][3]=0 ; vect[6][2][1]=69; vect[6][2][2]=-134; vect[6][2][3]=0 ; vect[6][3][1]=41; vect[6][3][2]=-122; vect[6][3][3]=0; vect[6][4][1]=27; vect[6][4][2]=-104; vect[6][4][3]=0; vect[6][5][1]=18; vect[6][5][2]=-77; vect[6][5][3]=0 ; vect[6][6][1]=22; vect[6][6][2]=-49; vect[6][6][3]=0 ; vect[6][7][1]=31; vect[6][7][2]=-27; vect[6][7][3]=0; vect[6][8][1]=50; vect[6][8][2]=-9; vect[6][8][3]=0; vect[6][9][1]=78; vect[6][9][2]=0; vect[6][9][3]=0; vect[6][10][1]=104; vect[6][10][2]=-6; vect[6][10][3]=0; vect[6][11][1]=116; vect[6][11][2]=-12; vect[6][11][3]=0; vect[6][12][1]=116; vect[6][12][2]=-72; vect[6][12][3]=4 ; vect[7][0][1]=29; vect[7][0][2]=-132; vect[7][0][3]=7 ; vect[7][1][1]=29; vect[7][1][2]=-1; vect[7][1][3]=7 ; vect[7][2][1]= -500; vect[7][2][2]= -500; vect[7][2][3]=-500 ; vect[7][3][1]=111; vect[7][3][2]=-133; vect[7][3][3]=7 ; vect[7][4][1]=111; vect[7][4][2]=-1; vect[7][4][3]=7; vect[7][5][1]= -500; vect[7][5][2]= -500; vect[7][5][3]=-500 ; vect[7][6][1]=30; vect[7][6][2]=-68; vect[7][6][3]=0 ; vect[7][7][1]=110; vect[7][7][2]=-67; vect[7][7][3]=0; vect[8][0][1]=65; vect[8][0][2]=-132; vect[8][0][3]=7; vect[8][1][1]=65; vect[8][1][2]=-2; vect[8][1][3]=7; vect[9][0][1]=46; vect[9][0][2]=-133; vect[9][0][3]=7; vect[9][1][1]=46; vect[9][1][2]=-29; vect[9][1][3]=1; vect[9][2][1]=38; vect[9][2][2]=-6; vect[9][2][3]=0; vect[9][3][1]=20; vect[9][3][2]=-3; vect[9][3][3]=0; vect[9][4][1]=9; vect[9][4][2]=-17; vect[9][4][3]=0; vect[10][0][1]=29; vect[10][0][2]=-132; vect[10][0][3]=7 ; vect[10][1][1]=29; vect[10][1][2]=-1; vect[10][1][3]=7 ; vect[10][2][1]= -500; vect[10][2][2]= -500; vect[10][2][3]=-500 ; vect[10][3][1]=103; vect[10][3][2]=-132; vect[10][3][3]=4 ; vect[10][4][1]=42; vect[10][4][2]=-68; vect[10][4][3]=0; vect[10][5][1]=114; vect[10][5][2]=-1; vect[10][5][3]=4; vect[11][0][1]=31; vect[11][0][2]=-132; vect[11][0][3]=7 ; vect[11][1][1]=32; vect[11][1][2]=-2; vect[11][1][3]=5 ; vect[11][2][1]=105; vect[11][2][2]=-1; vect[11][2][3]=9 ; vect[12][0][1]=25; vect[12][0][2]=-1; vect[12][0][3]=4; vect[12][1][1]=23; vect[12][1][2]=-133; vect[12][1][3]=2; vect[12][2][1]=82; vect[12][2][2]=-2; vect[12][2][3]=0 ; vect[12][3][1]=147; vect[12][3][2]=-132; vect[12][3][3]=6; vect[12][4][1]=146; vect[12][4][2]=-2; vect[12][4][3]=7 ; vect[13][0][1]=25; vect[13][0][2]=-2; vect[13][0][3]=4; vect[13][1][1]=26; vect[13][1][2]=-132; vect[13][1][3]=2; vect[13][2][1]=120; vect[13][2][2]=-1; vect[13][2][3]=0 ; vect[13][3][1]=116; vect[13][3][2]=-133; vect[13][3][3]=4; vect[14][0][1]=73; vect[14][0][2]=-134; vect[14][0][3]=0; vect[14][1][1]=101; vect[14][1][2]=-125; vect[14][1][3]=0 ; vect[14][2][1]=121; vect[14][2][2]=-100; vect[14][2][3]=0 ; vect[14][3][1]=124; vect[14][3][2]=-70; vect[14][3][3]=0; vect[14][4][1]=119; vect[14][4][2]=-32; vect[14][4][3]=0; vect[14][5][1]=99; vect[14][5][2]=-8; vect[14][5][3]=0 ; vect[14][6][1]=71; vect[14][6][2]=1; vect[14][6][3]=0; vect[14][7][1]=45; vect[14][7][2]=-9; vect[14][7][3]=0; vect[14][8][1]=26; vect[14][8][2]=-29; vect[14][8][3]=0 ; vect[14][9][1]=18; vect[14][9][2]=-63; vect[14][9][3]=0 ; vect[14][10][1]=24; vect[14][10][2]=-87; vect[14][10][3]=0 ; vect[14][11][1]=38; vect[14][11][2]=-117; vect[14][11][3]=0 ; vect[14][12][1]=58; vect[14][12][2]=-132; vect[14][12][3]=0; vect[14][13][1]=71; vect[14][13][2]=-134; vect[14][13][3]=0; vect[15][0][1]=29; vect[15][0][2]=-1; vect[15][0][3]=7 ; vect[15][1][1]=28; vect[15][1][2]=-133; vect[15][1][3]=5 ; vect[15][2][1]=55; vect[15][2][2]=-131; vect[15][2][3]=0 ; vect[15][3][1]=74; vect[15][3][2]=-126; vect[15][3][3]=0; vect[15][4][1]=89; vect[15][4][2]=-110; vect[15][4][3]=0; vect[15][5][1]=91; vect[15][5][2]=-90; vect[15][5][3]=0; vect[15][6][1]=83; vect[15][6][2]=-72; vect[15][6][3]=0; vect[15][7][1]=64; vect[15][7][2]=-64; vect[15][7][3]=0; vect[15][8][1]=29; vect[15][8][2]=-66; vect[15][8][3]=0; vect[16][0][1]=70; vect[16][0][2]=-134; vect[16][0][3]=0 ; vect[16][1][1]=94; vect[16][1][2]=-129; vect[16][1][3]=0; vect[16][2][1]=117; vect[16][2][2]=-103; vect[16][2][3]=0 ; vect[16][3][1]=124; vect[16][3][2]=-74; vect[16][3][3]=0; vect[16][4][1]=120; vect[16][4][2]=-43; vect[16][4][3]=0 ; vect[16][5][1]=100; vect[16][5][2]=-11; vect[16][5][3]=0 ; vect[16][6][1]=72; vect[16][6][2]=0; vect[16][6][3]=0 ; vect[16][7][1]=46; vect[16][7][2]=-8; vect[16][7][3]=0 ; vect[16][8][1]=24; vect[16][8][2]=-33; vect[16][8][3]=0; vect[16][9][1]=17; vect[16][9][2]=-62; vect[16][9][3]=0 ; vect[16][10][1]=22; vect[16][10][2]=-87; vect[16][10][3]=0 ; vect[16][11][1]=35; vect[16][11][2]=-119; vect[16][11][3]=0 ; vect[16][12][1]=56; vect[16][12][2]=-132; vect[16][12][3]=0; vect[16][13][1]=70; vect[16][13][2]=-134; vect[16][13][3]=0 ; vect[16][14][1]= -500; vect[16][14][2]= -500; vect[16][14][3]=-500; vect[16][15][1]=75; vect[16][15][2]=3; vect[16][15][3]=0 ; vect[16][16][1]=128; vect[16][16][2]=33; vect[16][16][3]=0; vect[17][0][1]=31; vect[17][0][2]=-1; vect[17][0][3]=7 ; vect[17][1][1]=28; vect[17][1][2]=-133; vect[17][1][3]=5; vect[17][2][1]=69; vect[17][2][2]=-131; vect[17][2][3]=0 ; vect[17][3][1]=85; vect[17][3][2]=-121; vect[17][3][3]=0 ; vect[17][4][1]=94; vect[17][4][2]=-100; vect[17][4][3]=0; vect[17][5][1]=88; vect[17][5][2]=-81; vect[17][5][3]=0 ; vect[17][6][1]=64; vect[17][6][2]=-67; vect[17][6][3]=0 ; vect[17][7][1]=51; vect[17][7][2]=-66; vect[17][7][3]=0 ; vect[17][8][1]=29; vect[17][8][2]=-66; vect[17][8][3]=0 ; vect[17][9][1]=57; vect[17][9][2]=-64; vect[17][9][3]=0 ; vect[17][10][1]=66; vect[17][10][2]=-59; vect[17][10][3]=0 ; vect[17][11][1]=76; vect[17][11][2]=-46; vect[17][11][3]=0 ; vect[17][12][1]=114; vect[17][12][2]=-1; vect[17][12][3]=3; vect[18][0][1]=89; vect[18][0][2]=-113; vect[18][0][3]=10 ; vect[18][1][1]=71; vect[18][1][2]=-127; vect[18][1][3]=0 ; vect[18][2][1]=55; vect[18][2][2]=-134; vect[18][2][3]=0; vect[18][3][1]=33; vect[18][3][2]=-129; vect[18][3][3]=0; vect[18][4][1]=21; vect[18][4][2]=-111; vect[18][4][3]=0 ; vect[18][5][1]=26; vect[18][5][2]=-88; vect[18][5][3]=0 ; vect[18][6][1]=43; vect[18][6][2]=-73; vect[18][6][3]=0 ; vect[18][7][1]=69; vect[18][7][2]=-57; vect[18][7][3]=0 ; vect[18][8][1]=86; vect[18][8][2]=-37; vect[18][8][3]=0 ; vect[18][9][1]=83; vect[18][9][2]=-16; vect[18][9][3]=0; vect[18][10][1]=69; vect[18][10][2]=-3; vect[18][10][3]=0; vect[18][11][1]=43; vect[18][11][2]=-3; vect[18][11][3]=0 ; vect[18][12][1]=15; vect[18][12][2]=-17; vect[18][12][3]=10 ; vect[19][0][1]=8; vect[19][0][2]=-133; vect[19][0][3]=8 ; vect[19][1][1]=115; vect[19][1][2]=-133; vect[19][1][3]=8 ; vect[19][2][1]= -500; vect[19][2][2]= -500; vect[19][2][3]=-500; vect[19][3][1]=61; vect[19][3][2]=-131; vect[19][3][3]=1; vect[19][4][1]=61; vect[19][4][2]=-1; vect[19][4][3]=1; vect[20][0][1]=27; vect[20][0][2]=-133; vect[20][0][3]=4; vect[20][1][1]=27; vect[20][1][2]=-41; vect[20][1][3]=0 ; vect[20][2][1]=45; vect[20][2][2]=-10; vect[20][2][3]=0; vect[20][3][1]=103; vect[20][3][2]=-10; vect[20][3][3]=0 ; vect[20][4][1]=118; vect[20][4][2]=-41; vect[20][4][3]=0 ; vect[20][5][1]=115; vect[20][5][2]=-134; vect[20][5][3]=4 ; vect[21][0][1]=28; vect[21][0][2]=-133; vect[21][0][3]=4; vect[21][1][1]=75; vect[21][1][2]=2; vect[21][1][3]=0 ; vect[21][2][1]=124; vect[21][2][2]=-132; vect[21][2][3]=4; vect[22][0][1]=28; vect[22][0][2]=-133; vect[22][0][3]=4 ; vect[22][1][1]=66; vect[22][1][2]=2; vect[22][1][3]=0 ; vect[22][2][1]=98; vect[22][2][2]=-96; vect[22][2][3]=0; vect[22][3][1]=126; vect[22][3][2]=1; vect[22][3][3]=0 ; vect[22][4][1]=169; vect[22][4][2]=-132; vect[22][4][3]=4 ; vect[23][0][1]=35; vect[23][0][2]=-132; vect[23][0][3]=4 ; vect[23][1][1]=114; vect[23][1][2]=-2; vect[23][1][3]=4 ; vect[23][2][1]= -500; vect[23][2][2]= -500; vect[23][2][3]=-500; vect[23][3][1]=20; vect[23][3][2]=-1; vect[23][3][3]=4 ; vect[23][4][1]=119; vect[23][4][2]=-133; vect[23][4][3]=4; vect[24][0][1]=30; vect[24][0][2]=-132; vect[24][0][3]=4 ; vect[24][1][1]=72; vect[24][1][2]=-59; vect[24][1][3]=1 ; vect[24][2][1]=73; vect[24][2][2]=-2; vect[24][2][3]=7 ; vect[24][3][1]= -500; vect[24][3][2]= -500; vect[24][3][3]=-500 ; vect[24][4][1]=75; vect[24][4][2]=-57; vect[24][4][3]=0 ; vect[24][5][1]=122; vect[24][5][2]=-136; vect[24][5][3]=4; vect[25][0][1]=19; vect[25][0][2]=-132; vect[25][0][3]=8; vect[25][1][1]=110; vect[25][1][2]=-132; vect[25][1][3]=0; vect[25][2][1]=14; vect[25][2][2]=-1; vect[25][2][3]=0 ; vect[25][3][1]=110; vect[25][3][2]=0; vect[25][3][3]=9; // scale the font for (int i = 0; i< 26; i++) { for(int j = 0; j < 30; j++) { if (vect[i][j][1] != 999 && vect[i][j][1] != -500) vect[i][j][1] = vect[i][j][1]/2; if (vect[i][j][2] != 999 && vect[i][j][2] != -500) vect[i][j][2] = vect[i][j][2]/2; if (vect[i][j][3] != 999 && vect[i][j][3] != -500) vect[i][j][3] = vect[i][j][3]/2; } } xorig = 25; yorig = 200; xoff=0; yoff=0; xthick=10; ythick=4; thickfac=0; origfac=0; xserif=15; yserif=2; lserif=xserif; wserif=yserif; stemval=0; blurfac=0; noisefac=0; xoff = 0; scale = 1; strmax=3; selectedkey = new char[1]; Float fblurfac = new Float(0); Float fnoisefac = new Float(0); Dimension d = this.size(); bufimage = this.createImage(d.width,d.height); Canvas c1 = new Canvas(); //c1.setBackground(Color.blue); setLayout(gbl1); GridBagConstraints gbc1 = new GridBagConstraints(); gbc1.anchor = GridBagConstraints.EAST; gbc1.fill = GridBagConstraints.HORIZONTAL; //gbc1.ipadx = -5; // label 1 gbc1.gridwidth = 1; gbc1.weightx=1; gbl1.setConstraints(lab1,gbc1); add(lab1); // input textfield1 - end of line gbc1.gridwidth = 1; gbc1.weightx=1; gbl1.setConstraints(tf1,gbc1); add(tf1); // activation button gbc1.gridwidth = 1; gbc1.weightx=1; gbc1.gridwidth = GridBagConstraints.REMAINDER; gbl1.setConstraints(btn1,gbc1); add(btn1); // Canvas for drawing gbc1.weighty=1; gbl1.setConstraints(c1,gbc1); add(c1); } public void paint(Graphics g) { xoff=0; g.setColor(Color.white); g.fillRect(0,21,500,300); g.setColor(Color.black); g.fillRect(0,21,500,7); if (zipletters == true) { for (jj = 0; jj < str2.length(); jj++) { drawZip(g); xoff = xoff + 75; } } else if (iloop == true) { for (mm = 0; mm < str2.length(); mm++) { drawLoop(g); xoff = xoff + 75; } } else { for (nn = 0; nn < str2.length(); nn++) { drawLetters(g); xoff = xoff + 75; } } } //////handle button action public boolean action(Event evt, Object o) { if (iloop == true) animator.stop(); System.out.println("0: inStr: " + inStr); iloop = false; if (evt.target == btn1 && tf1.getText().length() != 0) { inStr = tf1.getText(); inStr = inStr.toUpperCase(); animator = new Thread(this); animator.start(); } return true; } public void run() { blurfac = 0; noisefac = 0; thickfac = 0; origfac=0; str1 = inStr; //segment taken from ps7e2 for (int i = 0; i < str1.length();i++) { str2 = str1.substring(0,i+1); str3 = str1.substring(i,i+1); System.out.println("1: str1: " + str1 + " str2: " + str2); zipletters = true; origfac = 600; for (int ii = 1; ii < 22; ii++) { // Graphics g=getGraphics(); Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); try Thread.sleep(50); catch (InterruptedException e); origfac = origfac - 30; } zipletters=false; if (i < str1.length() - 1 ) { // System.out.println("a 1: " + str1 + " 2: " + str2 + "3: " + str3 + " 4: " + str4); str4 = str1.substring(i+1,i+2); if ((str3.equals("C") && str4.equals("H"))|| (str3.equals("N") && str4.equals("G")) || (str3.equals("T") && str4.equals("H"))|| (str3.equals("W") && str4.equals("H")) ) { str3 = str3.concat(str4); str2 = str2.concat(str4); // System.out.println("b 1: " + str1 + " 2: " + str2 + "3: " + str3 + " 4: " + str4); i++; } } System.out.println("xorig: " + xorig + " xoff: " + xoff); if (str3.equals("P")|| str3.equals("B")|| str3.equals("T")|| str3.equals("D")|| str3.equals("G")|| str3.equals("Q")|| str3.equals("K")) { conson[i] = 1; for (int ii = 1; ii < 22; ii++) { Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); try Thread.sleep(10); catch (InterruptedException e); if (ii < 11) blurfac = blurfac - 10; else if (ii != 21) blurfac = blurfac + 10; } } else if (str3.equals("F")|| str3.equals("V")|| str3.equals("TH")|| str3.equals("S")|| str3.equals("H")) { conson[i] = 2; if (str3.equals("TH")) conson[i-1]= 2; for (int ii = 1; ii < 22; ii++) { Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); // try Thread.sleep(100); catch (InterruptedException e); if (ii < 11) blurfac = blurfac + 1; else if (ii != 21) blurfac = blurfac - 1; } } else if (str3.equals("J")|| str3.equals("CH")) { conson[i] = 3; if (str3.equals("CH")) conson[i-1]= 3; for (int ii = 1; ii < 22; ii++) { Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); if (ii < 11) {try Thread.sleep(25); catch (InterruptedException e);} else {try Thread.sleep(150); catch (InterruptedException e);} if (ii < 11) blurfac = blurfac + 5; else if (ii != 21) blurfac = blurfac - 5; } } else if (str3.equals("M")|| str3.equals("NG")|| str3.equals("N")) { conson[i] = 4; for (int ii = 1; ii < 22; ii++) { Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); try Thread.sleep(50); catch (InterruptedException e); if (ii < 11) noisefac = noisefac - 2; else if (ii != 21) noisefac = noisefac + 2; } } else if (str3.equals("L")|| str3.equals("R")) { conson[i] = 5; for (int ii = 1; ii < 22; ii++) { Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); // try Thread.sleep(50); catch (InterruptedException e); if (ii < 11) { blurfac = blurfac - 2; noisefac = noisefac + 1; } else if (ii != 21) { blurfac = blurfac + 2; noisefac = noisefac -1; } } } else if (str3.equals("Y")|| str3.equals("WH")|| str3.equals("W")) { conson[i] = 6; if (str3.equals("WH")) conson[i-1]= 6; for (int ii = 1; ii < 22; ii++) { // Graphics g=getGraphics(); Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); // try Thread.sleep(50); catch (InterruptedException e); if (ii < 11) thickfac = thickfac + 1; else if (ii != 21) thickfac = thickfac -1; } } else { conson[i] = 0; Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); } } if (str1.equals(str2)) { while(infinite = true) { System.out.println("looping infinitely " + infinite); bf1 = 0; bf2 = 0; bf5 = 0; bf10 = 0; nf1 = 0; nf2 = 0; thf1 = 0; iloop = true; str2 = inStr; for (int ii = 1; ii < 22; ii++) { Graphics g=bufimage.getGraphics(); paint(g); g = this.getGraphics(); g.drawImage(bufimage,0,0,this); try Thread.sleep(50); catch (InterruptedException e); if (ii < 11) { bf1 = bf1 + 1; bf2 = bf2 - 2; bf5 = bf5 + 5; bf10 = bf10 - 10; nf1 = nf1 + 1; nf2 = nf2 - 2; thf1 = thf1 + 1; } else if (ii != 21) { bf1 = bf1 - 1; bf2 = bf2 + 2; bf5 = bf5 - 5; bf10 = bf10 + 10; nf1 = nf1 - 1; nf2 = nf2 + 2; thf1 = thf1 - 1; } } } } } public void drawLetters(Graphics g) { str0= str2.substring(nn,nn+1); k = ((int)str0.charAt(0)) - 65; if ((k >= 0) && (k <= 25)) { // draw polygons over vectors for (j=0;j <29 ; j++) { if (vect[k][j+1][1] != 999 && vect[k][j][1] != -500 && vect[k][j+1][1] != -500) { if ( ((vect[k][j][3] == 1) |(vect[k][j][3] == 5)|(vect[k][j][3] == 6)|(vect[k][j][3] == 7)) && ((vect[k][j+1][3] == 1) |(vect[k][j+1][3] == 5)|(vect[k][j+1][3] == 6)|(vect[k][j+1][3] == 7))) xthick= 8 ; else xthick = 5 ; ythick = 4 + thickfac; g.setColor(Color.black); polyx[0] = xorig + xoff + vect[k][j][1] - xthick + blurfac; polyx[1] = xorig + xoff + vect[k][j][1] + xthick + stemval ; polyx[2] = xorig + xoff + vect[k][j+1][1] + xthick + stemval + blurfac; polyx[3] = xorig + xoff + vect[k][j+1][1] - xthick ; polyy[0] = yorig + yoff + vect[k][j][2] + ythick + blurfac; polyy[1] = yorig + yoff + vect[k][j][2] - ythick ; polyy[2] = yorig + yoff + vect[k][j+1][2] - ythick + blurfac; polyy[3] = yorig + yoff + vect[k][j+1][2] +ythick ; g.fillPolygon(polyx,polyy,4); // implement noise factor int ctr = Math.abs(noisefac); for ( kk=0;kk < ctr ; kk++) { if (noisefac < 0) noiseinc = -1*kk; else noiseinc = kk; polyx[0] = xorig + xoff + vect[k][j][1] - xthick ; polyx[1] = xorig + xoff + vect[k][j][1] + xthick + stemval + noiseinc; polyx[2] = xorig + xoff + vect[k][j+1][1] + xthick + stemval ; polyx[3] = xorig + xoff + vect[k][j+1][1] - xthick + noiseinc; polyy[0] = yorig + yoff + vect[k][j][2] + ythick ; polyy[1] = yorig + yoff + vect[k][j][2] - ythick + noiseinc; polyy[2] = yorig + yoff + vect[k][j+1][2] - ythick ; polyy[3] = yorig + yoff + vect[k][j+1][2] +ythick + noiseinc; g.drawPolygon(polyx,polyy,4); kk++; } } } } } //end of drawFricative public void drawZip(Graphics g) { // System.out.println("zip: str1: " + str1 + " str2: " + str2); str0= str2.substring(jj,jj+1); k = ((int)str0.charAt(0)) - 65; if ((k >= 0) && (k <= 25)) { // draw polygons over vectors for (j=0;j <29 ; j++) { if (vect[k][j+1][1] != 999 && vect[k][j][1] != -500 && vect[k][j+1][1] != -500) { if ( ((vect[k][j][3] == 1) |(vect[k][j][3] == 5)|(vect[k][j][3] == 6)|(vect[k][j][3] == 7)) && ((vect[k][j+1][3] == 1) |(vect[k][j+1][3] == 5)|(vect[k][j+1][3] == 6)|(vect[k][j+1][3] == 7))) xthick= 8 ; else xthick = 5 ; ythick = 4; if (jj == str2.length() - 1) xoff = xoff+ origfac; g.setColor(Color.black); polyx[0] = xorig + xoff + vect[k][j][1] - xthick + blurfac; polyx[1] = xorig + xoff + vect[k][j][1] + xthick + stemval ; polyx[2] = xorig + xoff + vect[k][j+1][1] + xthick + stemval + blurfac; polyx[3] = xorig + xoff + vect[k][j+1][1] - xthick ; polyy[0] = yorig + yoff + vect[k][j][2] + ythick + blurfac; polyy[1] = yorig + yoff + vect[k][j][2] - ythick ; polyy[2] = yorig + yoff + vect[k][j+1][2] - ythick + blurfac; polyy[3] = yorig + yoff + vect[k][j+1][2] +ythick ; g.fillPolygon(polyx,polyy,4); } } } } //end of drawZip public void drawLoop(Graphics g) { str0= str2.substring(mm,mm+1); k = ((int)str0.charAt(0)) - 65; if ((k >= 0) && (k <= 25)) { // draw polygons over vectors if (conson[mm] == 1) blurfac = bf10; else if (conson[mm] == 2) blurfac = bf1; else if (conson[mm] == 3) blurfac = bf5; else if (conson[mm] == 5) blurfac = bf2; else blurfac = 0; if (conson[mm] == 4) noisefac = nf2; else if (conson[mm] == 5) noisefac = nf1; else noisefac = 0; if (conson[mm] == 6) thickfac = thf1; else thickfac=0; for (j=0;j <29 ; j++) { if (vect[k][j+1][1] != 999 && vect[k][j][1] != -500 && vect[k][j+1][1] != -500) { if ( ((vect[k][j][3] == 1) |(vect[k][j][3] == 5)|(vect[k][j][3] == 6)|(vect[k][j][3] == 7)) && ((vect[k][j+1][3] == 1) |(vect[k][j+1][3] == 5)|(vect[k][j+1][3] == 6)|(vect[k][j+1][3] == 7))) xthick= 8 ; else xthick = 5 ; ythick = 4 + thickfac; g.setColor(Color.black); polyx[0] = xorig + xoff + vect[k][j][1] - xthick + blurfac; polyx[1] = xorig + xoff + vect[k][j][1] + xthick + stemval ; polyx[2] = xorig + xoff + vect[k][j+1][1] + xthick + stemval + blurfac; polyx[3] = xorig + xoff + vect[k][j+1][1] - xthick ; polyy[0] = yorig + yoff + vect[k][j][2] + ythick + blurfac; polyy[1] = yorig + yoff + vect[k][j][2] - ythick ; polyy[2] = yorig + yoff + vect[k][j+1][2] - ythick + blurfac; polyy[3] = yorig + yoff + vect[k][j+1][2] +ythick ; g.fillPolygon(polyx,polyy,4); // implement noise factor int ctr = Math.abs(noisefac); for ( kk=0;kk < ctr ; kk++) { if (noisefac < 0) noiseinc = -1*kk; else noiseinc = kk; polyx[0] = xorig + xoff + vect[k][j][1] - xthick ; polyx[1] = xorig + xoff + vect[k][j][1] + xthick + stemval + noiseinc; polyx[2] = xorig + xoff + vect[k][j+1][1] + xthick + stemval ; polyx[3] = xorig + xoff + vect[k][j+1][1] - xthick + noiseinc; polyy[0] = yorig + yoff + vect[k][j][2] + ythick ; polyy[1] = yorig + yoff + vect[k][j][2] - ythick + noiseinc; polyy[2] = yorig + yoff + vect[k][j+1][2] - ythick ; polyy[3] = yorig + yoff + vect[k][j+1][2] +ythick + noiseinc; g.drawPolygon(polyx,polyy,4); kk++; } } } } }//end of drawLoop }