/* * Iris Font Version 1.0 * * Original Pascal version by Jeff Ventre * C version by David Barberi */ /**********************************************************/ /* show_string */ /**********************************************************/ show_string(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=1; i< strlen(it); i++) { pushmatrix(); scale(x_scale, y_scale, 1); switch(i) { case 'A': mov2(0, 0); draw2(0.5, 1); draw2(1, 0); mov2(1/6, 1/3); draw2(5/6, 1/3); break; case 'a': mov2(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.25); mov2(0.1, 0.7); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1 0.5); draw2(1, 0); break; case 'B': mov2(0, 0); draw2(0, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(0.75, 0.5); draw2(0, 0.5); mov2(0.75, 0.5); draw2(1, 0.25); draw2(0.75, 0); draw2(0, 0); break; case 'b': mov2(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); mov2(0, 1); draw2(0, 0); break; case 'C': mov2(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': mov2(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': mov2(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': mov2(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); mov2(1, 0); draw2(1, 1.2); break; case 'E': mov2(1, 1); draw2(0, 1); draw2(0, 0); draw2(1, 0); mov2(0, 0.5); draw2(0.5, 0.5); break; case 'e': mov2(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': mov2(1, 1); draw2(0, 1); draw2(0, 0); mov2(0, 0.5); draw2(0.5, 0.5); break; case 'f': mov2(0.25, 0); draw2(0.25, 0.75); draw2(0.5, 1); draw2(0.75, 1); draw2(1, 0.75); mov2(0, 0.5); draw2(0.6, 0.5); break; case 'G': mov2(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': mov2(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); mov2(1, 0.75); draw2(1, -0.25); draw2(0.75, -0.5); draw2(0.25, -0.5); draw2(0, -0.25); break; case 'H': mov2(0, 0); draw2(0, 1); mov2(1, 0); draw2(1, 1); mov2(0, 0.4); draw2(1, 0.4); break; case 'h': mov2(0, 0); draw2(0, 1.2); mov2(0, 0.5); draw2(0.25, 0.75); draw2(0.75, 0.75); draw2(1, 0.5); draw2(1, 0); break; case 'I': mov2(0.25, 0); draw2(0.75, 0); mov2(0.5, 0); draw2(0.5, 1); mov2(0.25, 1); draw2(0.75, 1); break; case 'i': mov2(0.5, 0); draw2(0.5, 0.6); mov2(0.5, 0.9); draw2(0.5, 1); break; case 'J': mov2(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': mov2(0.5, 0.9); draw2(0.5, 1); mov2(0.5, 0.75); draw2(0.5, 0); draw2(0.25, -0.25); break; case 'K': mov2(0, 0); draw2(0, 1); mov2(0, 1/3); draw2(1, 1); mov2(0.5, 2/3); draw2(1, 0); break; case 'k': mov2(0.25, 0); draw2(0.25, 1); mov2(0.25, 0.25); draw2(1, 0.75); mov2(0.5, 0.45); draw2(1, 0); break; case 'L': mov2(1, 0); draw2(0, 0); draw2(0, 1); break; case 'l': mov2(0.5, 1); draw2(0.5, 0); draw2(0.75, 0); break; case 'M': mov2(0, 0); draw2(0, 1); draw2(0.5, 0.5); draw2(1, 1); draw2(1, 0); break; case 'm': mov2(0, 0); draw2(0, 0.75); mov2(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': mov2(0, 0); draw2(0, 1); draw2(1, 0); draw2(1, 1); break; case 'n': mov2(0.25, 0); draw2(0.25, 0.75); mov2(0.25, 0.5); draw2(0.5, 0.75); draw2(0.75, 0.75); draw2(1, 0.6); draw2(1, 0); break; case 'O': mov2(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': mov2(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': mov2(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': mov2(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); mov2(0, 0.75); draw2(0, -0.5); break; case 'Q': mov2(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); mov2(0.7, 0.30); draw2(1, 0); break; case 'q': mov2(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); mov2(1, 0.75); draw2(1, -0.5); break; case 'R': mov2(0, 0); draw2(0, 1); draw2(0.75, 1); draw2(1, 0.75); draw2(0.75, 0.5); draw2(0, 0.5); mov2(0.5, 0.5); draw2(1, 0); break; case 'r': mov2(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': mov2(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': mov2(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': mov2(0, 1); draw2(1, 1); mov2(0.5, 1); draw2(0.5, 0); break; case 't': mov2(0.5, 1); draw2(0.5, 0); draw2(0.75, 0); mov2(0.2, 2/3); draw2(0.8, 2/3); break; case 'U': mov2(0, 1); draw2(0, 0.25); draw2(0.25, 0); draw2(0.75, 0); draw2(1, 0.25); draw2(1, 1); break; case 'u': mov2(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': mov2(0, 1); draw2(0.5, 0); draw2(1, 1); break; case 'v': mov2(0, 0.75); draw2(0.5, 0); draw2(1, 0.75); break; case 'W': mov2(0, 1); draw2(0.2, 0); draw2(0.5, 0.4); draw2(0.80, 0); draw2(1, 1); case 'w': mov2(0, 0.75); draw2(0.25, 0); draw2(0.5, 0.5); draw2(0.75, 0); draw2(1, 0.75); break; case 'X': mov2(0, 1); draw2(1, 0); mov2(0, 0); draw2(1, 1); break; case 'x': mov2(0, 0.75); draw2(1, 0); mov2(0, 0); draw2(1, 0.75); break; case 'Y': mov2(0, 1); draw2(0.5, 0.5); draw2(1, 1); mov2(0.5, 0.5); draw2(0.5, 0); break; case 'y': mov2(0, 0.75); draw2(0.5, 0.1); mov2(1, 0.75); draw2(0, -0.5); break; case 'Z': mov2(0, 1); draw2(1, 1); draw2(0, 0); draw2(1, 0); break; case 'z': mov2(0, 0.75); draw2(1, 0.75); draw2(0, 0); draw2(1, 0); break; case '0': mov2(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': mov2(0.5, 0); draw2(0.5, 1); draw2(0.3, 0.75); mov2(0.25, 0); draw2(0.75, 0); break; case '2': mov2(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': mov2(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': mov2(1, 0); draw2(1, 1); draw2(0, 0.4); draw2(1, 0.4); break; case '5': mov2(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': mov2(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': mov2(0, 1); draw2(1, 1); draw2(0.25, 0.25); draw2(0.25, 0); break; case '8': mov2(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); mov2(0.25, 0.5); draw2(0.75, 0.5); break; case '9': mov2(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 '.': mov2(0.5, 0); draw2(0.6, 0); break; case ',': mov2(0.5, 0); draw2(0.6, 0); draw2(0.4, -0.2); break; case '(': mov2(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 ')': mov2(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 '-': mov2(0.25, 0.5); draw2(0.75, 0.5); break; case '+': mov2(0.15, 0.5); draw2(0.85, 0.5); mov2(0.5, 0.16); draw2(0.5, 0.84); break; case '=': mov2(0.15, 0.25); draw2(0.85, 0.25); mov2(0.15, 0.75); draw2(0.85, 0.75); break; case ':': mov2(0.5, 0); draw2(0.6, 0); draw2(0.6, 0.2); draw2(0.5, 0.2); draw2(0.5, 0); mov2(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 '@': mov2(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); mov2(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; } /* end case */ popmatrix(); translate(1, 0, 0); } /* end i loop */ popmatrix(); } /* end procedure */