diff options
author | Karl Berry <karl@freefriends.org> | 2007-01-14 18:22:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-01-14 18:22:31 +0000 |
commit | eb923a48899f9fa14e82ebe4e31643ff6528ace8 (patch) | |
tree | d2b263c83ac970d19f9ad4d4d39dae3dfa04631a /Master/bin/powerpc-linux/fixpspps | |
parent | 84d6472b297de0da2cce2c622bde876e7fe67aba (diff) |
new arch from tschmitz
git-svn-id: svn://tug.org/texlive/trunk@3469 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/powerpc-linux/fixpspps')
-rwxr-xr-x | Master/bin/powerpc-linux/fixpspps | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Master/bin/powerpc-linux/fixpspps b/Master/bin/powerpc-linux/fixpspps new file mode 100755 index 00000000000..77bba66d6b7 --- /dev/null +++ b/Master/bin/powerpc-linux/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"); + |