- argc -= 1; argv++; /* Skip program name. */
- while (argc > 0)
- {
- argc -= 1;
- arg = *argv++;
- if (arg[0] != '-') file[gfil++] = arg;
- else
- {
- sw = *++arg;
- switch (sw)
- {
- case 'W': /* Print to wide (versatec) device */
- device = 'W';
- DevRange = 2047;
- break;
- case 'V': /* Print to narrow (varian) device */
- device = 'V';
- DevRange = 1536;
- break;
- case '1': /* select size 1 */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tsize[0] = arg;
- break;
- case '2': /* select size 2 */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tsize[1] = arg;
- break;
- case '3': /* select size 3 */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tsize[2] = arg;
- break;
- case '4': /* select size 4 */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tsize[3] = arg;
- break;
- case 'R': /* select Roman font */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tfont[0] = arg;
- break;
- case 'I': /* select italics font */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tfont[1] = arg;
- break;
- case 'B': /* select bold font */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tfont[2] = arg;
- break;
- case 'S': /* select special font */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- tfont[3] = arg;
- break;
- case 'N': /* select narrow brush width */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- (void) sscanf(arg, "%d", &brsh);
- thick[0] = thick[1] = thick[3] = thick[4] = brsh;
- break;
- case 'T': /* select thick brush width */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- (void) sscanf(arg, "%d", &brsh);
- thick[2] = brsh;
- break;
- case 'M': /* select medium brush width */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- (void) sscanf(arg, "%d", &brsh);
- thick[5] = brsh;
- break;
- case 't': /* send raster to standard output */
- WriteRaster = TRUE;
- break;
- case 'x': /* select scale */
- if (*++arg == '\0')
- if (argc-- > 0) arg = *argv++;
- sscanf(arg,"%f",&mult);
- scale *= mult;
- break;
- case 'p': /* prompt for font and size parameters */
- printf("Roman font name? (%s): ", tfont[0]);
- gets(string1);
- if (*string1 != '\0') tfont[0] = string1;
- printf("Italic font name? (%s): ", tfont[1]);
- gets(string2);
- if (*string2 != '\0') tfont[1] = string2;
- printf("Bold font name? (%s): ", tfont[2]);
- gets(string3);
- if (*string3 != '\0') tfont[2] = string3;
- printf("Special font name? (%s): ", tfont[3]);
- gets(string4);
- if (*string4 != '\0') tfont[3] = string4;
- printf("font size 1? (%s): ", tsize[0]);
- gets(string5);
- if (*string5 != '\0') tsize[0] = string5;
- printf("font size 2? (%s): ", tsize[1]);
- gets(string6);
- if (*string6 != '\0') tsize[1] = string6;
- printf("font size 3? (%s): ", tsize[2]);
- gets(string7);
- if (*string7 != '\0') tsize[2] = string7;
- printf("font size 4? (%s): ", tsize[3]);
- gets(string8);
- if (*string8 != '\0') tsize[3] = string8;
- printf("narrow brush size? (%d): ", thick[0]);
- gets(string);
- if (*string != '\0')
- {
- sscanf(string, "%d", &brsh);
- thick[0] = thick[1] = thick[3] = thick[4] = brsh;
- }
- printf("medium brush size? (%d): ", thick[5]);
- gets(string);
- if (*string != '\0')
- {
- sscanf(string, "%d", &brsh);
- thick[5] = brsh;
- }
- printf("thick brush size? (%d): ", thick[2]);
- gets(string);
- if (*string != '\0')
- {
- sscanf(string, "%d", &brsh);
- thick[2] = brsh;
- }
- break;
- default:
- (void) printf("unknown switch: %c", sw);
- }
- }
- }
+ argc--;
+ argv++;
+ while (argc--) {
+ if (*(arg = *argv++) != '-')
+ file[gfil++] = arg;
+ else switch (*++arg) {
+ case 'W': /* Print to wide (versatec) device */
+ device = 'W';
+ DevRange = 2047;
+ BytesPerLine = 880;
+ lpargs[1] = "-Pversatec";
+ break;
+ case 'V': /* Print to narrow (varian) device */
+ device = 'V';
+ DevRange = 1536;
+ BytesPerLine = 264;
+ lpargs[1] = "-Pvarian";
+ break;
+ case '1': /* select size 1 */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tsize[0] = arg;
+ break;
+ case '2': /* select size 2 */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tsize[1] = arg;
+ break;
+ case '3': /* select size 3 */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tsize[2] = arg;
+ break;
+ case '4': /* select size 4 */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tsize[3] = arg;
+ break;
+ case 'R': /* select Roman font */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tfont[0] = arg;
+ break;
+ case 'I': /* select italics font */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tfont[1] = arg;
+ break;
+ case 'B': /* select bold font */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tfont[2] = arg;
+ break;
+ case 'S': /* select special font */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ tfont[3] = arg;
+ break;
+ case 'N': /* select narrow brush width */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ (void) sscanf(arg, "%d", &brsh);
+ thick[0] = thick[1] = thick[3] = thick[4] = brsh;
+ break;
+ case 'T': /* select thick brush width */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ (void) sscanf(arg, "%d", &brsh);
+ thick[2] = brsh;
+ break;
+ case 'M': /* select medium brush width */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ (void) sscanf(arg, "%d", &brsh);
+ thick[5] = brsh;
+ break;
+ case 't': /* send raster to standard output */
+ WriteRaster = TRUE;
+ break;
+ case 'x': /* select scale */
+ if (*++arg == '\0' && argc--)
+ arg = *argv++;
+ sscanf(arg,"%f", &mult);
+ scale *= mult;
+ break;
+ case 'p': /* prompt for font and size parameters */
+ printf("Roman font name? (%s): ", tfont[0]);
+ gets(string1);
+ if (*string1 != '\0') tfont[0] = string1;
+ printf("Italic font name? (%s): ", tfont[1]);
+ gets(string2);
+ if (*string2 != '\0') tfont[1] = string2;
+ printf("Bold font name? (%s): ", tfont[2]);
+ gets(string3);
+ if (*string3 != '\0') tfont[2] = string3;
+ printf("Special font name? (%s): ", tfont[3]);
+ gets(string4);
+ if (*string4 != '\0') tfont[3] = string4;
+ printf("font size 1? (%s): ", tsize[0]);
+ gets(string5);
+ if (*string5 != '\0') tsize[0] = string5;
+ printf("font size 2? (%s): ", tsize[1]);
+ gets(string6);
+ if (*string6 != '\0') tsize[1] = string6;
+ printf("font size 3? (%s): ", tsize[2]);
+ gets(string7);
+ if (*string7 != '\0') tsize[2] = string7;
+ printf("font size 4? (%s): ", tsize[3]);
+ gets(string8);
+ if (*string8 != '\0') tsize[3] = string8;
+ printf("narrow brush size? (%d): ", thick[0]);
+ gets(string);
+ if (*string != '\0') {
+ sscanf(string, "%d", &brsh);
+ thick[0] = thick[1] = thick[3] = thick[4] = brsh;
+ }
+ printf("medium brush size? (%d): ", thick[5]);
+ gets(string);
+ if (*string != '\0') {
+ sscanf(string, "%d", &brsh);
+ thick[5] = brsh;
+ }
+ printf("thick brush size? (%d): ", thick[2]);
+ gets(string);
+ if (*string != '\0') {
+ sscanf(string, "%d", &brsh);
+ thick[2] = brsh;
+ }
+ break;
+ default:
+ (void) printf("unknown switch: %c", *arg);
+ }
+ }