home *** CD-ROM | disk | FTP | other *** search
- %! Post V1.7 initialisation file
- % (C) Adrian Aylward 1989, 1991
- %
- % Modified by Digita International for use with Wordworth
- %
- % This file is used when interpreting imported EPS files
- %
-
- % PostScript software version
- /version (48.0) def
-
- % Ignore CTRL/D
-
- <04> cvn {} def
-
- % A dummy status dictionary
-
- /statusdict 10 dict dup begin
- /waittimeout 0 def
- /checkpassword { 0 eq } bind def
- /product (Post V1.7) def
- end def
-
- % A dummy server dictionary
-
- /serverdict 5 dict dup begin
- /exitserver { pop } bind def
- end def
-
- % The internal dictionary
-
- %/internaldict { pop null } dup 1 5 dict put def
- %1183615869 internaldict begin
- %/StemSnapLength 12 def
- %end
-
- % A scratch string
-
- /=string 256 string def
-
- % ISO Latin 1 encoding vector (omitting accents 90 - 9f)
-
- systemdict
- /ISOLatin1Encoding [
- StandardEncoding 0 160 getinterval
- /space/exclamdown/cent/sterling
- /currency/yen/brokenbar/section
- /dieresis/copyright/ordfeminine/guillemotleft
- /logicalnot/hyphen/registered/macron
- /degree/plusminus/twosuperior/threesuperior
- /acute/mu/paragraph/periodcentered
- /cedilla/onesuperior/ordmasculine/guillemotright
- /onequarter/onehalf/threequarters/questiondown
- /Agrave/Aacute/Acircumflex/Atilde
- /Adieresis/Aring/AE/Ccedilla
- /Egrave/Eacute/Ecircumflex/Edieresis
- /Igrave/Iacute/Icircumflex/Idieresis
- /Eth/Ntilde/Ograve/Oacute
- /Ocircumflex/Otilde/Odieresis/multiply
- /Oslash/Ugrave/Uacute/Ucircumflex
- /Udieresis/Yacute/Thorn/germandbls
- /agrave/aacute/acircumflex/atilde
- /adieresis/aring/ae/ccedilla
- /egrave/eacute/ecircumflex/edieresis
- /igrave/iacute/icircumflex/idieresis
- /eth/ntilde/ograve/oacute
- /ocircumflex/otilde/odieresis/divide
- /oslash/ugrave/uacute/ucircumflex
- /udieresis/yacute/thorn/ydieresis
- ] put
-
- % Run a program with save and restore
-
- /runsave
- { /saveobject save def
- run
- saveobject restore
- } bind def
-
- % Run a program displaying its name
-
- /runprog
- { dup print (\n) print
- runsave
- } bind def
-
- % New cache parameters ops
-
- systemdict
- /setcacheparams
- { counttomark 1 ge { dup setcachelimit } if
- cleartomark
- } bind put
-
- systemdict
- /currentcacheparams
- { mark cachestatus 6 { exch pop} repeat dup
- } bind put
-
- % Load a font file. Build the file name string from the font name, prefix
- % and suffix strings. We pop the dictionary stack first, so that the
- % contents of any additional entries on it can't interfere with the font
- % definition - e.g. if it uses the bind operator. Then we try to open the
- % file. If it opens OK we execute it; if the open fails we return without
- % error: presumabaly we don't have the font. Before returning we restore the
- % dictionary stack.
-
- systemdict
- /loadfont
- { 1 index =string copy % Prefix:
- length % length
- 3 index =string 2 index 100 getinterval cvs % Prefix:name
- length add % length
- 1 index =string 2 index 100 getinterval copy % Prefix:name.suffix
- length add % length
- =string exch 0 exch getinterval % Truncate to length
- mark countdictstack 2 sub
- { currentdict end } repeat % Pop dict stack
- counttomark 1 add index % Get the file name
- { fontfile } stopped % Try to open the file
- { pop } % Can't open it, ignore
- { cvx exec } % Opened OK, execute it
- ifelse
- counttomark { begin } repeat pop % Restore dictionary stack
- pop pop pop pop % Pop file name and arguments
- } bind put
-
- % Find a font. If it is not there we try in order:
- %
- % Load PSFonts:name
- % Load CGFonts:PS/name.psfont
- % Load PSFonts:OtherFonts/name
- % Substitute DefaultFont
- %
- % If none of these succeeds, the result will an invalidfont error.
-
- systemdict /.findfont systemdict /findfont get put
-
- systemdict
- /findfont
- {
- % Uncomment the next 3 lines if you have a PSFonts: assignment
- % dup FontDirectory exch known not % Not in FontDirectory?
- % { dup (PSFonts:) () loadfont % Try to load from PSFonts:
- % } if
-
- % Uncomment the next 3 lines if you have the Gold Disk CG fonts
- % dup FontDirectory exch known not % Not in FontDirectory?
- % { dup (CGFonts:PS/) (.psfont) loadfont % Try CGFonts:PS
- % } if
-
- % Duplicate the following 3 lines if you want to search additional
- % directories for PostScript Type-1 fonts
- % dup FontDirectory exch known not % Not in FontDirectory?
- % { dup (PSFonts:OtherFonts/) () loadfont % Try PSFonts:OtherFonts
- % } if
-
- % Substitute DefaultFont
- dup FontDirectory exch known not % Not in FontDirectory?
- { dup userdict /DefaultFontName get ne % Not the DefaultFont
- { pop userdict /DefaultFontName get % Substitue DefaultFont
- dup systemdict /findfont get exec pop % Recurse so it gets loaded
- }
- if
- }
- if
- dup FontDirectory exch known not % Not in FontDirectory?
- { pop /DummyFont } if % Fall back on DummyFont
- .findfont % If errors, will fail now
- } bind put
-
- % Select a font
-
- systemdict
- /selectfont
- { exch findfont exch
- dup type /arraytype eq
- { makefont }
- { scalefont }
- ifelse
- setfont
- } bind put
-
- % Define a dummy font - prints out big dots ...
-
- /DummyFont 10 dict dup begin
- /FontName /DummyFont def
- /FontMatrix [0.001 0 0 0.001 0 0] def
- /FontType 3 def
- /FontBBox [0 -300 500 700] def
- /Encoding StandardEncoding def
- /BuildChar
- { pop pop
- 500 0 50 0 450 400 setcachedevice
- % 250 200 200 0 360 arc fill
- } bind def
- /Painttype 0 def
- end definefont pop
-
- % Establish the dummy font as the default, as some fonts need it to
- % define themselves.
-
- /DefaultFontName /DummyFont def
-
- % Uncomment the following line to use Courier as the default font
- %/DefaultFontName /Courier def
-
- % Prevent showpage commands from clearing the image
- systemdict /showpage {} put
-
- % The following line sets up the halftone dither pattern used for printing
- % EPS images. The first number specifies the density of this pattern in
- % lines per printed inch. You can vary this to suit your printer and the
- % density of the printout. Larger numbers give a finer resolution but fewer
- % shades whilst smaller numbers produce a grainier image but are able to
- % display a greater number of shades. Note that setting resolutions too
- % close to the actual printer DPI may give poor quality results.
-
- 75 45 {180 mul cos exch 180 mul cos add 2 div} setscreen
-