diff options
author | Karl Berry <karl@freefriends.org> | 2009-09-06 23:48:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-09-06 23:48:52 +0000 |
commit | b31d3f8b0397dbc29beaa4c991ff77d90d703e10 (patch) | |
tree | 0eb6316ca3b59b00b389701045ade39a981d70c5 /Master/bin/i386-netbsd/fixpspps | |
parent | e3fc112b2ceec82657c11e788064ee66cdb0c9e3 (diff) |
i386-netbsd from Jukka Salmi
git-svn-id: svn://tug.org/texlive/trunk@15167 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/bin/i386-netbsd/fixpspps')
-rwxr-xr-x | Master/bin/i386-netbsd/fixpspps | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Master/bin/i386-netbsd/fixpspps b/Master/bin/i386-netbsd/fixpspps new file mode 100755 index 00000000000..77bba66d6b7 --- /dev/null +++ b/Master/bin/i386-netbsd/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"); + |