|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: #define SZ 512 ! 4: ! 5: int lasta, lastb; ! 6: char buf[512]; ! 7: char *back = (char *) 0; ! 8: int Factor=0; ! 9: int ncurve=0; ! 10: int Xoffset = 16; ! 11: int Yoffset = 100; ! 12: ! 13: main(argc, argv) ! 14: char **argv; ! 15: { ! 16: extern int lcnt; ! 17: int i; ! 18: ! 19: switch (argc) { ! 20: case 5: ! 21: back = argv[4]; ! 22: case 4: ! 23: Yoffset = 100-atoi(argv[3]); ! 24: Xoffset = 16+atoi(argv[2]); ! 25: case 2: ! 26: Factor = atoi(argv[1]); /* >0 stretches the letter in x */ ! 27: case 1: ! 28: break; ! 29: default: ! 30: fprintf(stderr, "usage: pcurve "); ! 31: fprintf(stderr, "[N [dX dY [background]]] < font > script\n"); ! 32: exit(1); ! 33: } ! 34: ! 35: prelude(); ! 36: printf("def curve() {\n"); ! 37: getcurve(); ! 38: ! 39: runcontour(); ! 40: printf("}\n"); ! 41: printf("x {\n"); ! 42: printf(" curve()\n"); ! 43: for (i = 100; i < lcnt; i += 100) ! 44: printf(" curve%d()\n", i); ! 45: printf("}\nx new=old\n"); ! 46: } ! 47: ! 48: getcurve() ! 49: { int a, b, c; ! 50: ! 51: for (;;) ! 52: { if (fgets(buf, 512, stdin) == NULL) ! 53: return; ! 54: c = 0; ! 55: while (strcmp(buf, "1e6\n") == 0) ! 56: { c = 1; ! 57: if (fgets(buf, 512, stdin) == NULL) ! 58: return; ! 59: } ! 60: sscanf(buf, "%d %d", &a, &b); ! 61: addnode((a+Xoffset), (b+Yoffset), c); ! 62: } ! 63: } ! 64: ! 65: prelude() ! 66: { ! 67: printf("def mapper(t0, t1, f0, f1, h) {\n"); ! 68: printf("if (abs(t0-t1)>1)\n"); ! 69: printf("{ mapper((t0+t1)/2, t1, (f0+f1)/2, f1, h)\n"); ! 70: printf(" mapper(t0, (t0+t1)/2, f0, (f0+f1)/2, h)\n"); ! 71: printf("} else\n"); ! 72: printf(" new[t0, h] = $1[f0, h]\n"); ! 73: printf("}\n"); ! 74: if (back) ! 75: printf("get \"%s\"\n", back); ! 76: else ! 77: printf("x new=y*%d/%d;\n", 255, SZ-1); ! 78: printf("def setter(aa, b, c, d) {\n"); ! 79: printf(" for (x=aa; x<b; x++)\n"); ! 80: if (back) ! 81: printf(" new[x,c]=$2[x,c];\n"); ! 82: else ! 83: printf(" new[x,c]=d;\n"); ! 84: printf("}\n"); ! 85: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.