Annotation of researchv10dc/vol2/Faces/How/src/pbec.c, revision 1.1.1.1

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") == 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)*SZ)/512, ((b+Yoffset)*SZ)/512, 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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.