[comp.lang.postscript] How to download a font Summary of responses

jv@mh.nl (Johan Vromans) (08/15/90)

In article <1990Aug13.113755.8976@squirrel.mh.nl> jv@mh.nl (Johan Vromans) writes:

> How do I download a font permanently? I suppose I have to embed the
> PostScript font definition in a small PS program. What should be in
> this program?

Thanks all for your reply to my question. Lots of people gave different
answers, although most of them pointed to the simplest solution:
precede the PostScript font definition with an exitserver command:

	serverdict begin 0 exitserver

This seems to do the trick.

A brief summary:

From: songer@expert.cc.purdue.edu (Gail Songer)

 > You can not "permanently" download a font.  You can download it each
 > time you turn the printer on.  It will disappear when you turn the
 > machine off.
 > You need to exit the server and then download the font. ...

From: Bj|rn Larsen <blarsen@usit.uio.no>

 > First you send the following:
 > 
 > serverdict begin	% To establish the ServerDict context
 > 0 exitserver		% To exit the normal PostScript interpreter
 > 			% context. Replace the '0' with the appropriate
 > 			% password. '0' is the default for Apple LaserWriter.
 > 			% Others vary. The Digital LN03R, for instance,
 > 			% has '(LN03R)' as the default password.
 > 
 > Then you send the PostScript font definition.

From: Dick Dunn <rcd@ico.isc.com>

 > You need to put the following ahead of the font when you send it:
 > 	serverdict begin 0 exitserver
 > (Replace "0" with your printer's password if you have changed it.)

 > Use some care about loading fonts:  If you re-load a font that's already
 > there, it will work correctly but it will waste memory in the printer
 > (since the storage for the previous copy of the font is not reclaimed).

From: John Caywood <caywood@teb.larc.nasa.gov>

 > No, it's not an easy one.  This almost worked for me once -- hope I left
 > enough pieces in this partial sample.  I never found out if it loaded
 > correctly; I gave up and used the Adobe font downloader program and a
 > cable direct from PC to printer instead of sending the postscript code
 > to the printer from my Sun server.  If you get any better information,
 > I hope you can pass it back to me.
 > 
 > This for font -Your-fontname-here- which is even uglier than Computer
 > Modern Roman :-)
 > 
 >     %!PS-Adobe-2.0
 >     % 
 >     % The following code loads to disk, or to permanent VM
 >     % if no disk is available.
 >     %/load
 >     %{ { /fd (fonts/-Your-fontname-here-) (w) file def} stopped
 >     %% password here if needed
 >     serverdict begin exitserver
 >     %  { /buff 128 string def
 >     %    { currentfile buff readstring
 >     %      {fd exch writestring}
 >     %      {dup length 0 gt {fd exch writestring} {pop} ifelse fd closefile exit}
 >     %      ifelse
 >     %    }
 >     %    bind loop
 >     %  }
 >     %  ifelse
 >     %}
 >     %def
 >     %
 >     %load
 >     
 >     % the whole list of font description parameters
 >     %
 >     /FullName (-Your-fontname-here-) readonly def
 >     /FamilyName (-Your-fontname-here-) readonly def
 >     /Weight (Medium) readonly def
 >     /ItalicAngle 0 def
 >     %
 >     %  many more parameters not shown here
 >     %
 >     /FontBBox{-167 -290 1004 898}readonly def
 >     currentdict end
 >     currentfile eexec
 >     e1b6c8a63decb1ada448b848122da51e73941e412984b6fbf8c4889724c501fcc5fe
 >     	[ the rest of the uncompressed Adobe binary font definition ]
 >     0000000000000000000000000000000000000000000000 ... 000000000000
 >     cleartomark
 >     currentdict end
 >     /-Your-fontname-here- exch definefont
 >     pop

	Johan
-- 
Johan Vromans				       jv@mh.nl via internet backbones
Multihouse Automatisering bv		       uucp: ..!{uunet,hp4nl}!mh.nl!jv
Doesburgweg 7, 2803 PL Gouda, The Netherlands  phone/fax: +31 1820 62911/62500
------------------------ "Arms are made for hugging" -------------------------