/***********************************************************************/ /* Easy Font | Original by Jeff Ventre | C version by David Barberi */ /***********************************************************************/ ezfont(x, y, size, it) float x,y,size; char it[]; { float x_scale = 0.7; float y_scale = 1.3; int i; pushmatrix(); translate(x, y, 0); scale(size, size, 0.0); for(i=0; i< strlen(it); i++) { pushmatrix(); scale(x_scale, y_scale, 1); switch(it[i]) { case 'A': move2(0.0, 0.0); draw2(0.5, 1.0); draw2(1.0, 0.0); move2(0.167, 0.333); draw2(0.833, 0.333); break; case 'a': move2(0.0, 0.25); draw2(0.25, 0.0); draw2(0.75, 0.0); draw2(1.0, 0.25); draw2(0.75, 0.5); draw2(0.25, 0.5); draw2(0, 0.25); move2(0.1, 0.7); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1.0, 0.5); draw2(1.0, 0.0); break; case 'B': move2(0, 0); draw2(0, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(0.75, 0.5); draw2(0, 0.5); move2(0.75, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0, 0); break; case 'b': move2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); move2(0, 1); draw2(0, 0); break; case 'C': move2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); draw2(0, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(1, 0.75); break; case 'c': move2(1, 0.5); draw2(0.75, 0.75); draw2(0.25, 0.75); draw2(0, 0.5); draw2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.18); break; case 'D': move2(0, 0); draw2(0, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(1, 0.25); draw2(0.75, 0); draw2(0, 0); break; case 'd': move2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); move2(1, 0); draw2(1, 1.2); break; case 'E': move2(1, 1); draw2(0, 1); draw2(0, 0); draw2(1, 0); move2(0, 0.5); draw2(0.5, 0.5); break; case 'e': move2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(0, 0.5); break; case 'F': move2(1, 1); draw2(0, 1); draw2(0, 0); move2(0, 0.5); draw2(0.5, 0.5); break; case 'f': move2(0.25, 0); draw2(0.25, 0.75); draw2(0.5, 1); draw2(0.75, 1); draw2(1, 0.75); move2(0, 0.5); draw2(0.6, 0.5); break; case 'G': move2(0.5, 0.5); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); draw2(0, 0.75); draw2(0.25, 1); draw2(1, 1); break; case 'g': move2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); move2(1, 0.75); draw2(1, -0.25); draw2(0.75, -0.5); draw2(0.25, -0.5); draw2(0, -0.25); break; case 'H': move2(0, 0); draw2(0, 1); move2(1, 0); draw2(1, 1); move2(0, 0.4); draw2(1, 0.4); break; case 'h': move2(0, 0); draw2(0, 1.2); move2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0); break; case 'I': move2(0.25, 0); draw2(0.75, 0); move2(0.5, 0); draw2(0.5, 1); move2(0.25, 1); draw2(0.75, 1); break; case 'i': move2(0.5, 0); draw2(0.5, 0.6); move2(0.5, 0.9); draw2(0.5, 1); break; case 'J': move2(0, 0.5); draw2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 1); break; case 'j': move2(0.5, 0.9); draw2(0.5, 1); move2(0.5, 0.75); draw2(0.5, 0); draw2(0.25, -0.25); break; case 'K': move2(0, 0); draw2(0, 1); move2(0, 0.333); draw2(1, 1); move2(0.5, 0.667); draw2(1, 0); break; case 'k': move2(0.25, 0); draw2(0.25, 1); move2(0.25, 0.25); draw2(1, 0.75); move2(0.5, 0.45); draw2(1, 0); break; case 'L': move2(1, 0); draw2(0, 0); draw2(0, 1); break; case 'l': move2(0.5, 1); draw2(0.5, 0); draw2(0.75, 0); break; case 'M': move2(0, 0); draw2(0, 1); draw2(0.5, 0.5); draw2(1, 1); draw2(1, 0); break; case 'm': move2(0, 0); draw2(0, 0.75); move2(0, 0.5); draw2(0.25, 0.75); draw2(0.5, 0.25); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0); break; case 'N': move2(0, 0); draw2(0, 1); draw2(1, 0); draw2(1, 1); break; case 'n': move2(0.25, 0); draw2(0.25, 0.75); move2(0.25, 0.5); draw2(0.5, 0.75); draw2(0.75, 0.75); draw2(1, 0.6); draw2(1, 0); break; case 'O': move2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 0.75); draw2(0.75, 1); draw2(0.25, 1); draw2(0, 0.75); draw2(0, 0.25); draw2(0.25, 0); break; case 'o': move2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); break; case 'P': move2(0, 0); draw2(0, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(0.75, 0.5); draw2(0, 0.5); break; case 'p': move2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); move2(0, 0.75); draw2(0, -0.5); break; case 'Q': move2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 0.75); draw2(0.75, 1); draw2(0.25, 1); draw2(0, 0.75); draw2(0, 0.25); draw2(0.25, 0); move2(0.7, 0.30); draw2(1, 0); break; case 'q': move2(0, 0.25); draw2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); move2(1, 0.75); draw2(1, -0.5); break; case 'R': move2(0, 0); draw2(0, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(0.75, 0.5); draw2(0, 0.5); move2(0.5, 0.5); draw2(1, 0); break; case 'r': move2(0.25, 0); draw2(0.25, 0.75); draw2(0.25, 0.5); draw2(0.5, 0.75); draw2(0.75, 0.75); draw2(1, 0.6); break; case 'S': move2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(0.75, 0.5); draw2(0.25, 0.5); draw2(0, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(1, 0.75); break; case 's': move2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(0.75, 0.45); draw2(0.25, 0.45); draw2(0, 0.625); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.625); break; case 'T': move2(0, 1); draw2(1, 1); move2(0.5, 1); draw2(0.5, 0); break; case 't': move2(0.5, 1); draw2(0.5, 0); draw2(0.75, 0); move2(0.2, 0.667); draw2(0.8, 0.667); break; case 'U': move2(0, 1); draw2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 1); break; case 'u': move2(0, 0.75); draw2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 0.75); break; case 'V': move2(0, 1); draw2(0.5, 0); draw2(1, 1); break; case 'v': move2(0, 0.75); draw2(0.5, 0); draw2(1, 0.75); break; case 'W': move2(0.0, 1.0); draw2(0.2, 0.0); draw2(0.5, 0.4); draw2(0.80, 0.0); draw2(1.0, 1.0); break; case 'w': move2(0, 0.75); draw2(0.25, 0); draw2(0.5, 0.5); draw2(0.75, 0); draw2(1, 0.75); break; case 'X': move2(0, 1); draw2(1, 0); move2(0, 0); draw2(1, 1); break; case 'x': move2(0, 0.75); draw2(1, 0); move2(0, 0); draw2(1, 0.75); break; case 'Y': move2(0, 1); draw2(0.5, 0.5); draw2(1, 1); move2(0.5, 0.5); draw2(0.5, 0); break; case 'y': move2(0, 0.75); draw2(0.5, 0.1); move2(1, 0.75); draw2(0, -0.5); break; case 'Z': move2(0, 1); draw2(1, 1); draw2(0, 0); draw2(1, 0); break; case 'z': move2(0, 0.75); draw2(1, 0.75); draw2(0, 0); draw2(1, 0); break; case '0': move2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 0.75); draw2(0.75, 1); draw2(0.25, 1); draw2(0, 0.75); draw2(0, 0.25); draw2(0.25, 0); break; case '1': move2(0.5, 0); draw2(0.5, 1); draw2(0.3, 0.75); move2(0.25, 0); draw2(0.75, 0); break; case '2': move2(0, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(0.75, 0.5); draw2(0, 0.25); draw2(0, 0); draw2(1, 0); case '3': move2(0, 1); draw2(1, 1); draw2(1, 0.8); draw2(0.5, 0.6); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); break; case '4': move2(1, 0); draw2(1, 1); draw2(0, 0.4); draw2(1, 0.4); break; case '5': move2(1, 1); draw2(0, 1); draw2(0, 0.6); draw2(0.75, 0.6); draw2(1, 0.3); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); break; case '6': move2(1, 0.75); draw2(0.75, 1); draw2(0.25, 1); draw2(0, 0.75); draw2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.2); draw2(1, 0.4); draw2(0.75, 0.6); draw2(0.25, 0.6); draw2(0, 0.2); break; case '7': move2(0, 1); draw2(1, 1); draw2(0.25, 0.25); draw2(0.25, 0); break; case '8': move2(0.25, 0); draw2(0, 0.25); draw2(0.25, 0.5); draw2(0.1, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(0.9, 0.75); draw2(0.75, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); move2(0.25, 0.5); draw2(0.75, 0.5); break; case '9': move2(1, 0.5); draw2(0.25, 0.5); draw2(0, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(1, 0.5); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); break; case '.': move2(0.5, 0); draw2(0.6, 0); break; case ',': move2(0.5, 0); draw2(0.6, 0); draw2(0.4, -0.2); break; case '(': move2(0.9, -0.2); draw2(0.75, 0); draw2(0.5, 0.25); draw2(0.5, 0.75); draw2(0.75, 1); draw2(0.9, 1.2); break; case ')': move2(0.1, -0.2); draw2(0.25, 0); draw2(0.5, 0.25); draw2(0.5, 0.75); draw2(0.25, 1); draw2(0.1, 1.2); break; case '-': move2(0.25, 0.5); draw2(0.75, 0.5); break; case '+': move2(0.15, 0.5); draw2(0.85, 0.5); move2(0.5, 0.16); draw2(0.5, 0.84); break; case '=': move2(0.15, 0.25); draw2(0.85, 0.25); move2(0.15, 0.75); draw2(0.85, 0.75); break; case ':': move2(0.5, 0); draw2(0.6, 0); draw2(0.6, 0.2); draw2(0.5, 0.2); draw2(0.5, 0); move2(0.5, 0.5); draw2(0.6, 0.5); draw2(0.6, 0.7); draw2(0.5, 0.7); draw2(0.5, 0.5); break; /**************************************/ /* "@" is used to represent the */ /* copyright symbol */ /**************************************/ case '@': move2(0, 0.25); draw2(0, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); move2(0.75, 0.75); draw2(0.5, 0.75); draw2(0.25, 0.5); draw2(0.5, 0.25); draw2(0.75, 0.25); break; case '?' : move2(0.2, 0.7); draw2(0.3, 1.0); draw2(0.9, 1.0); draw2(1.0, 0.7); draw2(1.0, 0.6); draw2(0.7, 0.5); draw2(0.5, 0.5); draw2(0.5, 0.2); move2(0.5, 0.1); draw2(0.5, 0.0); break; } /* end case */ popmatrix(); translate(1.0, 0.0, 0.0); } /* end i loop */ popmatrix(); } /* end easy font procedure */