home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume35
/
psutils
/
part04
/
fixpspps
< prev
next >
Wrap
Text File
|
1993-02-04
|
1KB
|
55 lines
#!/usr/local/bin/perl
# mangle PostScript produced by PSPrint to make it almost conforming
$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");