home *** CD-ROM | disk | FTP | other *** search
- %!PS
- %%
- %%Title: PostPrt PostScript Printer Driver for the Amiga
- %%
- %%Author: Chris Nicotra, Integrated Systems, Inc.
- %%
- %%BeginProlog
-
- %---------
- % Device Specific routines
- %---------
-
- % Paper Trays
- /letter {} def
- /legal {} def
- /a4 {} def
- /custom {} def
-
- % Manual Paper Feed
- /manual {} def
-
- % Graphic Screen Types
- /line_scr { {pop} setscreen } def
- /dot_scr { 20 currentscreen 4 -2 roll pop 3 1 roll setscreen } bind def
- /vert_scr { 40 0 line_scr } def
- /horiz_scr { 40 90 line_scr } def
- /diag_scr { 40 45 line_scr } def
-
- %---------
- % General functions
- %---------
-
- % underline show string
- /U
- {
- gsave 0 -3 rmoveto
- dup stringwidth pop
- dup 0 rlineto neg 0 rlineto stroke
- grestore
- } bind def
-
- % Backspace a string
- /BS { stringwidth pop neg 0 rmoveto } bind def
-
- % Shadow show string
- /SS
- {
- dup
- gsave false charpath .5 setlinewidth stroke grestore
- stringwidth pop 0 rmoveto
- } bind def
-
- % Show
- /S {show} bind def
-
- % Move
- /M {moveto} bind def
-
- /YM {currentpoint pop exch moveto} bind def
-
- %% Define the ReEncoding Procudure
- /reencodedict 5 dict def
- /ReEncode
- {
- reencodedict begin
- /newencoding exch def
- /newfontname exch def
- /basefontname exch def
-
- /basefontdict basefontname findfont def
-
- /newfont basefontdict maxlength dict def
-
- basefontdict
- { exch dup dup /FID ne exch /Encoding ne and
- { exch newfont 3 1 roll put }
- { pop pop }
- ifelse
- } forall
- newfont /FontName newfontname put
- newfont /Encoding newencoding put
- newfontname newfont definefont pop
- end
- } def
-
- %% Define the ISO encoding Vector
- /ISO
- [
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /space /exclam /quotedbl /numbersign /dollar /percent /ampersand
- /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period
- /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon
- /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H
- /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
- /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
- /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z
- /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave
- /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef
- /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /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
- ] def
-
- /FC {ISO ReEncode findfont exch dup 0.8 mul exch matrix scale makefont} bind def
-
- /FE {ISO ReEncode findfont exch dup 1.2 mul exch matrix scale makefont} bind def
-
- /FN {ISO ReEncode findfont exch scalefont} bind def
-
- /L 0 def
- /T {dup dup currentpoint pop L sub dup dup cvi sub 3 1 roll cvi exch mod add
- sub 0 rmoveto} bind def
-
-
- %---------------
- % Routines used for doing bitmap graphics
- %---------------
- /s1 1 string def
- /gsh {currentfile s1 readhexstring pop 0 get} bind def
-
- /rep
- {
- /d exch def exch dup 3 1 roll add
- dup 3 1 roll
- 1 sub 1 exch
- {
- picstr exch d put
- } for
- } bind def
-
- /run
- {
- dup string /tmp exch def
- currentfile tmp readhexstring pop pop
- exch dup 3 1 roll add exch picstr exch tmp putinterval
- } bind def
-
- /runlen
- {
- picstr length
- 0
- {
- 2 copy eq {pop pop exit} if
- gsh
- dup 0 eq {pop gsh gsh rep} {run} ifelse
- } loop
- } bind def
-
- /getcstr
- {
- gsh
- 1 eq {runlen picstr} {currentfile picstr readhexstring pop} ifelse
- } bind def
-
- /getcstr_r {picstr_r 0 getcstr putinterval} bind def
- /getcstr_g {picstr_g 0 getcstr putinterval} bind def
- /getcstr_b {picstr_b 0 getcstr putinterval} bind def
-
- /getstr {currentfile picstr readhexstring pop} bind def
- /getstr_r {currentfile picstr_r readhexstring pop} bind def
- /getstr_g {currentfile picstr_g readhexstring pop} bind def
- /getstr_b {currentfile picstr_b readhexstring pop} bind def
-
- %%EndProlog
-