// A study on typographic landscape // by Burak Arikan, July 11, 2005 Font a, b, c, d, e ,f ,g ,h, i, j, k, l, m, n, o, p, q ,r, s, t, u, v, w, x, y, z, space; ArrayList mytext; int dx = 5; int dy = 7; int unit = 5; color textcolor = color(124); int aa[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,1,1,1,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1 }; int bb[] = { 1,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,0,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,1,1,1,0 }; int cc[] = { 0,1,1,1,1, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 0,1,1,1,1 }; int dd[] = { 1,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,1,1,1,0 }; int ee[] = { 0,1,1,1,1, 1,0,0,0,0, 1,0,0,0,0, 1,1,1,1,1, 1,0,0,0,0, 1,0,0,0,0, 0,1,1,1,1 }; int ff[] = { 0,1,1,1,1, 1,0,0,0,0, 1,0,0,0,0, 1,1,1,1,1, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0 }; int gg[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,0, 1,0,1,1,1, 1,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 }; int hh[] = { 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,1,1,1,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1 }; int ii[] = { 1,1,1,1,1, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 1,1,1,1,1 }; int jj[] = { 0,0,0,0,1, 0,0,0,0,1, 0,0,0,0,1, 0,0,0,0,1, 0,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 }; int kk[] = { 1,0,0,0,1, 1,0,0,0,1, 1,0,0,1,0, 1,1,1,0,0, 1,0,0,1,0, 1,0,0,0,1, 1,0,0,0,1 }; int ll[] = { 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 0,1,1,1,1 }; int mm[] = { 1,0,0,0,1, 1,0,0,0,1, 1,1,0,1,1, 1,0,1,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1 }; int nn[] = { 1,0,0,0,1, 1,0,0,0,1, 1,1,0,0,1, 1,0,1,0,1, 1,0,0,1,1, 1,0,0,0,1, 1,0,0,0,1 }; int oo[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 }; int pp[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,1,1,1,1, 1,0,0,0,0, 1,0,0,0,0 }; int qq[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,1,0, 0,1,1,0,1 }; int rr[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,1,1,1,1, 1,0,0,1,0, 1,0,0,0,1 }; int ss[] = { 0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,0, 0,1,1,1,0, 0,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 }; int tt[] = { 1,1,1,1,1, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0 }; int uu[] = { 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 }; int vv[] = { 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 0,1,0,1,0, 0,0,1,0,0 }; int ww[] = { 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,1,0,1, 1,1,0,1,1, 1,0,0,0,1, 1,0,0,0,1 }; int xx[] = { 1,0,0,0,1, 1,0,0,0,1, 0,1,0,1,0, 0,0,1,0,0, 0,1,0,1,0, 1,0,0,0,1, 1,0,0,0,1 }; int yy[] = { 1,0,0,0,1, 1,0,0,0,1, 0,1,0,1,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0 }; int zz[] = { 1,1,1,1,1, 0,0,0,0,1, 0,0,0,1,0, 0,0,1,0,0, 0,1,0,0,0, 1,0,0,0,0, 1,1,1,1,1 }; int sspace[] = { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0 }; void setup(){ size(800,525); rectMode(CORNER); ellipseMode(CORNER); mytext = new ArrayList(); } void draw(){ background(31); stroke(31); fill(textcolor); paint(); } void actionFont(char character){ if(character == 'a' || character == 'A'){ add(aa); } if(character == 'b' || character == 'B'){ add(bb); } if(character == 'c' || character == 'C'){ add(cc); } if(character == 'd' || character == 'D'){ add(dd); } if(character == 'e' || character == 'E'){ add(ee); } if(character == 'f' || character == 'F'){ add(ff); } if(character == 'g' || character == 'G'){ add(gg); } if(character == 'h' || character == 'H'){ add(hh); } if(character == 'i' || character == 'I'){ add(ii); } if(character == 'j' || character == 'J'){ add(jj); } if(character == 'k' || character == 'K'){ add(kk); } if(character == 'l' || character == 'L'){ add(ll); } if(character == 'm' || character == 'M'){ add(mm); } if(character == 'n' || character == 'N'){ add(nn); } if(character == 'o' || character == 'O'){ add(oo); } if(character == 'p' || character == 'P'){ add(pp); } if(character == 'q' || character == 'Q'){ add(qq); } if(character == 'r' || character == 'R'){ add(rr); } if(character == 's' || character == 'S'){ add(ss); } if(character == 't' || character == 'T'){ add(tt); } if(character == 'u' || character == 'U'){ add(uu); } if(character == 'v' || character == 'V'){ add(vv); } if(character == 'w' || character == 'W'){ add(ww); } if(character == 'x' || character == 'X'){ add(xx); } if(character == 'y' || character == 'Y'){ add(yy); } if(character == 'z' || character == 'Z'){ add(zz); } } void add(int[] type){ int rand = (int)random(1,4); Font letter = new Font(type, unit*rand); mytext.add(letter); } void remove(){ if(mytext.size() > 0){ mytext.remove(mytext.size()-1); } } void paint(){ int col = 0; int row = 0; int prevunit; for (int i=0; i= width){ col = 0; row = row + dy*3*unit; }else{ col = col + dx*prevunit; } if(row >= height){ mytext.clear(); textcolor = color(random(100,140),random(50,105),random(40,80)); } } } public void keyPressed(){ if(keyCode == BACKSPACE){ remove(); } else if(key == ' '){ add(sspace); } else{ actionFont(key); } }