summaryrefslogtreecommitdiff
path: root/Master/bin/i386-freebsd/fixfmps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/bin/i386-freebsd/fixfmps')
-rwxr-xr-xMaster/bin/i386-freebsd/fixfmps21
1 files changed, 21 insertions, 0 deletions
diff --git a/Master/bin/i386-freebsd/fixfmps b/Master/bin/i386-freebsd/fixfmps
new file mode 100755
index 00000000000..039ac8e5a3e
--- /dev/null
+++ b/Master/bin/i386-freebsd/fixfmps
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+# fixfmps: get conforming PostScript out of FrameMaker version 2 file
+# move all FMDEFINEFONTs to start of pages
+#
+# Copyright (C) Angus J. C. Duggan 1991-1995
+# See file LICENSE for details.
+
+%fonts=();
+
+while (<>) {
+ if (/^([0-9]+) [0-9]+ .* FMDEFINEFONT$/) {
+ $fonts{$1} = $_;
+ } elsif (/^[0-9.]+ [0-9.]+ [0-9]+ FMBEGINPAGE$/) {
+ print $_, join('',values(%fonts));
+ } elsif (m%(.*/PageSize \[paperwidth paperheight\]put )setpagedevice(.*)%) {
+ print "$1pop$2\n";
+ } else {
+ print $_;
+ }
+}
+