// This part is for turning keystrokes into glyphs. // Every glyph is made up from three anchorpoints and their controlpoints, punt in an array. // I used bezierVertex first, but changed to bezier, because of rendering bezierPoints() and bezierTangent() // here is also the part where the text is shown on screen when hitting enter. void keyReleased() { geTikt = append(geTikt, key); // println(geTikt); String txtOut = new String(geTikt); pct = 0.00; //reset pct for (cnt=0;cnt<14;cnt++){ gBegin[cnt] = gCur[cnt]; } if (keyCode == ENTER || keyCode == RETURN) { fill(255); // textMode(SCREEN); font = loadFont("Eureka-32.vlw"); textFont(font,32 ); textAlign(CENTER); text(txtOut, width/2,height/4); geTikt = new char[0]; noLoop(); } if (key >= ' ' && key <= '~' || key >= '0' && key <= '9') { // this way I leave the numbers out of the arrays //if (key >= ' ' && key <= '~' ){ if(key == 'a'){ float[] a = { 80,50,-50,50,30,290,80,50,80,150,80,150,100,150 }; arraycopy(a, gEnd); } else if (key == 'b'){ float[] b = { 10,150,140,150,60,-90,10,150,10,10,10,50,10,10 }; arraycopy(b,gEnd); } else if (key == 'c'){ float[] c = { 80,40,30,30,20,50,20,90,20,130,40,160,90,130 }; arraycopy(c,gEnd); } else if (key == 'd'){ float[] d = { 70,40,-40,40,60,290,80,0,80,10,80,130,80,140 }; arraycopy(d,gEnd); } else if (key == 'e'){ float[] e = { 10,90,120,90,80,0,30,50,-20,100,30,170,80,130 }; arraycopy(e,gEnd); } else if (key == 'f'){ float[] f = { 80,10,-10,10,70,150,30,180,40,120,-10,50,70,50 }; arraycopy(f,gEnd); } else if (key == 'g'){ float[] g = { 70,40,-50,60,40,270,80,40,70,130,110,190,10,180 }; arraycopy(g,gEnd); } else if (key == 'h'){ float[] h = { 80,150,80,-10,40,30,10,150,10,140,10,20,10,10 }; arraycopy(h,gEnd); } else if (key == 'i'){ float[] i = { 20,30,0,20,40,10,20,40,20,50,20,130,20,140 }; arraycopy(i,gEnd); } else if (key == 'j'){ float[] j = { 70,30,50,20,90,10,70,40,70,120,70,150,40,150 }; arraycopy(j,gEnd); } else if (key == 'k'){ float[] k = { 70,140,-40,110,130,-70,10,140,10,130,10,10,10,0 }; arraycopy(k,gEnd); } else if (key == 'l'){ float[] l = { 20,10,20,20,20,120,20,130,20,150,30,160,50,140 }; arraycopy(l,gEnd); } else if (key == 'm'){ float[] m = { 10,140, 10,-20, 60,30, 50,130,40,30, 90,-20, 90,140 }; arraycopy(m,gEnd); } else if (key == 'n'){ float[] n = { 80,150,80,-10,40,30,10,150,10,140,10,60,10,50 }; arraycopy(n,gEnd); } else if (key == 'o'){ float[] o = { 60,40,-10,50,10,150,50,150,90,150,110,60,60,50 }; arraycopy(o,gEnd); } else if (key == 'p'){ float[] p = { 20,150,150,150,40,-110,10,180,10,170,10,50,10,40 }; arraycopy(p,gEnd); } else if (key == 'q'){ float[] q = { 80,50,-50,50,30,290,80,50,80,190,80,150,80,190 }; arraycopy(q,gEnd); } else if (key == 'r'){ float[] r = { 70,60,30,30,10,120,20,170,20,100,20,50,10,50}; arraycopy(r,gEnd); } else if (key == 's'){ float[] s = { 70,70,60,20,-20,70,50,100,120,130,30,180,10,130 }; arraycopy(s,gEnd); } else if (key == 't'){ float[] t = { 50,60,-40,60,20,80,20,30,10,130,10,170,60,140 }; arraycopy(t,gEnd); } else if (key == 'u'){ float[] u = { 10,50,10,210,60,160,80,50,80,60,80,140,80,150 }; arraycopy(u,gEnd); } else if (key == 'v'){ float[] v = { 80,40,90,60,70,100,40,140,30,120,20,60,10,40 }; arraycopy(v,gEnd); } else if (key == 'w'){ float[] w = { 10,50,10,210,60,160,50,60,40,160,90,210,90,50 }; arraycopy(w,gEnd); } else if (key == 'x'){ float[] x = { 20,50,130,50,-70,240,50,100,150,-40,-20,150,80,150 }; arraycopy(x,gEnd); } else if (key == 'y'){ float[] y = { 20,40,20,200,70,150,90,40,80,130,120,190,20,180 }; arraycopy(y,gEnd); } else if (key == 'z'){ float[] z = { 10,50,100,50,90,40,40,100,-10,160,-10,150,80,150 }; arraycopy(z,gEnd); } else if (key == 'A'){ float[]A={ 80,80,20,70,10,100,20,130,70,-120,70,80,100,130 }; arraycopy(A,gEnd); } else if (key == 'B'){ float[]B={ 30,130,70,150,100,60,30,60,100,30,-20,-80,20,130 }; arraycopy(B,gEnd); } else if (key == 'C'){ float[]C={ 90,40,100,30,90,10,60,10,-20,10,0,180,90,120 }; arraycopy(C,gEnd); } else if (key == 'D'){ float[]D={ 40,20,40,30,40,120,40,130,140,150,120,-20,10,20 }; arraycopy(D,gEnd); } else if (key == 'E'){ float[]E={ 90,130,-10,150,0,60,70,70,0,80,10,0,80,10 }; arraycopy(E,gEnd); } else if (key == 'F'){ float[]F={ 70,10,-20,0,30,-10,20,130,10,50,-10,60,60,60 }; arraycopy(F,gEnd); } else if (key == 'G'){ float[]G={ 60,80,110,80,80,70,90,130,-10,170,-10,-10,90,10 }; arraycopy(G,gEnd); } else if (key == 'H'){ float[]H={ 70,130,60,-100,100,60,40,60,-20,60,20,250,10,10 }; arraycopy(H,gEnd); } else if (key == 'I'){ float[]I={ 50,130,20,130,10,140,40,130,30,110,50,10,40,10 }; arraycopy(I,gEnd); } else if (key == 'J'){ float[]J={ 60,10,20,20,20,10,50,10,40,50,90,150,20,150 }; arraycopy(J,gEnd); } else if (key == 'K'){ float[]K={ 90,130,-30,-50,20,300,10,10,10,30,10,150,80,10 }; arraycopy(K,gEnd); } else if (key == 'L'){ float[]L={ 80,130,60,120,30,140,10,130,20,90,20,20,10,10 }; arraycopy(L,gEnd); } else if (key == 'M'){ float[]M={ 10,120,20,-40,80,-30,70,120,60,-30,120,-40,130,120 }; arraycopy(M,gEnd); } else if (key == 'N'){ float[]N={ 10,130,10,110,10,20,10,10,90,140,80,200,80,10 }; arraycopy(N,gEnd); } else if (key == 'O'){ float[]O ={ 50,20,110,0,110,130,50,130,0,130,-10,10,60,10 }; arraycopy(O,gEnd); } else if (key == 'P'){ float[]P={ 20,130,20,110,20,30,20,10,100,0,70,80,30,70 }; arraycopy(P,gEnd); } else if (key == 'Q'){ float[]Q={ 40,120,130,170,150,10,70,10,0,10,-10,160,130,140 }; arraycopy(Q,gEnd); } else if (key == 'R'){ float[]R={ 70,130,40,120,90,40,20,70,120,40,0,-80,20,130 }; arraycopy(R,gEnd); } else if (key == 'S'){ float[]S={ 70,20,30,0,-10,40,50,60,110,80,80,150,20,120 }; arraycopy(S,gEnd); } else if (key == 'T'){ float[]T={ 10,20,20,10,50,10,100,10,40,10,50,0,50,130 }; arraycopy(T,gEnd); } else if (key == 'U'){ float[]U={ 20,10,20,90,20,130,60,130,100,130,100,90,100,10 }; arraycopy(U,gEnd); } else if (key == 'V'){ float[]V={ 90,10,100,30,80,90,50,130,40,110,20,30,10,10 }; arraycopy(V,gEnd); } else if (key == 'W'){ float[]W={ 0,10,10,170,70,160,60,10,50,160,110,170,120,10 }; arraycopy(W,gEnd); } else if (key == 'X'){ float[]X={ 20,10,160,10,-80,240,60,70,180,-90,-30,130,100,130 }; arraycopy(X,gEnd); } else if (key == 'Y'){ float[]Y={ 10,10,60,60,20,130,80,10,30,100,30,130,50,130 }; arraycopy(Y,gEnd); } else if (key == 'Z'){ float[]Z={ 70,20,30,0,-10,40,50,60,110,80,80,150,20,120 }; arraycopy(Z,gEnd); } else if (key == ';'){ float[]semicolon={ 30,60,70,30,90,80,60,90,30,100,40,60,60,70 }; arraycopy(semicolon,gEnd); } else if (key == '.'){ float[] period ={ 20,70,40,10,120,70,60,90,30,100,40,60,60,70 }; arraycopy(period,gEnd); } else if (key == ','){ float[] comma ={ 60,110,110,40,50,30,40,60,30,90,70,80,60,60 }; arraycopy(comma,gEnd); } else if (key == '?'){ float[] question ={ 70,120,50,130,130,-10,60,10,30,20,30,50,60,50 }; arraycopy(question,gEnd); } else if (key == '{'){ float[] curlyL ={ 30,120,10,120,30,70,10,60,30,50,10,10,30,10 }; arraycopy(curlyL,gEnd); } else if (key == '}'){ float[] curlyR ={ 10,120,30,120,10,70,30,60,10,50,30,10,10,10 }; arraycopy(curlyR,gEnd); } else if (key == '['){ float[] squareL ={ 30,120,0,120,10,130,10,60,10,0,0,10,30,10 }; arraycopy(squareL,gEnd); } else if (key == ']'){ float[] squareR ={ 10,120,40,120,30,130,30,60,30,0,40,10,10,10 }; arraycopy(squareR,gEnd); } else if (key == ' '){ float[] space = { 50,400,-350,400,-350,-200,50,-200,450,-200, 450,400,50,400 }; // 10,130,20,130,40,130,50,130,60,130,80,130,90,130 }; arraycopy(space,gEnd); } else if (key == '\\'){ float[] backslash = { 70,130,50,130,50,110,40,70,30,30,30,10,10,10 }; arraycopy(backslash,gEnd); } else if (key == '/'){ float[] slash = { 10,130,30,130,30,110,40,70,50,30,50,10,70,10 }; arraycopy(slash,gEnd); } else if (key == '-'){ float[] hyphen = { 10,130,20,130,40,130,50,130,60,130,80,130,90,130 }; arraycopy(hyphen,gEnd); } /* else if (key == '('){ float[]leftparent = { }; arraycopy(leftparent,gEnd); } else if (key == ')'){ float[] rightparent = { }; arraycopy(rightparent,gEnd); } else if (key == '='){ float[]equal = { }; arraycopy(equal,gEnd); } else if (key == '<'){ float[] smallthan = { }; arraycopy(smallthan,gEnd); } else if (key == '>'){ float[] greatthan = { }; arraycopy(greatthan,gEnd); } */ } for (cnt=0;cnt<14;cnt++){ gDist[cnt] = gEnd[cnt] - gBegin[cnt]; } redraw(); }