From owner-mgetty Fri Aug 18 19:28:01 1995
Return-Path: <owner-mgetty>
Received: by greenie.muc.de (/\==/\ Smail3.1.24.1 #24.2)
	id <m0sjVD7-0003YzC@greenie.muc.de>; Fri, 18 Aug 95 19:28 MEST
Return-Path: <l-mgetty-owner@muc.de>
Received: by greenie.muc.de (/\==/\ Smail3.1.24.1 #24.2)
	id <m0sjVD4-0003YyC@greenie.muc.de>; Fri, 18 Aug 95 19:27 MEST
Received: from lilly.ping.de ([193.100.14.2]) by colin.muc.de with SMTP id <41359-1>; Fri, 18 Aug 1995 19:27:11 +0200
Received: from cliwe.ping.de by lilly.ping.de with smtp
	(Smail3.1.28.1 #4) id m0sjUwL-000oo6C; Fri, 18 Aug 95 19:10 MET DST
From: fdc@cliwe.ping.de (Frank D. Cringle)
Date: Fri, 18 Aug 1995 19:19:25 +0200
Message-Id: <9508181719.AA11601@cliwe.ping.de>
Received: by cliwe.ping.de (5.0/GEN-1.0.17-fdc)
	id AA11601; Fri, 18 Aug 95 19:19:25 +0200
To: mgetty@muc.de
In-Reply-To: gert@greenie.muc.de's message of Wed, 16 Aug 1995 19:48:45 +0200
Subject: Re: output from gs3.33
References: <199508152346.QAA21503@hyla.chez.sgi.com>
	<m0sima6-0002waC@greenie.muc.de>
content-length: 0
Status: RO

gert@greenie.muc.de (Gert Doering) writes:
[ ... ]
>This part seems to be responsible for it... looks weird.
>
>    {{1 dict dup /PageSize [paperwidth paperheight]put setpagedevice }stopped
>    { (Can't select requested paper size for Frame print job!) FMFAILURE } if
>     {1 dict dup /ManualFeed manualfeed put setpagedevice } stopped pop }
>
>Does anyone have an idea how to "fix" those documents?

OK, I admit it.  I have a brain like a sieve!  Attached below is a posting by
Konstantin Laufer that I saved a few months ago and promptly forgot all about.
After applying his patch to a private copy of the frame ps_prolog my scanlines
are 1728 pixels long like they should be.

Before I rediscovered this treasure I mucked about with gs3 and found that the
width is initially set to 1728 (or 2048) in gdev_fax_open() but is
subsequently recalculated by gx_device_set_page_size() based on the
resolution.  It is possible to reset the pdev->width to 1728 in
gdev_fax_init_state() and get the desired output, but whether this is a
satisfactory fix is beyond me.

Did we ever find out what the cause of R"udiger Jacob's original problem was?

----------------------------------------------------------------
|From laufer@math.luc.edu Fri Apr 14 13:45:04 1995
|Path: cliwe.ping.de!ping.de!Germany.EU.net!howland.reston.ans.net!vixen.cso.uiuc.edu!uchinews!apollo!math.luc.edu!laufer
|From: laufer@math.luc.edu (Konstantin Laufer)
|Newsgroups: comp.text.frame
|Subject: Re: US letter vs A4 Letter (solution)
|Date: 25 Mar 1995 01:39:02 GMT
|Organization: Loyola University Chicago
|Lines: 90
|Distribution: world
|Message-ID: <3kvs7m$n5f@apollo.it.luc.edu>
|References: <3k20ll$mev@klaatu.btv.ibm.com> <3kusjt$bjc@louhi.to.icl.fi>
|NNTP-Posting-Host: schauinsland.math.luc.edu

In article <3kusjt$bjc@louhi.to.icl.fi>, ippa@to.icl.fi (Ritva Koivisto) writes:
> In article <3k20ll$mev@klaatu.btv.ibm.com>, warfield@btv.ibm.com (David R. Warfield) says:
> 
> >FrameMaker seems to explicitly put a lot of printer specific
> >information right into the postscript file such as paper tray
> >(that's burned me a few times), manual feed, and horizontal and
> >vertcial size.  I suspect that is why this user had to manually
> >eject the page.  Can anyone confirm this?  Is there a way to
> >generate one postscript file from FM that can be used for both
> >US letter and A4 letter size?
> 
> Was the error message something like "load letter"? If so,
> sounds familiar...

My guess is that the error message was the following, taken directly
>from $FMHOME/fminit/ps_prolog, where it occurs in two places:

	Can't select requested paper size for Frame print job!

Checking the page size is a new "feature" in FM 4.  It is the reason
why PostScript files generated by Frame for US Letter cannot be
printed on an A4 printer any more and vice versa.  Why is this a
problem?  Because many papers are exchanged *as PS files* between
parties in different parts of the world.

Here is a fix:

1) Use the following patch (context diff) to remove the repressive
size checking from $FMHOME/fminit/ps_prolog.  The patched file can go
into your personal fminit directory as ~/fminit/ps_prolog.  The files
generated with the new prolog can be used for either page size.

*** /usr/local/software/Xframe4.0/fminit/ps_prolog	Tue Feb  1 17:00:56 1994
--- /home/laufer/fminit/ps_prolog	Fri Mar 24 13:42:25 1995
***************
*** 653,668 ****
  		/FMoptop count def 
  		setpapername 
  		manualfeed {true} {papersize} ifelse 
! 		{manualpapersize} {false} ifelse 
! 		{desperatepapersize} {false} ifelse 
! 		{ (Can't select requested paper size for Frame print job!) FMFAILURE } if
  		count -1 FMoptop {pop pop} for
  		countdictstack -1 FMdicttop {pop end} for 
  		}
! 		{{1 dict dup /PageSize [paperwidth paperheight]put setpagedevice}stopped
! 		{ (Can't select requested paper size for Frame print job!) FMFAILURE } if
! 		 {1 dict dup /ManualFeed manualfeed put setpagedevice } stopped pop }
! 	ifelse 
  	
  	FMPColor {
  		currentcolorscreen
--- 653,663 ----
  		/FMoptop count def 
  		setpapername 
  		manualfeed {true} {papersize} ifelse 
! 		{manualpapersize} if
  		count -1 FMoptop {pop pop} for
  		countdictstack -1 FMdicttop {pop end} for 
  		}
! 	if
  	
  	FMPColor {
  		currentcolorscreen

2) A tiny sed script to change the page sizes in existing PS files
>from A4 to US Letter.  Alternatively, you may directly apply the patch
above to the PS files.

#! /bin/sh

tmpfile=${TMPDIR-/tmp}/fmfixa4.$$

for file in $*; do
    sed -e "s/595 842/612 792/" < $file > $tmpfile
    mv $file $file.backup
    mv $tmpfile $file
done

To convert from US Letter to A4, change the sed line to this:

    sed -e "s/612 792/595 842/" < $file > $tmpfile

Disclaimer: This stuff is provided as is without any kind of warranty.
I use it with Frame 4 on SunOS 4.1.3.  I hope it is helpful.  Please
post improvements to this group.

-- 
Konstantin Laufer@math.luc.edu                                 KL (http://www.math.luc.edu/~laufer/)

-- 
Frank Cringle                      | fdc@cliwe.ping.de
voice + fax                        | +49 2304 467101

