FW97 prints escher.ps

FW97 prints escher.ps

Post by Bill Nea » Sun, 31 Dec 1899 09:00:00



I have successfully printed the escher.ps file, that comes with the
GhostScript distribution, from FW97 on my Epson LQ-510 printer.

Well, Bernd, what excuse will you make this time?

(Sorry for the long post, guys, but Bernd needs to be confronted in public
concerning this matter.)

---------------
%!PS-Adobe-2.0
%%Copyright:     1993-SoftWood, Inc.
%%Creator:       Final Writer
%%CreationDate:  Monday,?September?1,?1997 - 4:11?PM
%%Title:        
%%Pages:         (atend)
%%DocumentFonts:  Helvetica
%%EndComments
/#copies 1 def
/u_doc () def
/u_time (4:11\240PM) def
/u_date (Monday,\240September\2401,\2401997) def
/u_pageht 792 def
/u_pagewd 612 def
% initialize a few blank procedures ( to be replaced in user-def.ps )
/UserDoc {} bind def
/UserEOD {} bind def
/UserBOP {} bind def
/UserEOP {} bind def
% FILE INSERTED: user-def.ps
% ==========================

% ==========================
% END OF FILE: user-def.ps

%%BeginProlog
% Prolog for "Final Writer" PostScript? output
% Author: Pat Brouillette <pfre...@BIX.com>
% Version:     V3.1
% Date:        Jul 22, 1993
% Copyright (c) 1991-1993 SoftWood, Inc.
% This file may not be modified or used for purposes other than
% creating output with "Final Writer", so there.
%
% If you wish to make changes, make them in the file "user-def.ps"
% located in the "FWFiles" directory and create a few PostScript
% procedures, "UserDoc", "UserBOP", and "UserEOP". "Final Writer" will
% automagically call these procedures at the beginning of the document
% and the beginning and end of each page, respectively.
%
/SWDict 130 dict def
SWDict begin
/bd {bind def}bind def
/ld {load def}bd
/ed {exch def}bd
/FF {gsave showpage grestore}bd
/n /newpath ld
/cp /currentpoint ld
/clp /closepath ld
/st /stroke ld
/sh /show ld
/tr /translate ld
/m /moveto ld
/rm /rmoveto ld
/l /lineto ld
/rl /rlineto ld
/c /curveto ld
/rc /rcurveto ld
/gs /gsave ld
/gr /grestore ld
/clw /currentlinewidth ld
/slw /setlinewidth ld
/clj /currentlinejoin ld
/slj /setlinejoin ld
/clc /currentlinecap ld
/slc /setlinecap ld
/cml /currentmiterlimit ld
/sml /setmiterlimit ld
/cdash /currentdash ld
/sdash /setdash ld
/cg /currentgray ld
/sg /setgray ld
/cm /currentmatrix ld
/sm /setmatrix ld
/chsb /currenthsbcolor ld
/shsb /sethsbcolor ld
/crgb /currentrgbcolor ld
/srgb /setrgbcolor ld
/sw_regmark
     { .7 slw
     /ymark ed /xmark ed
     newpath
          xmark ymark 10 add m
          xmark ymark 10 sub l st
     newpath
          xmark 10 sub ymark m
          xmark 10 add ymark l st
     xmark ymark 5 0 360 arc st

} def

/sw_cropmarks
     {
     cg clw
     n 0 sg .5 slw

     % horiz crop marks
     -72 0 m 54 0 rl
     -72 u_pageht m 44 0 rl
     u_pagewd 18 add 0 m 44 0 rl
     u_pagewd 18 add u_pageht m 44 0 rl st

     % vert crop marks
     0 -72 m 0 54 rl
     0 u_pageht 18 add m 0 54 rl
     u_pagewd -72 m 0 54 rl
     u_pagewd u_pageht 18 add m 0 54 rl st

     % Registration marks
     -18 u_pageht 2 div sw_regmark           % left-center
     u_pagewd 2 div dup -18 sw_regmark       % center-bottom
     u_pageht 18 add sw_regmark              % center-top
     u_pagewd 18 add dup u_pageht 2 div sw_regmark     % right-center
     u_pageht 4 div sw_regmark               % right-bottom

     slw sg

} def

/reencsmalldict 12 dict def
/ReEncodeSmall
{ reencsmalldict begin
/newcodesandnames exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def
basefontdict
     { exch dup /FID ne
          { dup /Encoding ne
               { exch newfont 3 1 roll put }
               { exch dup length array copy newfont 3 1 roll put }
               ifelse }
          { pop pop }
          ifelse
     } forall
newfont /FontName newfontname put
newcodesandnames aload pop
newcodesandnames length 2 idiv
{ newfont /Encoding get 3 1 roll put} repeat
newfontname newfont definefont pop
end

} def

/AmiVec [
8#220 /dotlessi          8#221 /grave        8#222 /acute        8#223 /circumflex
8#224 /tilde        8#225 /macron       8#226 /breve        8#227 /dotaccent
8#230 /dieresis          8#232 /ring         8#233 /cedilla      8#235 /hungarumlaut
8#236 /ogonek       8#237 /caron        8#240 /nbspace      8#241 /exclamdown
8#242 /cent         8#243 /sterling          8#244 /currency          8#245 /yen
8#246 /brokenbar    8#247 /section      8#250 /dieresis          8#251 /copyright
8#252 /ordfeminine  8#253 /guillemotleft     8#254 /logicalnot   8#255 /hyphen
8#256 /registered   8#257 /macron       8#260 /degree       8#261 /plusminus
8#262 /twosuperior  8#263 /threesuperior     8#264 /acute        8#265 /mu
8#266 /paragraph    8#267 /bullet       8#270 /cedilla      8#271 /onesuperior
8#272 /ordmasculine 8#273 /guillemotright    8#274 /onequarter   8#275 /onehalf
8#276 /threequarters     8#277 /questiondown 8#300 /Agrave       8#301 /Aacute
8#302 /Acircumflex  8#303 /Atilde       8#304 /Adieresis    8#305 /Aring
8#306 /AE      8#307 /Ccedilla          8#310 /Egrave       8#311 /Eacute
8#312 /Ecircumflex  8#313 /Edieresis    8#314 /Igrave       8#315 /Iacute
8#316 /Icircumflex  8#317 /Idieresis    8#320 /Eth          8#321 /Ntilde
8#322 /Ograve       8#323 /Oacute       8#324 /Ocircumflex  8#325 /Otilde
8#326 /Odieresis    8#327 /multiply          8#330 /Oslash       8#331 /Ugrave
8#332 /Uacute       8#333 /Ucircumflex  8#334 /Udieresis    8#335 /Yacute
8#336 /Thorn        8#337 /germandbls   8#340 /agrave       8#341 /aacute
8#342 /acircumflex  8#343 /atilde       8#344 /adieresis    8#345 /aring
8#346 /ae      8#347 /ccedilla          8#350 /egrave       8#351 /eacute
8#352 /ecircumflex  8#353 /edieresis    8#354 /igrave       8#355 /iacute
8#356 /icircumflex  8#357 /idieresis    8#360 /eth          8#361 /ntilde
8#362 /ograve       8#363 /oacute       8#364 /ocircumflex  8#365 /otilde
8#366 /odieresis    8#367 /divide       8#370 /oslash       8#371 /ugrave
8#372 /uacute       8#373 /ucircumflex  8#374 /udieresis    8#375 /yacute
8#376 /thorn        8#377 /ydieresis    8#055 /hyphen
] def

/fult 1 def
/fuld -2 def
/fstd 5 def
% Gold's re-make font scheme
/font {
     /newfontname ed /basefontname ed
     dup /sY ed mul 100 div /sX ed sY 0.3 mul /fstd ed
     100 div sX mul sX mul sY div /Ob ed
     FontDirectory newfontname known not
     { basefontname newfontname AmiVec ReEncodeSmall } if
     newfontname findfont [ sX 0 Ob sY 0 0 ] makefont setfont
     currentfont dup/FontInfo get/UnderlinePosition known not
          {pop /Courier findfont}if
          /FontInfo get/UnderlinePosition get 1000 div sY mul /fuld ed
     currentfont dup/FontInfo get/UnderlineThickness known not
          {pop /Courier findfont}if
          /FontInfo get/UnderlineThickness get 1000 div sY mul /fult ed

}def

/js { 4 2 roll moveto dup stringwidth pop 3 -1 roll exch sub exch dup length 1 sub 3 -1 roll exch div 0 3 -1 roll ashow }bd
/ujs { 4 copy pop 3 1 roll n m 0 /fuld load rm /fult load slw 0 rl st js } bd
/djs { 4 copy pop 3 1 roll n m 0 /fuld load 2 mul rm /fult load slw 0 rl st ujs } bd
/sjs { 4 copy pop 3 1 roll n m 0 /fstd load rm /fult load slw 0 rl st js } bd
/ms {m sh}bd
/lms { cp /y0 ed /x0 ed sh cp /y1 ed /x1 ed x0 y0 n m rm x1 x0 sub y1 y0 sub rl /fult load slw st x1 y1 m }bd
/ums { m 0 /fuld load 3 -1 roll lms }bd
/dms { 3 copy n m stringwidth pop 0 /fuld load 2 mul rm /fult load slw 0 rl st ums }bd
/sms { m 0 /fstd load 3 -1 roll lms }bd
/F {findfont exch scalefont setfont}bd
/box{m /ht ed/wd ed wd 0 rl 0 ht rl wd neg 0 rl clp}bd
end
% end of SoftWood dictionary
%%EndProlog
%%BeginSetup
userdict /SWDict known not {
/Times-Roman findfont 12 scalefont setfont newpath 72 500 moveto
(Error:  the Final Writer PostScript preamble is not available )show
newpath 72 486 moveto
(on your printer.  Make sure that Final Writer has been properly)show
newpath 72 472 moveto(  installed on your computer system.)show
newpath 72 458 moveto(This print job has been aborted.)show
showpage stop}if
SWDict begin
/DefaultFontName /Times def
% Call the user's document setup routine
UserDoc
% set pen to black
0 sg
%%EndSetup

%%Page: 1
%%BeginPageSetup
/u_copy 1 def
/u_page 1 def
% Call the user's page setup routine
UserBOP
%%EndPageSetup
%EPS Image: WORK1:PS/escher.ps
gs
% Temporary override for showpage that
% might be in this EPS file (some do, ya know)
/sw_showpageDict 2 dict def
sw_showpageDict begin
/showpage {} def
99.50 303.80 translate
3060 6120 div 3960 7920 div scale
0 0 translate
%!PS-Adobe-2.0 EPSF-1.0
%%BoundingBox: 0 0 612 792
% If you're concerned that the cpu in your PostScript printer will atrophy
% from disuse, here is another Escher-like contribution to to keep it busy
% for a while.  It uses PostScript color commands, but will still work on
% a monochrome printer (but isn't very pretty in black & white).
%
% The butterflies are arranged in a hexagonal grid (wallpaper group p6),
% and the moveto, lineto, curveto commands used to render the tesselation
% are redefined so as to impose a nonlinear transform that shrinks the
% infinite plane to an ellipse.  This is a sleazy way to mimic Escher's
% "circle limit" sorts of things.
%
% The butterfly permimeter was made by imposing all the symmetry constraints
% on a path, and then that path was filled in using Adobe Illustrator
%
% The routines Xform and next_color are easy to change if you want to hack
% with them. The code was written to sacrifice efficiency for readability.
%
% Bob Wallis
%
% UUCP {sun,pyramid,cae780,apple}!weitek!wallis

%statusdict begin waittimeout 6000 lt   % if you have a slow printer, you
%   {0 60 6000 setdefaulttimeouts} % might need to uncomment this
%if end

/nlayers 1 def      % 1 takes about 10 minutes on a LW+; 2 takes 4x longer
/warp 1 def         % 1 -> ellipsoidal distortion; 0 -> flat Euclidean
/inch {72 mul} def

/x4 152 def /y4 205.6 def          % 6 fold rotation center of bfly
/x12 387.20 def /y12 403.84 def         % 3 fold center of bfly

/dx x4 x12 sub def        
...

read more »

 
 
 

FW97 prints escher.ps

Post by ARAM » Sun, 31 Dec 1899 09:00:00


On 1 Sep 1997 20:42:30 GMT


Quote:>I have successfully printed the escher.ps file, that comes with the
>GhostScript distribution, from FW97 on my Epson LQ-510 printer.

>Well, Bernd, what excuse will you make this time?

>(Sorry for the long post, guys, but Bernd needs to be confronted in public
>concerning this matter.)

<snip>

Forget it Bill, he'll either ignore the thread like he did with you
earlier, or find a lame excuse.

But hey if he didn't, he needs to change his name. ;-)

 
 
 

FW97 prints escher.ps

Post by Bill Nea » Sun, 31 Dec 1899 09:00:00


On Wednesday, 03 Sep 97 19:53:43, Keith Blakemore-Noble articulated this in comp.sys.amiga.advocacy:


>>On 1 Sep 1997 20:42:30 GMT


>>>I have successfully printed the escher.ps file, that comes with the
>>>GhostScript distribution, from FW97 on my Epson LQ-510 printer.

>>>Well, Bernd, what excuse will you make this time?

>>Forget it Bill, he'll either ignore the thread like he did with you
>>earlier, or find a lame excuse.
>Yup, that's sadly true.
>Of course, there is the third alternative - we'll all find ourselves
>in his killfile for daring to show that he got something wrong.
>Mind you, given the number of people who must be in there by
>now, I guess we could have quite a party!

Bernd, and John Shitty will be debating themselves exclusively before long.
:-)

--
        ////

      ////
\\\\ //// A2000/Blizzard 2060/Picasso IV/Workbench 3.1
 \\\\/// Supra 33.6k/ViewSonic 17GS/EZFlyer/ScanJet 5p
  \\\\/

 
 
 

FW97 prints escher.ps

Post by Alan L.M. Bux » Sun, 31 Dec 1899 09:00:00


On Wed, 03 Sep 1997 07:40:16 GMT ,ARAMI posted the following:

: Forget it Bill, he'll either ignore the thread like he did with you
: earlier, or find a lame excuse.

yes - true - best bet is to mail 10 copies to him directly.

: But hey if he didn't, he needs to change his name. ;-)

well, we'll all be killfiled and he'll start reading alt.place.to.hide
like many other es-amiga flamer sad bastards.

hey, if we are all in his killfile, then surely he doesnt have a purpose
posting? ;-)

alan