diff options
author | Karl Berry <karl@freefriends.org> | 2008-03-17 18:57:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-03-17 18:57:40 +0000 |
commit | 551fce0518df5a5bcbe04a6769ff4bd7c623dc85 (patch) | |
tree | 79a0a734697e06600e746af6cc46eede113048d7 /Master/bin/powerpc-darwin/fixpspps | |
parent | f5df7cbaf4d67b9d2d2bef514f8297d16d4d5cc3 (diff) |
restore powerpc-darwin
git-svn-id: svn://tug.org/texlive/trunk@6997 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/powerpc-darwin/fixpspps')
-rwxr-xr-x | Master/bin/powerpc-darwin/fixpspps | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Master/bin/powerpc-darwin/fixpspps b/Master/bin/powerpc-darwin/fixpspps new file mode 100755 index 00000000000..77bba66d6b7 --- /dev/null +++ b/Master/bin/powerpc-darwin/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"); + |