--- filter/pstops.c~ 2006-06-02 01:43:21.000000000 +0200 +++ filter/pstops.c 2006-08-28 16:34:49.000000000 +0200 @@ -1589,6 +1589,7 @@ if (!strncmp(line, "%%BeginSetup", 12)) { + int infeature = 0; while (strncmp(line, "%%EndSetup", 10)) { if (!strncmp(line, "%%Page:", 7)) @@ -1603,7 +1604,25 @@ doc->num_options = include_feature(ppd, line, doc->num_options, &(doc->options)); } - else + else if (!strncmp(line, "%%BeginFeature:", 15)) + { + char name[255]; + char value[255]; + if (sscanf(line + 15, "%254s%254s", name, value) == 2) + { + printf("%%DeferredFeature: %s %s\n", name, value); + infeature = 1; + doc->num_options = cupsAddOption(name + 1, value, + doc->num_options, &doc->options); + } + + } + else if (!strncmp(line, "%%EndFeature", 12)) + { + infeature = 0; + + } + else if (!infeature) fwrite(line, 1, linelen, stdout); if ((linelen = cupsFileGetLine(fp, line, linesize)) == 0)