From 9d60f6cbb79ba48ba3f8b9247e6ab50b2eea55f3 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 8 Jan 2008 17:15:46 +0100 Subject: [PATCH] Added pstopsfix. --- pstopsfix | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 pstopsfix diff --git a/pstopsfix b/pstopsfix new file mode 100755 index 0000000..bdea303 --- /dev/null +++ b/pstopsfix @@ -0,0 +1,35 @@ +#!/usr/bin/perl +# A filter for fixing PS generated by pstops +# (c) 2008 Martin Mares + +my $seen_procset = 0; +my @procset = (); +my $seen_setup = 0; +while (<>) { + if (/^%%BeginProcSet: PStoPS/) { + $seen_procset = 1; + } elsif ($seen_procset == 1) { + if (/^%%EndProcSet/) { + $seen_procset = 2; + } else { + push @procset, $_; + } + } elsif (/^%%BeginSetup/) { + print; + if ($seen_procset == 2) { + print "%%BeginFeature: PStoPS\n"; + print join("", @procset); + print "%%EndFeature\n"; + $seen_procset = 3; + } + $seen_setup = 1; + } else { + print; + } +} + +$seen_setup or die "No setup section seen\n"; +$seen_procset or die "No PStoPS procset seen\n"; +$seen_procset >= 2 or die "PStoPS procset not terminated\n"; +$seen_procset >= 3 or die "Setup section precedes PStoPS procset\n"; +exit 0; -- 2.39.2