#!/usr/bin/perl eval 'exec perl -S $0 "$@"' if $running_under_some_shell; # mangle PostScript produced by PSPrint to make it almost conforming # # Copyright (C) Angus J. C. Duggan 1991-1995 # See file LICENSE for details. $header = 1; $ignore = 0; $verbose = 0; @body = (); %fonts = (); $font = ""; $inchar = 0; @char = (); while (<>) { if (/^\@end$/) { $ignore = 1; } elsif (/^[0-9]+ \@bop0$/) { $ignore = 0; $header = 1; } elsif ($header) { if (/^\/([a-z.0-9]+) \@newfont$/) { if (! defined($fonts{$1})) { $fonts{$1} = 1; print; } elsif ($verbose) { print STDERR "$font already defined\n"; } } elsif (/^([a-z.0-9]+) sf$/) { $font = $1; print; } elsif (/^\[</) { $inchar = 1; push (@char, $_); } elsif ($inchar) { push (@char, $_); if (/.*\] ([0-9]+) dc$/) { if (! defined($fonts{$font,$1})) { $fonts{$font,$1} = 1; print (@char); } elsif ($verbose) { print STDERR "$font character $1 already defined\n"; } $inchar = 0; @char = (); } } elsif (/^([0-9]+) \@bop1$/) { $header = 0; push (@body, "%%Page: ? $1\n"); push (@body, $_); } else { print; } } elsif (! $ignore) { push (@body, $_); } } print (@body); print ("\@end\n");