#! /bin/nawk -f
#
#	sgksopt    optimize hardfill stuff of sgks.ps
#
#				ver 0.3		Numaguti A. 92/02/20
#
#		usage:   % sgksopt sgks.ps > sgks.sps
#		         % sgksopt sgks.ps | lpr
#
#	        caution!!  Don't delete @sgks-* files during the process. 
#		           Don't run two or more sgksopt process 
#		                 simultaneously in the same directory.
#
BEGIN 	{ body = 0
	  print "% no hard-fill part" > "@sgks-nohardfil" 
	  pat = "@sgkssort-error"
	  MAXFNUM = 13
	  ofnum = 1
	  patsave = ""
	}

/^N/	{ body = 1 }

/G/  	{ if ( body == 1 && NF >= 4 )  
	  { pat = "@sgks-"$1"-"$2"-"$3

	    if ( (pat != patsave) && (ofnum >= MAXFNUM) ) close(patsave) 

	    if ( count[pat] ++ == 0 )
	    { print $0 > pat 
	      ofnum++        }
	    else
	    { if ( NF == 6 ) print $5 " " $6 >> pat }

	    while ( $0 != "0 G" )
	      { getline; print >> pat }
	  }
	  else if ( body == 1 )
	  { print >> pat 

	    while ( $0 != "0 G" )
	      { getline; print >> pat }
	  }
	  else print
	  patsave = pat
	  next
	}

/^showpage/ { for ( p in count )
	      {	if ( count[p] > 0 )
 		   { close(p)
		     syscmd = "cat "p
		     system(syscmd)
		     count[p] = 0
	           }
              }
	      close("@sgks-nohardfil")  
	      system("cat @sgks-nohardfil")
  	      print "% no hard-fill part" > "@sgks-nohardfil" 
	      print 
	      body = 0
	      ofnum = 1
	      next
            } 	 

	{ if ( body == 0 ) { print }
	  else { print >> "@sgks-nohardfil" }
        }

END	{ system("/bin/rm -f @sgks-*") }

