home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
wb-3.0
/
devs
/
postscript_init.ps
< prev
next >
Wrap
Text File
|
1992-09-03
|
5KB
|
182 lines
%!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