#!/usr/local/bin/perl
# fixfmps: get conforming PostScript out of FrameMaker file
# move all FMDEFINEFONTs to start of pages

%fonts=();

while (<>) {
   if (/^([0-9]+) [0-9]+ .* FMDEFINEFONT$/) {
      $fonts{$1} = $_;
   } elsif (/^[0-9]+ [0-9]+ [0-9]+ FMBEGINPAGE$/) {
      print STDOUT $_, join('',values(%fonts));
   } else {
      print STDOUT $_;
   }
}
