home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega Top 1
/
os2_top1.zip
/
os2_top1
/
APPS
/
TEKST
/
PSUTILS
/
FIXPSPPS.PL
< prev
next >
Wrap
Perl Script
|
1993-10-27
|
1KB
|
59 lines
#!@PERL@
# mangle PostScript produced by PSPrint to make it almost conforming
# feed this into perl
eval 'exec perl -S $0 "$@"'
if $running_under_some_shell;
$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");