diff options
author | Karl Berry <karl@freefriends.org> | 2006-12-11 01:07:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-12-11 01:07:44 +0000 |
commit | 814c2a4e6248c2102a433bf8bec2b58aa690c5b7 (patch) | |
tree | 447a0950be4328147c08bdc2510c5079e7d89b9f /Master/bin/i386-solaris/fixpspps | |
parent | 129c0e1708ca01426708d7d257bf8a1cc608ec10 (diff) |
i386-solaris binaries from Apostolos
git-svn-id: svn://tug.org/texlive/trunk@2681 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/i386-solaris/fixpspps')
-rwxr-xr-x | Master/bin/i386-solaris/fixpspps | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Master/bin/i386-solaris/fixpspps b/Master/bin/i386-solaris/fixpspps new file mode 100755 index 00000000000..77bba66d6b7 --- /dev/null +++ b/Master/bin/i386-solaris/fixpspps @@ -0,0 +1,58 @@ +#!/usr/bin/env perl +# 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"); + |