[comp.lang.postscript] SUMMARY: PostScript FTP sites

foobar@dist.dist.unige.it (Maurizio Vitale) (06/27/91)

Ok here  is the summary  I   promised.  I'm sorry  for  the delay, but
PostScript is officially only a part-time out-of-office-hours buisness
:-).
My sites has also been unable to post over the Internet for quite a while. I asked some of those that got this via e-mail to post it for me, so you could receive it more than once. I'm sorry for the inconvenience.

The request was for anonymous  FTP sites carrying  PostScript code and
fancy logos.

Many of the answers  have been in  the form of  me-to requests, anyhow
some provided useful pointers. 

-- begin of summary --

av@uta.fi (Arto V. Viitanen) writes:
I'd try siam.unibe.ch, at least Jon Granrose's ftp-list says:
siam.unibe.ch                      130.92.66.11    postscript

==> I knew of this site, but there isn't anything in the spirit of the
==> request. It's a good site to dig into  anyway, so I report it here
==> for other folks.

djossou@charly.inria.fr writes:
This is (==> part of) the readme file  of nic.stolaf.edu anonymous ftp
site:

  forms - contains postscript defs of standard information sheets for 
	  different kinds of things. 
  inst - instructional, demonstrate how to use a postscript command
  misc - catch all
  pics - contains pictures, clip art etc 
  src  - sources that output Postscript code (This will be kept small)
  util - contains postscript utilities to deal with laser printers or
         to do some special purpose task

The file is located in the pub/ps directory,

==>  This looked  really good,  but   I couldn't find  the   described
==> directories, so maybe the  service has been discontinued. Also the
==> link from me to this site is *REALLY* slow and  unreliable so I've
==> not been able to browse around.

Maurizio.Vitale@dist.unige.it (that is ME) adds:
I  had this floating  in my  database, but as  always  I forget what I
have. This can be useful to someone.

Subject: How to use the PostScript File Server

This message comes to you from the PostScript file server at Adobe Systems,
ps-file-server@adobe.com. It received a message from you asking for help.

The file server is a mail-response program. That means that you mail it a
request, and it mails back the response. (Note: the server is entirely
automated, and the mail is read by programs, not humans.)

The file server understands these commands:  help, index, send, path

A command must be the first word on a line. More than one command can
be sent in a message. (Though you shuld be very careful on the amount of
data that is requested in a single message. See the long.help message;
instructions below.) The Subject: line is treated as a message line.
Any line that does not begin with a command is ignored.

    help            Returns this message. 
                    All other requests are ignored.
	
    index           Returns a list of categories.
                    All other send requests are ignored.
	
    index <category>  Returns list files available under <category>.
	
    send <category> <file>   Sends you the requested <file>. More than 
                          one file may be requested, though most mail
                          systems have a 100k limit on return messages.
	
    path <mailpath>  Forces server to use <mailpath> as the return path.
	
---------------------------------------------------------------------------

These are the current available categories:

    AFMFiles
    Documents
    PPDFiles
    Programs
    Updates

To get more help, send another message to the server with:
"send Documents long.help"

CAREFUL:
	Do not send requests from "root" accounts.  The server will reject 
	them in order to prevent long mail loops when mail bounces.

	Several short requests always work better than one large request.

---------------------------------------------------------------------------

Thanks for your inquiry, and good luck using the server. If you can't
get it to work at all, you can try sending mail to:

  ps-file-person@adobe.com
  
Mail to that account will be sent to a person instead of a program.
[But do not send your server requests to the "person" account!]


I've  also   received a package to draw   3d images  in postscript (3d
opertors + image warping). I haven't had the time to look at this, but
it seems a good package. It is from project Athena at M.I.T. and so it
MUST be good. I can e-mail it to those interested (or post it over the
Internet). 

Someone sent me this (sorry I've lost his name):

======= cut here ====================================================
%!
%%Title:         GoodFriday.ps
%%Creator:       Markku Pihlaja (Internet: pihlaja@cs.helsinki.fi)
%%CreationDate:  Spring '88, translated into English April '90
%%For:           Feel free to distribute the file, but please don't
%%+              modify this copyright info.  If  you think that it's
%%+              absolutely necessary to remove the printing (c) notice,
%%+              go ahead. But I would appreciate if you normally kept
%%+              it unchanged.
%%+              You can scale or translate the picture if you like.
%%+              But I would like to be informed if you are going to
%%+              otherwise modify the code. (e.g. make it more effective).
%%BoundingBox:   30 20 330 450
%%Pages:         1
%%DocumentFonts: NewCenturySchlbk-Roman Helvetica Symbol
%%EndComments

/input_text (THEN PILATE ENTERED INTO THE JUDGMENT HALL AGAIN, AND CALLED
JESUS, AND SAID UNTO HIM, ART THOU THE KING OF THE JEWS? JESUS
ANSWERED HIM, SAYEST THOU THIS THING OF THYSELF, OR DID OTHERS TELL IT
THEE OF ME?  PILATE ANSWERED, AM I A JEW? THINE OWN NATION AND
THE CHIEF PRIESTS HAVE DELIVERED THEE UNTO ME: WHAT HAST THOU DONE?
JESUS ANSWERED, MY KINGDOM IS NOT OF THIS WORLD: IF MY KINGDOM
WERE OF THIS WORLD, THEN WOULD MY SERVANTS FIGHT, THAT I SHOULD NOT BE
DELIVERED TO THE JEWS: BUT NOW IS MY KINGDOM NOT FROM HENCE.
PILATE THEREFORE SAID UNTO HIM, ART THOU A KING THEN? JESUS
ANSWERED, THOU SAYEST THAT I AM A KING. TO THIS END WAS I BORN, AND
FOR THIS CAUSE CAME I INTO THE WORLD, THAT I SHOULD BEAR WITNESS UNTO
THE TRUTH. EVERY ONE THAT IS OF THE TRUTH HEARETH MY VOICE.
PILATE SAITH UNTO HIM, WHAT IS TRUTH? AND WHEN HE HAD SAID THIS,
HE WENT OUT AGAIN UNTO THE JEWS, AND SAITH UNTO THEM, I FIND IN HIM NO
FAULT AT ALL.
BUT YE HAVE A CUSTOM, THAT I SHOULD RELEASE UNTO YOU ONE AT THE
PASSOVER: WILL YE THEREFORE THAT I RELEASE UNTO YOU THE KING OF THE
JEWS?  THEN CRIED THEY ALL AGAIN, SAYING, NOT THIS MAN, BUT
BARABBAS. NOW BARABBAS WAS A ROBBER.
THEN PILATE THEREFORE TOOK JESUS, AND SCOURGED HIM.
AND THE SOLDIERS PLATTED A CROWN OF THORNS, AND PUT IT ON HIS
HEAD, AND THEY PUT ON HIM A PURPLE ROBE, AND SAID, HAIL, KING OF
THE JEWS! AND THEY SMOTE HIM WITH THEIR HANDS.
PILATE THEREFORE WENT FORTH AGAIN, AND SAITH UNTO THEM, BEHOLD, I
BRING HIM FORTH TO YOU, THAT YE MAY KNOW THAT I FIND NO FAULT IN HIM.
THEN CAME JESUS FORTH, WEARING THE CROWN OF THORNS, AND THE
PURPLE ROBE. AND PILATE SAITH UNTO THEM, BEHOLD THE MAN! WHEN
THE CHIEF PRIESTS THEREFORE AND OFFICERS SAW HIM, THEY CRIED OUT,
SAYING, CRUCIFY HIM, CRUCIFY HIM. PILATE SAITH UNTO THEM, TAKE YE HIM,
AND CRUCIFY HIM: FOR I FIND NO FAULT IN HIM.
THE JEWS ANSWERED HIM, WE HAVE A LAW, AND BY OUR LAW HE OUGHT TO
DIE, BECAUSE HE MADE HIMSELF THE SON OF GOD.
WHEN PILATE THEREFORE HEARD THAT SAYING, HE WAS THE MORE AFRAID;
AND WENT AGAIN INTO THE JUDGMENT HALL, AND SAITH UNTO JESUS,
WHENCE ART THOU? BUT JESUS GAVE HIM NO ANSWER.
THEN SAITH PILATE UNTO HIM, SPEAKEST THOU NOT UNTO ME? KNOWEST
THOU NOT THAT I HAVE POWER TO CRUCIFY THEE, AND HAVE POWER TO RELEASE
THEE? JESUS ANSWERED, THOU COULDEST HAVE NO POWER AT ALL
AGAINST ME, EXCEPT IT WERE GIVEN THEE FROM ABOVE: THEREFORE HE THAT
DELIVERED ME UNTO THEE HATH THE GREATER SIN.
AND FROM THENCEFORTH PILATE SOUGHT TO RELEASE HIM: BUT THE JEWS
CRIED OUT, SAYING, IF THOU LET THIS MAN GO, THOU ART NOT CAESAR'S
FRIEND: WHOSOEVER MAKETH HIMSELF A KING SPEAKETH AGAINST CAESAR.
WHEN PILATE THEREFORE HEARD THAT SAYING, HE BROUGHT JESUS FORTH,
AND SAT DOWN IN THE JUDGMENT SEAT IN A PLACE THAT IS CALLED THE
PAVEMENT, BUT IN THE HEBREW, GABBATHA.
AND IT WAS THE PREPARATION OF THE PASSOVER, AND ABOUT THE SIXTH
HOUR: AND HE SAITH UNTO THE JEWS, BEHOLD YOUR KING! BUT THEY
CRIED OUT, AWAY WITH HIM, AWAY WITH HIM, CRUCIFY HIM.
PILATE SAITH UNTO THEM, SHALL I CRUCIFY YOUR KING? THE CHIEF PRIESTS
ANSWERED, WE HAVE NO KING BUT CAESAR.
THEN DELIVERED HE HIM THEREFORE UNTO THEM TO BE CRUCIFIED. AND
THEY TOOK JESUS, AND LED HIM AWAY.
AND HE BEARING HIS CROSS WENT FORTH INTO A PLACE CALLED THE
PLACE OF A SKULL, WHICH IS CALLED IN THE HEBREW GOLGOTHA: WHERE
THEY CRUCIFIED HIM, AND TWO OTHER WITH HIM, ON EITHER SIDE ONE, AND
JESUS IN THE MIDST.
AND PILATE WROTE A TITLE, AND PUT IT ON THE CROSS. AND THE
WRITING WAS JESUS OF NAZARETH THE KING OF THE JEWS.
THIS TITLE THEN READ MANY OF THE JEWS: FOR THE PLACE WHERE JESUS
WAS CRUCIFIED WAS NIGH TO THE CITY: AND IT WAS WRITTEN IN HEBREW, AND
GREEK, AND LATIN.
THEN SAID THE CHIEF PRIESTS OF THE JEWS TO PILATE, WRITE NOT,
THE KING OF THE JEWS; BUT THAT HE SAID, I AM KING OF THE JEWS.
PILATE ANSWERED, WHAT I HAVE WRITTEN I HAVE WRITTEN.
THEN THE SOLDIERS, WHEN THEY HAD CRUCIFIED JESUS, TOOK HIS
GARMENTS, AND MADE FOUR PARTS, TO EVERY SOLDIER A PART; AND ALSO HIS
COAT: NOW THE COAT WAS WITHOUT SEAM, WOVEN FROM THE TOP THROUGHOUT.
THEY SAID THEREFORE AMONG THEMSELVES, LET US NOT REND IT, BUT
CAST LOTS FOR IT, WHOSE IT SHALL BE: THAT THE SCRIPTURE MIGHT BE
FULFILLED, WHICH SAITH, THEY PARTED MY RAIMENT AMONG THEM, AND FOR MY
VESTURE THEY DID CAST LOTS. THESE THINGS THEREFORE THE SOLDIERS DID.
) def

/shades [
	[ 2 122 1 186 2 320 ]
	[ 2 115 1 125 0 133 1 141 0 149 1 159 0 175 1 183 2 320 ]
	[ 2 123 1 157 0 163 1 168 0 178 1 188 2 320 ]
	[ 2  82 1  93 2 112 1 139 0 178 1 194 2 203 1 223 2 320 ]
	[ 2  72 1 100 2 112 1 130 0 178 1 222 2 320 ]
	[ 2  62 1 100 2 112 1 130 0 153 1 222 2 320 ]
	[ 2  52 1  73 0  86 1 140 0 162 1 222 2 320 ]
	[ 2  52 1  66 0  74 1 110 0 116 2 124 1 136 2 144 0 150 1 222 2 320 ]
	[ 2  32 1  42 0  50 1  60 0  70 2  78 1  96 2 144 1 240 2 320 ]
	[ 2  32 1  38 0  50 2  55 1  60 0  66 1  70 2  80 1  88 2 144 1 200 2 208 1 221 0 230 1 258 2 320 ]
	[ 2  32 1  38 0  44 2  52 0  67 1  74 2  81 1  89 2 140 1 203 2 221 0 239 1 258 2 320 ]
	[ 2  32 1  50 3  62 1  72 2  80 1  88 2 100 1 105 2 124 1 132 0 137 1 203 2 221 0 230 1 258 2 320 ]
	[ 2  38 1  45 0  62 1  70 2  80 1  90 2 102 1 110 2 122 1 128 0 136 1 203 2 222 0 230 1 248 0 260 2 320 ]
	[ 2  52 1  66 2  80 1  91 2 123 1 130 0 142 1 195 2 228 0 238 2 255 1 262 2 320 ]
	[ 2  40 1  52 2  80 1  91 2 112 1 123 0 137 1 178 2 234 0 241 2 253 1 265 2 320 ]
	[ 2  40 1  52 2  80 1  96 2 111 1 124 0 136 1 178 2 250 1 262 0 270 1 278 2 320 ]
	[ 2  38 1  50 2  58 1  64 2  80 1 100 2 111 1 127 0 141 1 216 2 250 1 264 0 282 1 285 2 320 ]
	[ 2  30 1  47 2  52 1  72 2  80 1 122 0 130 1 166 0 173 1 224 2 258 1 274 2 320 ]
	[ 2  24 1  43 2  59 1  70 2  80 1 112 0 130 1 166 0 190 1 224 2 258 1 274 2 320 ]
	[ 2  24 1  43 2  78 1 105 0 133 1 158 0 181 1 193 2 208 1 218 2 258 1 285 2 320 ]
	[ 2  25 1  41 2  83 1 103 2 120 1 168 2 269 1 285 2 320 ]
	[ 2  25 1  41 2 138 1 160 2 269 1 285 2 320 ]
	[ 2  20 1  31 0  36 1  41 2 105 1 132 2 145 1 153 0 160 2 269 1 278 2 320 ]
	[ 2  20 1  30 0  36 1  41 2 105 1 132 2 145 1 153 0 160 2 269 1 278 2 320 ]
	[ 2  20 1  40 2 110 1 129 2 146 1 151 0 160 2 267 1 278 2 320 ]
	[ 2  25 1  40 2 146 1 151 0 160 2 267 1 278 2 320 ]
	[ 2  20 1  40 2 141 1 151 0 160 1 172 2 210 1 230 2 272 1 278 2 320 ]
	[ 2  20 1  40 2  81 1 105 2 112 1 130 2 141 1 155 0 160 1 172 2 202 1 230 2 272 1 278 2 320 ]
	[ 2  15 1  38 2  81 1 130 2 142 1 188 2 200 1 230 2 272 1 278 2 320 ]
	[ 2  15 1  27 0  34 1  38 2  81 1 132 2 148 1 222 2 290 1 305 2 320 ]
	[ 2  20 1  30 0  35 1  38 2  86 1 123 2 148 1 190 2 207 1 212 2 290 1 305 2 320 ]
	[ 2  20 1  30 0  35 1  38 2  86 1 153 0 160 1 190 2 207 1 212 2 275 1 305 2 320 ]
	[ 2  17 1  27 0  32 1  37 2  84 1 153 0 161 1 212 2 275 1 305 2 320 ]
	[ 2  17 1  27 0  32 1  37 2 108 1 152 0 172 1 176 2 189 1 212 2 275 1 295 2 320 ]
	[ 2  17 1  43 2 130 1 150 0 162 1 172 2 195 1 212 2 275 1 285 2 320 ]
	[ 2  17 1  43 2 144 1 153 0 161 1 168 2 275 1 285 2 320 ]
	[ 2  17 1  43 2 113 1 133 2 151 1 189 2 280 1 293 2 320 ]
	[ 2  20 1  40 2 108 1 164 0 170 1 195 2 320 ]
	[ 2  20 1  40 2 103 1 119 0 144 1 152 0 180 1 197 2 214 1 222 2 285 0 295 2 320 ]
	[ 2  20 1  42 2  95 1 117 0 129 1 197 2 206 1 222 2 290 0 295 1 305 2 320 ]
	[ 2  12 1  42 2  88 1 142 0 160 1 197 2 206 1 222 2 320 ]
	[ 2  12 1  40 2  83 1 147 0 156 1 178 2 186 1 222 2 320 ]
	[ 2  12 1  40 2  83 1 172 2 193 1 222 2 320 ]
	[ 2  12 1  40 2  83 1 143 0 156 1 170 2 200 1 222 2 320 ]
	[ 2  20 1  35 2  90 1 132 0 166 1 180 2 200 1 228 2 320 ]
	[ 2  20 1  35 2  80 1 122 0 151 1 184 2 203 1 228 2 320 ]
	[ 2  20 1  40 2  85 1 120 0 168 1 190 2 198 1 230 2 277 1 285 2 320 ]
	[ 2  15 1  40 2  85 1 116 0 177 1 190 2 198 1 230 2 272 1 280 2 320 ]
	[ 2  15 1  35 2  85 1 110 0 177 1 220 2 272 1 278 2 320 ]
	[ 2  10 1  30 2  85 1 108 0 132 1 150 0 177 1 190 2 210 1 217 2 272 1 276 2 320 ]
	[ 2  10 1  30 2  87 1 106 0 128 1 154 0 170 1 191 2 210 1 217 2 267 0 283 1 315 2 320 ]
	[ 2  88 1 110 0 130 1 160 0 188 1 195 2 257 1 280 2 320 ]
	[ 2  92 1 107 0 128 1 168 0 174 1 194 2 320 ]
	[ 2  92 1 130 2 142 1 192 2 320 ]
	[ 2  96 1 120 2 140 1 150 2 180 1 192 2 320 ]
	[ 2 180 1 195 2 320 ]
	[ 2 180 1 195 2 320 ]
	[ 2 320 ]
	[ 2 320 ]
	[ 2 150 1 195 2 210 1 225 2 320 ]
] def

/char 1 string def
/inp_len input_text length def
/curr_index 0 def

/paint_char {
	% Get next char
	char 0 input_text curr_index get put
	/char_len char stringwidth pop def
	/curr_index curr_index 1 add def
	curr_index inp_len ge { /curr_index 0 def } if

	currentpoint

	% Paint background
	0 6.5 rlineto char_len 0 rlineto
	0 -6.5 rlineto closepath
	bkcol setgray fill

	moveto

	% Show char
	chcol setgray char show
} bind def

/paint_line {	% stack: [ shade_1 len_1 ... shade_n len_n ]
	/line_shades exch def
	/nr_of_elems line_shades length def
	
	rand 11 mod 10 div .5 sub M-Len mul
	dup /XOffs exch def 0 translate
	0 2 nr_of_elems 1 sub {
		dup
		line_shades exch get % stack: index shade
		/curr_shade exch def
		1 add line_shades exch get
		/curr_end exch def
		curr_shade 0 eq
			{ currentpoint curr_end exch moveto pop }
			{ curr_shade 1 eq { /chcol 0 def /bkcol 1 def }
					  { /chcol 1 def /bkcol 0 def } ifelse
			  {	paint_char
				currentpoint pop curr_end gt { exit } if
			  } loop
		} ifelse
	} for
	
	currentpoint 7 sub 0 exch moveto pop
	XOffs neg 0 translate
	
} bind def

%%EndProlog

%%Page:            1 1
%%PageFonts:       NewCenturySchlbk-Roman Helvetica Symbol
%%PageBoundingBox: 30 20 330 450

%%BeginPageSetup
50 50 translate
.83 .83 scale
%%EndPageSetup

/NewCenturySchlbk-Roman findfont 7 scalefont setfont
/M-Len (M) stringwidth pop def

% Draw frames, remove if you like
-15 -31 moveto 0 506 rlineto 350 0 rlineto 0 -506 rlineto closepath
0 setgray stroke

0 440 moveto
shades { paint_line } forall

0 setgray
/Symbol findfont 6 scalefont setfont 
270 23 moveto (\343) show
/Helvetica findfont 4 scalefont setfont 
( PS design by M.Pihlaja) show

showpage

%%Trailer
======= cut here ====================================================



-- end of summary --

I hope that  this can be useful  and I renew the  request for logos or
clip art.
-- 

----------

e-mail: Maurizio.Vitale@dist.dist.unige.it

s-mail: Maurizio Vitale
	via Monaco Simone 1/14
	16148 - GENOVA
		ITALIA