T.R | Title | User | Personal Name | Date | Lines |
---|
2298.1 | Guitar Noters Vol. 1 | RAVEN1::JERRYWHITE | Here's a quarter ... | Tue Aug 20 1991 10:59 | 1167 |
| %!PS-Adobe-2.0
%%Creator: VAX DOCUMENT V2.0
%%+Copyright 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION.
%%+All Rights Reserved.
%%DocumentFonts: (atend)
%%Pages: (atend)
%%EndComments
/DEC_DVC$dict where { %FIND DICTIONARY
pop
}{ %else
/DEC_DVC$dict 300 dict def
} ifelse
/BeginDVC$PSDoc { %BEGIN DOCUMENT
vmstatus pop pop 0 eq {
DEC_DVC$dict begin InitializeState
}{ %else
/DVC$PSJob save def DEC_DVC$dict begin InitializeState
/DVC$PSFonts save def
} ifelse
} def
/EndDVC$PSDoc { %END DOCUMENT
% --- Preserving current page count ---
vmstatus pop pop 0 eq {
end
}{ %else
DVC$PSFonts restore end DVC$PSJob restore
} ifelse
} def
%
DEC_DVC$dict begin
%
mark % CREATE ISOLatin1Encoding if not there already
/ISOLatin1Encoding
8#000 1 8#054 {StandardEncoding exch get} for
/minus
8#056 1 8#217 {StandardEncoding exch get} for
/dotlessi
8#301 1 8#317 {StandardEncoding exch get} for
/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
/ISOLatin1Encoding where not {256 array astore def} if
cleartomark
%
/DOCPSE ISOLatin1Encoding 256 array copy def
mark % CREATE DOCPSE ENCODING
8#055 /hyphen
8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /dagger
8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta
8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe
8#215 /Ydieresis
counttomark -1 bitshift % DIVIDE BY 2
{DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK
cleartomark
%
/reencodedict 10 dict def %Local storage for "ReENCODE"
/ReENCODE { % /basefont /newfont encoding ReENCODE
/newencoding exch def %ARG: NAME OF ENCODING VECTOR
/newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING
findfont
/basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED
basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT
basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE
1 index /FID ne {
def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS
} { %else
pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING
} ifelse
} forall
/FontName newfontname def %DEFINE NEW NAME
/Encoding newencoding def %DEFINE NEW ENCODING VECTOR
newfontname currentdict definefont %TURN IT INTO A PS FONT
pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT
end
} def
%
/cvsstr 64 string def
/tempmatrix matrix def
%
/BP { % BEGIN PAGE
/Magnification exch def
/Colorsused 0 def
/processcolor false def
/RVmatrix matrix def
/DVC$PSPage save def
} def
%
/EP {DVC$PSPage restore} def % END PAGE
%
/XP { % EXIT PAGE (TEMPORARILY) TO ADD FONTS/CHARS
% SAVE CURRENT POINT AND COLOR INFORMATION SO IT CAN BE RESET LATER
matrix currentmatrix aload pop currentrgbcolor Colorsused processcolor
/Xpos where {pop Xpos} {0} ifelse
/Ypos where {pop Ypos} {0} ifelse
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
moveto
/Ypos exch def /Xpos exch def
/processcolor exch def /Colorsused exch def setrgbcolor
matrix astore setmatrix
} def
%
/RP {/DVC$PSPage save def} def % RESUME PAGE
%
/PF {GlobalMode LocalMode} def % PURGE FONTS TO RECLAIM MEMORY
%
/GlobalMode { % SWITCH TO BASE SAVE/RESTORE LEVEL, SAVING STATE
/DEC$EDMS_SEPARATE_COLORS where{pop DEC$EDMS_SEPARATE_COLORS}{9999}ifelse
RVmatrix aload pop processcolor
PortraitMode PaperWidth PaperHeight PxlResolution Resolution
Magnification Ymax Xorigin Yorigin RasterScaleFactor
% SAVE CURRENTPOINT INFORMATION TO RESET LATER
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
DVC$PSFonts restore RecoverState
} def
%
/RecoverState { % PRESERVE STATE AT BASE LEVEL
20 copy
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
/processcolor exch def matrix astore /RVmatrix exch def
dup 9999 ne{/DEC$EDMS_SEPARATE_COLORS exch def}{pop}ifelse
DoInitialScaling
RVmatrix concat
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
} def
%
/InitializeState { % INITIALIZE STATE VARIABLES TO DEFAULT VALUES
/Resolution 3600 def /PxlResolution 300 def
/RasterScaleFactor PxlResolution Resolution div def
/PortraitMode true def
/Magnification 1000 def /Xorigin 0 def /Yorigin 0 def
/Xpos 0 def /Ypos 0 def /InitialMatrix matrix currentmatrix def
/Colorsused 0 def /processcolor false def /RVmatrix matrix def
} def
%
/LocalMode { % SWITCH FROM BASE SAVE/RESTORE LEVEL, RESTORING STATE
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
/processcolor exch def matrix astore /RVmatrix exch def
dup 9999 ne{/DEC$EDMS_SEPARATE_COLORS exch def}{pop}ifelse
DoInitialScaling
RVmatrix concat
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
/DVC$PSFonts save def /DVC$PSPage save def
} def
% % ABBREVIATIONS
/S /show load def
/SV /save load def
/RST /restore load def
/Yadjust {Ymax exch sub} def
%
/SXY { % (x,y) POSITION ABSOLUTE, JUST SET Xpos & Ypos, DON'T MOVE
Yadjust /Ypos exch def /Xpos exch def
} def
%
/XY { % (x,y) POSITION ABSOLUTE
Yadjust 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/X { % (x,0) POSITION ABSOLUTE
currentpoint exch pop 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/Y { % (0,y) POSITION ABSOLUTE
currentpoint pop exch Yadjust 2 copy
/Ypos exch def /Xpos exch def moveto
} def
%
/xy { % (x,y) POSITION RELATIVE
neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/x { % (x,0) POSITION RELATIVE
0 rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/y { % (0,y) POSITION RELATIVE
0 exch neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/R { % DRAW A RULE
/ht exch def /wd exch def gsave
% 0 setgray
currentpoint newpath moveto
0 ht rlineto wd 0 rlineto
0 ht neg rlineto wd neg 0 rlineto
closepath fill grestore wd 0 rmoveto
currentpoint /Ypos exch def /Xpos exch def
} def
%
/RES { % <PXL-file resolution(pix/inch)> <resolution(pix/inch)> RES
/Resolution exch def /PxlResolution exch def
/RasterScaleFactor PxlResolution Resolution div def
DoInitialScaling
} def
%
/DoInitialScaling { % DO INITIAL SCALING
InitialMatrix setmatrix 72 Resolution div dup scale
} def
%
/PM { % <paper-height(pix)> <paper-width(pix)> PM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperHeight def /PortraitMode true def
DoInitialScaling
RP
} def
%
/SetupLandscape {translate 90 rotate} def
/LM { % <paper-height(pix)> <paper-width(pix)> LM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperWidth def /PortraitMode false def
DoInitialScaling PaperWidth 0 SetupLandscape
RP
} def
%
/MAG { % CHANGE MAGNIFICATION SETTING
XP /Magnification exch def RP
} def
%
/SPB { % <xoffset><yoffset>SPB - BEGIN "\SPECIAL" MODE
Yadjust /Yorigin exch def /Xorigin exch def
currentrgbcolor Colorsused
GlobalMode Xorigin Yorigin translate
Resolution 72 div dup scale % RESTORE DEFAULT SCALING
Magnification 1000 div dup scale % ADJUST FOR ANY MAGNIFICATION
/Xpos Xpos 72 Resolution div mul 1000 Magnification div mul def
/Ypos Ypos 72 Resolution div mul 1000 Magnification div mul def
/spsavobj save def %SAVE STATE & STACK DEPTH FOR CLEANUP AFTER FIGURE
/showpage {} def %DISABLE DURING FIGURE; `RESTORE' WILL BLOW DEF AWAY
/DEC$EDMS_SEPARATE_COLORS where % if separating colors
{ % then
pop processcolor % if using process colors
{ % then
DEC$EDMS_SEPARATE_COLORS 0 ge % if on color pass .ge. 0
{ % then
{ pop 1 } settransfer % write only white
}{ % else
/DEC$EDMS_TRAP_SWELL where
{ pop DEC$EDMS_SEPARATE_COLORS -4 eq
{ /EDMS_setlinewidth /setlinewidth load def
/setlinewidth { DEC$EDMS_TRAP_SWELL mul EDMS_setlinewidth } def
} if
} if
/EDMS_setrgbcolor % set up for a redefine
/setrgbcolor load def % of the setrgbcolor operator
currentscreen % get the current screen parameters
/DEC$EDMS_SCREEN_ANGLE where % if changing the screen angle
{ % then
pop exch pop % replace the old angle
DEC$EDMS_SCREEN_ANGLE exch % with the new one
} if
/DEC$EDMS_SCREEN_FREQ where % if changing the screen frequency
{ % then
pop 3 -1 roll pop % replace the old frequency
DEC$EDMS_SCREEN_FREQ 3 1 roll % with the new one
} if
setscreen % Set the new parameters
/setrgbcolor {
/b exch def
/g exch def
/r exch def
/c3 1 r sub def
/m3 1 g sub def
/y3 1 b sub def
/k c3 m3 2 copy gt { exch } if pop y3 2 copy gt { exch } if pop def
/ik 1 k sub def
ik 0 ne
{ /c4 c3 k sub ik div def
/m4 m3 k sub ik div def
/y4 y3 k sub ik div def
}
{ /c4 /DEC$EDMS_BLACK_GEN where
{ pop DEC$EDMS_BLACK_GEN } { 0 } ifelse def
/m4 c4 def
/y4 c4 def
} ifelse
1 [ c4 m4 y4 k ] % pick the separation for this color
DEC$EDMS_SEPARATE_COLORS % pass ( -1 = Cyan, -2 = Magenta,
neg 1 sub get sub setgray % -3 = Yellow, -4 = Black )
} def
} ifelse % endif
}{ % else (if not using process colors)
DEC$EDMS_SEPARATE_COLORS 0 ne % if not on color pass 0
{ % then
{ pop 1 } settransfer % write only white
} if % endif
} ifelse % endif
} if % endif
mark
} def
%
/SPE { % SPE - END "\SPECIAL" MODE
cleartomark
spsavobj restore
1000 Magnification div dup scale % UN-ADJUST FOR ANY MAGNIFICATION
72 Resolution div dup scale % RESTORE DEFAULT INTERNAL SCALING
LocalMode
/Colorsused exch def setrgbcolor
} def
%
/PP
%
% If DEC$EDMS_MAKE_FILM is defined, it will add the crop & alignment marks,
% and the document name, page number, & ink color identifiers to the page.
%
% Formal Arguments: None
%
% Referenced Variables: DocumentName
% Colorsused
% Currentpagecount
% DEC$EDMS_MAKE_FILM
%
% Referenced Procedures: AlignMark
%
% Side Effects: Leaves the current font as Helvetica 8 point.
% Creates the variable "junkstr".
%
{ /PageNumber exch def
/DEC$EDMS_MAKE_FILM where % if making film...
{ pop
/DEC$EDMS_SUPPRESS_COLOR where % if color suppression is on
{ pop /DEC$EDMS_SEPARATE_COLORS 0 def % then default to color 0
/Colorsused 1 def } if % ...for everything
2 DEC$EDMS_SEPARATE_COLORS exp cvi Colorsused and 0 ne %if correct separatn
DEC$EDMS_SEPARATE_COLORS 0 lt or % ...or if a process color
{ /Helvetica findfont 400 scalefont setfont
20 setlinewidth 0 setgray
gsave
PaperWidth 1000 add 200 translate 90 rotate 0 0 moveto
(Ink: ) show % show the ink color
DEC$EDMS_SEPARATE_COLORS 0 ge
{ DEC$EDMS_COLOR_NAMES DEC$EDMS_SEPARATE_COLORS get }
{ (Process ) show [ (Cyan) (Magenta) (Yellow) (Black) ]
DEC$EDMS_SEPARATE_COLORS neg 1 sub get } ifelse show
/DEC$EDMS_SUPPRESS_COLOR where % if color suppression is on
{ pop ( (Color Suppression enabled)) show } if % tell them about it
1800 0 rmoveto
(Page: ) show % show the page number
/junkstr 4 string def PageNumber junkstr cvs show
( of ) show DEC$EDMS_TOTAL_PAGES junkstr cvs show
DEC$EDMS_SEPARATE_COLORS -4 eq
{ 1800 0 rmoveto (Trap Swell Factor: )show
/DEC$EDMS_TRAP_SWELL where % if trap swell factor is supplied
{ pop DEC$EDMS_TRAP_SWELL 6 string cvs }
{ (1 (default)) } ifelse show
} if
DEC$EDMS_SEPARATE_COLORS 0 lt % if a process color
{
PaperHeight 2 div 600 add 0 moveto (Screen Angle: ) show
/DEC$EDMS_SCREEN_ANGLE where
{ pop DEC$EDMS_SCREEN_ANGLE junkstr cvs } % if defined
{ ((default)) } ifelse show % if not defined
1800 0 rmoveto (Screen Frequency: ) show
/DEC$EDMS_SCREEN_FREQ where
{ pop DEC$EDMS_SCREEN_FREQ junkstr cvs } % if defined
{ ((default)) } ifelse show % if not defined
} if
grestore
gsave
-600 200 translate 90 rotate 0 0 moveto
(Document: ) show DEC$EDMS_DOCUMENT_ID show % show document name
PaperHeight 2 div 600 add 0 moveto
(This film is the property of Digital Equipment Corporation) show
grestore
/mask 15 % all crop marks on by default
/DEC$EDMS_SUPPRESS_CROPMARKS where % if def'd, xor in suppression mask
{ pop DEC$EDMS_SUPPRESS_CROPMARKS xor } if def
mask 1 and 1 eq
{ PaperWidth PaperHeight moveto % Upper Right
450 0 rmoveto 900 0 rlineto -1350 1350 rmoveto 0 -900 rlineto } if
mask 2 and 2 eq
{ PaperWidth 0 moveto % Lower Right
450 0 rmoveto 900 0 rlineto -1350 -1350 rmoveto 0 900 rlineto } if
mask 4 and 4 eq
{ 0 0 moveto % Lower Left
-450 0 rmoveto -900 0 rlineto 1350 -1350 rmoveto 0 900 rlineto } if
mask 8 and 8 eq
{ 0 PaperHeight moveto % Upper Left
-450 0 rmoveto -900 0 rlineto 1350 1350 rmoveto 0 -900 rlineto } if
stroke
/mask 15 % all registratn marks on by default
/DEC$EDMS_SUPPRESS_REGMARKS where % if defined, xor in suppression mask
{ pop DEC$EDMS_SUPPRESS_REGMARKS xor } if def
mask 1 and 1 eq % Top Center
{ gsave PaperWidth 2 div PaperHeight 900 add
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
translate AlignMark grestore } if
mask 2 and 2 eq % Right Center
{ gsave PaperWidth 900 add
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
PaperHeight 2 div translate AlignMark grestore } if
mask 4 and 4 eq % Bottom Center
{ gsave PaperWidth 2 div -900
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
translate AlignMark grestore } if
mask 8 and 8 eq % Left Center
{ gsave -900
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
PaperHeight 2 div translate AlignMark grestore } if
showpage
}
{ % disabled the 'erasepage ' that was here!
} ifelse
}
{ showpage } ifelse
} def
/CLRP { % disabled the 'erasepage' that was here!
} def
%
/DMF { % /font-name <point-size(pix)> DMF
/psz exch def /nam exch def nam findfont psz scalefont setfont
} def
%
/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx
/xxx exch def /nam exch def
/namstr nam cvsstr cvs def
/newnam namstr length xxx length add string def
newnam 0 namstr putinterval
newnam namstr length xxx putinterval
newnam cvn
} def
%
/strip { % /abcdef 2 strip ==> /cdef
/num exch def /nam exch def
/namstr nam cvsstr cvs def
/newlen namstr length num sub def
namstr num newlen getinterval cvn
} def
% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS
/PackHW { % <target> <pos> <num> PackHW --> <new target>
/num exch def /pos exch def /target exch def
num 16#0000FFFF and 1 pos sub 16 mul bitshift target or
} def
/PackByte { % <target> <pos> <num> PackByte --> <new target>
/num exch def /pos exch def /target exch def
num 16#000000FF and 3 pos sub 8 mul bitshift target or
} def
/UnpkHW { % <pos> <num> UnpkHW --> <unpacked value>
/num exch def /pos exch def
num 1 pos sub -16 mul bitshift 16#0000FFFF and
dup 16#00007FFF gt {16#00010000 sub} if
} def
/UnpkByte { % <pos> <num> UnpkByte --> <unpacked value>
/num exch def /pos exch def
num 3 pos sub -8 mul bitshift 16#000000FF and
dup 16#0000007F gt {16#00000100 sub} if
} def
%
/ps-scalefont {
% FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDER
% EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S
% A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE
% VERTICAL SCALING.
% save requested size - as entered and as integer
dup /x-size exch def cvi /x-int exch def
% calc decimal remainder, mul x 1000, round
x-size x-int sub 1000 mul round cvi /remainder exch def
% see how we scale...
remainder 50 lt remainder 450 gt or {
% scale isomorphically
/ystretch 0 def
x-size scalefont
} {
% scale anamorphically
/ystretch remainder def
x-int ystretch add /y-size exch def
[x-int 0 0 y-size 0 0] makefont
} ifelse
} def
%
/DPSF { % /procname size /fontname DPSF
findfont exch ps-scalefont [ exch /setfont cvx ] cvx def
} def
%
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div} def
/TransformBBox {
aload pop
/BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def
[ BB-llx RasterConvert BB-lly RasterConvert
BB-urx RasterConvert BB-ury RasterConvert ]
} def
/RunLengthToRasters {
% none yet
} def
/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK"
rasters runlength 1 eq {RunLengthToRasters} if
} def
%
/int-dict-name {int (-dict) concatnam} def
/int-dict {int (-dict) concatnam cvx load} def
%
/DefinePXLFont {
% <int-font-name><ext-font-name><pt-sz(pix)><PXL mag><num-chars>...
% ...[llx lly urx ury]<newfont-fg>DefinePXLFont
/newfont exch def /bb exch def /num exch def /psz exch def
/dsz exch def /pxlmag exch def /ext exch def /int exch def
/fnam ext (-) concatnam pxlmag cvsstr cvs concatnam def
newfont not {
int-dict-name 13 dict def
int-dict begin
/FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] def
/FontBBox bb TransformBBox def /Encoding CMEncodingArray def
/CharDict 1 dict def CharDict begin /Char-Info num array def end
/BuildChar {
PXLBuildCharDict begin
/char exch def /fontdict exch def
fontdict /CharDict get /Char-Info get char get aload pop
/rasters exch def /PackedWord1 exch def
0 PackedWord1 UnpkHW 16#7FFF ne {
/PackedWord2 exch def /wx 0 PackedWord1 UnpkHW def
/rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def
/llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def
/urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def
}{ %else
/PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def
/wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def
/cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def
/lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def
/ury 1 PackedWord4 UnpkHW def
} ifelse
rows 0 lt {
/rows rows neg def /runlength 1 def
}{ %else
/runlength 0 def
} ifelse
wx 0
llx RasterConvert lly RasterConvert
urx RasterConvert ury RasterConvert setcachedevice
rows 0 ne {
gsave
cols rows true RasterScaleFactor
0 0 RasterScaleFactor neg llx .5 add neg ury .5 add
tempmatrix astore GenerateRasters imagemask
grestore
} if
end
} def
end
fnam int-dict definefont pop
} if
int-dict-name fnam findfont psz scalefont def
currentdict int [ int-dict /setfont cvx ] cvx put
} def
/PXLF { true DefinePXLFont} def % SIGNAL THAT FONT ALREADY LOADED
/PXLNF {false DefinePXLFont} def % SIGNAL THAT FONT NOT ALREADY LOADED
%
/PXLC { % <int-font-name><code><wx><llx><lly><urx><ury>...
% ...<rows><cols><runlength><rasters>PXLC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/wx exch def /code exch def /int exch def
% SEE IF LONG OR SHORT FORMAT IS REQUIRED
true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ
TackRunLengthToRows {
int-dict /CharDict get /Char-Info get code
[ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte
0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] put
}{ %else
int-dict /CharDict get /Char-Info get code
[ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW
0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put
} ifelse
} def
%
/CKSZ {abs 127 le and} def
/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} def
%
/PLOTC {
% <wx><dsz><psz><llx><lly><urx><ury><rows><cols><runlength><rasters>PLOTC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/psz exch def /dsz exch def /wx exch def
% "PLOT" A CHARACTER'S RASTER PATTERN
rows 0 ne {
gsave
currentpoint translate psz dsz div dup scale
cols rows true RasterScaleFactor 0 0 RasterScaleFactor
neg llx .5 add neg ury .5 add tempmatrix astore
GenerateRasters imagemask
grestore
} if
wx x
} def
%
/AlignMark
%
% This procedure draws an alignment mark centered on the coordinate system
% origin. If the variable DEC$EDMS_SEPARATE_COLORS = 0 then a "positive"
% alignment mark is drawn. If DEC$EDMS_SEPARATE_COLORS <> 0 then a "negative"
% alignment mark is drawn.
%
% Formal Arguments: NONE
%
% Referenced Variables: DEC$EDMS_SEPARATE_COLORS
%
% Referenced Procedures: NONE
%
% Side Effects: NONE
%
{ DEC$EDMS_SEPARATE_COLORS 0 eq
{ 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke }
{ 0 0 450 0 360 arc fill 1 setgray 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke 0 setgray }
ifelse
} def
/SC
% If not making film, the following procedure sets the current color using the
% RGB color model. If making film, the procedure notes the "color pass" and,
% if the specified color index matches the color pass, subsequent marks are
% written in black. If the specified color index does not match the color pass,
% marks are written in white. Use of colors on individual pages is also tracked
% to allow pages that don't use a particular color to be suppressed on that
% color pass (by the code in the /PP routine).
%
% Formal Arguments: color index (on stack)
%
% Referenced Variables: Colorsused
% DEC$EDMS_SEPARATE_COLORS
% DEC$EDMS_SUPPRESS_COLOR
%
% Referenced Procedures: NONE
%
% Side Effects: Modifies the variable Colorsused to record use of the color.
% Tracks use of color in the variables 'ci' and 'processcolor'.
%
{ /ci exch def ci 0 lt % if the color index is lt 0
{ /processcolor true def } % then set 'processcolor' to 'true'.
{ ci /processcolor false def % else set 'processcolor' to 'false'.
/DEC$EDMS_SUPPRESS_COLOR where % if suppressing color
{ pop 0 setgray pop } % then set "color" to Black
{ /DEC$EDMS_SEPARATE_COLORS where % else if separating colors
{ pop dup DEC$EDMS_SEPARATE_COLORS eq % then if on this color pass
{ 0 setgray /Colorsused Colorsused % then write black (do write)
2 3 index exp cvi or def } % ..and note use of the "color"
{ 1 setgray } ifelse pop } % else write white (don't write)
{ dup ( ) cvs dup length 15 add string % else if using the color index,
/tstr exch def % ..build up the name of the
tstr 0 (DEC$EDMS_COLOR_) putinterval % ..potential external color
tstr exch 15 exch putinterval % ..name procedure
tstr cvn where % ..and see if it is defined
{ pop pop tstr cvn cvx exec } % execute it if it is
{ DEC$EDMS_COLOR_ARRAY exch get exec % else exec internal color proc
} ifelse
} ifelse
} ifelse
} ifelse
} def
/RV % .. gross recto/verso translate
{ /DEC$EDMS_ENABLE_RECTOVERSO where
{ pop
/RVmatrix DEC$EDMS_ENABLE_RECTOVERSO 50 mul 0 matrix translate def
RVmatrix concat
} if
} def
%
% Procedures for implementing the "rotate <theta>" special:
% <theta> ROTB -
% - ROTE -
/ROTB {
XP
gsave
Xpos Ypos translate
rotate % using <theta> from the stack
Xpos neg Ypos neg translate
RP
} def
/ROTE {XP grestore RP} def
end %DEC_DVC$dict
%%EndProlog
%%BeginSetup
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
54 dup translate % ..make room for the film info
} if
BeginDVC$PSDoc
/PaperWidth 8.500 Resolution mul def
/PaperHeight 11.000 Resolution mul def
/Ymax PaperHeight def
CLRP 300 3600 RES
%> Postamble of file HAVASU$DKA100:[HEISER.MISC]GUITAR_V1.DVI_PS.
% DefineFont:F206 Category:15 Pointsize:14
% DownloadPSFont
%!PS-Adobe-2.0
%%Title: PostScript Digital Logo Font, v1.1
%%Creator: Ned Batchelder
%%CreationDate: 9-Nov-87
%%DocumentFonts: Symbol
%%DocumentSuppliedFonts: DigitalLogo
%%EndComments
%
% DIGITAL INTERNAL USE ONLY
%
% INTRODUCTION:
% This rendition of the Digital logo was prepared by Ned Batchelder using
% Adobe Illustrator and hand manipulation of the resulting PostScript code.
% Photographic masters of the logo were obtained from David Comberg in the
% Graphic Design Group. Additional consultation was provided by Elliot
% Hendrickson, one of the original designers of the logo.
%
% USE:
% This file defines a new PostScript font, called /DigitalLogo. It consists
% of three characters. (d) is the entire Digital logo, (t) is a small
% trademark symbol, and (T) is a large trademark symbol. The font is designed
% so that the argument to scalefont is the height of the logo. There is no
% extra white space around the logo at all. The trademarks are designed to be
% shown right after the logo, and they align themselves. The only correct
% strings to show with this font are (d), (dt), and (dT). There is an entry
% (named GapWidth) in the font dictionary which gives the unscaled width of
% the gap between the blocks. This distance is given because it is used as a
% unit to determine how much space to leave around the logo.
%
% HISTORY:
% The logo was designed in 1957 by Elliot Hendrickson, who was then working
% as an independent designer. He was contracted by DEC to do a brochure, and
% DEC wanted a logo to accompany it. The logo up to then had been the letters
% DEC in blocks the shape of the plug-in cards that DEC had been producing.
% Elliot re-worked the logo, incorporating letters which were hand-drawn for
% the purpose by Arthur Hover(?). The logo has been maintained since then in
% conventional technology, ie, film masters. There was at least one reworking
% of the logo at some point.
%
% The masters I received had a number of interesting features. The boxes were
% not all the same width, and there seemed to be no logic to which boxes were
% wider. The 'g' was the narrowest, and the 'i' and 'l' were second widest.
% Also, the two 'i's were not exactly the same shape. On ten-inch masters,
% (one box to an 8�x11 sheet), the boxes were not rectangles, but were very
% slightly tapered in wierd ways. I assume that the tapering is the result of
% too many reproductions, but the difference in widths may have been
% deliberate at some time. Elliot reports that when he drew it, all boxes
% were the same width. I have retained the different widths in my version,
% since the experts I had at hand did not seem to think I should make them
% uniform.
%
% Please feel free to use this logo, but keep in mind the following:
%
% 1. This code is for INTERNAL USE ONLY.
% 2. I am not entirely happy with the final shapes of the letters, and am
% hoping to improve them. Please allow for future updates to this code.
% 3. Only use this logo within the guidelines of the Corporate Identity
% program. If you use this font precisely as is, you can't get in much
% trouble. Don't take the shapes and do strange things with them.
% In particular, the Identity states that the logo is a one-color logo: The
% letters are actually holes in the blocks, through which the background can
% be seen. Do not modify this code so that the letters are always white.
%
% Edit history:
%
% 21-Sep-87 nmb Created as a standalone file with demo.
% 6-Nov-87 nmb Converted to font form.
% 9-Nov-87 nmb Removed // uses for compatibility with LW Classics
%
%%BeginFont: DigitalLogo
10 dict begin
/FontInfo 3 dict def
FontInfo begin
/Notice
(The Digital logo is a registered trademark of Digital Equipment Corporation.)
def
/FullName (Digital logo) def
/version (1.1) def
end
/FontType 3 def % This is a user-defined font
/FontMatrix matrix def % Use an identity transform
/FontBBox [ 0 0 3.383 1 ] def % Logo itself is biggest
/GapWidth .070 def % The width of the gap between boxes
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } bind for
Encoding
dup (d) 0 get /DEC-logo put % (d) gives logo
dup (t) 0 get /smalltrademark put % (t) gives small trademark
(T) 0 get /largetrademark put % (T) gives large trademark
/Work 15 dict def % for doing work in font.
/BuildChar {
exch begin % Use the font dictionary
Work begin
Encoding exch get % Look up the character name
load % Pull out the procedure
exec % Run it.
end % Work
end % fontdict
} bind def
Work begin
/.notdef {} def
%
% - `DEC-logo' -
%
% Images a DEC logo with the lower left corner at the current origin, with a
% height of one unit, in the current color.
%
/m /moveto load def
/l /lineto load def
/c /curveto load def
/DEC-logo {
3.383 0 0 0 3.383 1 setcachedevice
{ % D
% d counter
.2930 .3513 m
.2932 .3217 .2587 .2758 .2167 .2757 c
.1719 .2759 .1280 .3165 .1280 .3977 c
.1280 .4801 .1718 .5225 .2153 .5227 c
.2587 .5225 .2932 .4760 .2930 .4407 c
closepath
% d outside
.2953 .5787 m
.2953 .7600 l
.3843 .7600 l
.3843 .1960 l
.2923 .1960 l
.2923 .2220 l
.2848 .2144 .2531 .1813 .1990 .1813 c
.1426 .1812 .0417 .2282 .0417 .3977 c
.0417 .5414 .1171 .6157 .2067 .6157 c
.2399 .6157 .2725 .6039 .2953 .5787 c
closepath
% d box
.432 0.0 m
.432 1.0 l
.000 1.0 l
.000 0.0 l
closepath
} exec
{ % I
% i box
.927 0.0 m
.927 1.0 l
.502 1.0 l
.502 0.0 l
closepath
% i body
.6695 .196 m
.6695 .600 l
.7595 .600 l
.7595 .196 l
closepath
% i dot
.6695 .655 m
.6695 .755 l
.7595 .755 l
.7595 .655 l
closepath
} exec
{ % G
% g counter
1.2813 .4478 m
1.2813 .4837 1.2409 .5208 1.2035 .5208 c
1.1713 .5208 1.1215 .5003 1.1215 .4084 c
1.1215 .3105 1.1827 .2962 1.2030 .2962 c
1.2433 .2962 1.2813 .3239 1.2813 .3667 c
closepath
% g box
0.997 1.0 m
1.415 1.0 l
1.415 0.0 l
0.997 0.0 l
closepath
% g outside
1.2822 .5609 m
1.2729 .5742 1.2424 .6044 1.1988 .6044 c
1.1311 .6043 1.0367 .5652 1.0367 .3955 c
1.0368 .2617 1.1437 .2168 1.1876 .2168 c
1.2350 .2167 1.2702 .2443 1.2798 .2547 c
1.2798 .2126 l
1.2798 .1815 1.2479 .1511 1.1945 .1511 c
1.1485 .1512 1.1437 .1807 1.1437 .1953 c
1.0497 .1953 l
1.0497 .1486 1.0798 .0804 1.1888 .0803 c
1.2864 .0803 1.3186 .1176 1.3325 .1316 c
1.3442 .1434 1.3617 .1758 1.3617 .2017 c
1.3617 .6 l
1.2823 .6 l
closepath
} exec
{ % I
% i box
1.910 0.0 m
1.910 1.0 l
1.485 1.0 l
1.485 0.0 l
closepath
% i body
1.6525 .196 m
1.6525 .6 l
1.7425 .6 l
1.7425 .196 l
closepath
% i dot
1.6525 .655 m
1.6525 .755 l
1.7425 .755 l
1.7425 .655 l
closepath
} exec
{ % T
% t
2.2128 .7525 m
2.1305 .7525 l
2.1305 .6071 l
2.0874 .6071 l
2.0874 .5396 l
2.1305 .5396 l
2.1305 .2852 l
2.1305 .2367 2.1554 .1986 2.2248 .1987 c
2.2573 .1987 2.2560 .1985 2.2842 .2034 c
2.2842 .2874 l
2.2658 .2842 2.2601 .2829 2.2511 .2832 c
2.2338 .2837 2.2128 .2898 2.2128 .3206 c
2.2128 .5395 l
2.2780 .5395 l
2.2780 .6071 l
2.2128 .6071 l
closepath
% t box
2.404 0.0 m
1.980 0.0 l
1.980 1.0 l
2.404 1.0 l
closepath
} exec
{ % A
% a box
2.474 0.0 m
2.474 1.0 l
2.888 1.0 l
2.888 0.0 l
closepath
% a outside
2.5439 .4728 m
2.6210 .4728 l
2.6210 .5138 2.6422 .5353 2.6826 .5353 c
2.7470 .5354 2.7449 .5067 2.7448 .4708 c
2.7050 .4553 2.7087 .4557 2.6480 .4419 c
2.5709 .4241 2.5237 .3911 2.5236 .3112 c
2.5237 .2331 2.5793 .1914 2.6420 .1915 c
2.7048 .1914 2.7178 .2117 2.7438 .2290 c
2.7438 .1978 l
2.8422 .1978 l
2.8190 .2352 2.8251 .2425 2.8249 .2706 c
2.8250 .2926 2.8249 .5080 2.8249 .5080 c
2.8250 .5507 2.8028 .5768 2.7883 .5855 c
2.7521 .6071 2.7074 .6097 2.6826 .6098 c
2.5945 .6096 2.5438 .5653 2.5439 .4728 c
closepath
% a counter
2.7448 .3946 m
2.7448 .3401 l
2.7448 .3152 2.7145 .2670 2.6550 .2669 c
2.6260 .2668 2.6098 .2883 2.6097 .3162 c
2.6098 .3442 2.6335 .3657 2.6536 .3697 c
2.6745 .3739 2.7226 .3862 2.7448 .3946 c
closepath
} exec
{ % L
% l box
3.383 0.0 m
3.383 1.0 l
2.958 1.0 l
2.958 0.0 l
closepath
% l
3.1255 .196 m
3.1255 .765 l
3.2155 .765 l
3.2155 .196 l
closepath
} exec
fill
} bind def
%
% % pct `trademark' --
%
% Borrow the sans-serif trademark symbol from /Symbol. AFM file says:
% C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;
% We scale it down to pct percent of the height of the logo and superscript
% it some, and voila!
%
/trademark {
/s exch .380 div def
/w s .725 mul .070 add def
/u 1 .673 s mul sub def
w 0 0 u w 1 setcachedevice
/Symbol findfont s scalefont setfont
.070 u m % Superscript it
(\344) show
} bind def
%
% These are two different trademarks (just different sizes).
%
/smalltrademark { .15 trademark } def
/largetrademark { .25 trademark } def
end % Work dictionary
currentdict % Get the font dict
end % Close it up
/DigitalLogo exch definefont pop % Define the font.
%%EndFont
% EndDownloadPSFont
/F206 700.0 /DigitalLogo DPSF
% DefineFont:F159 Category:10 Pointsize:8
/NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE
/F159 400.0 /NewCenturySchlbk-Roman@DOCPSE DPSF
% DefineFont:F152 Category:10 Pointsize:10
/NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE
/F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF
% DefineFont:F121 Category:100 Pointsize:8
/F121 /amsy8 1500 399 398.506 128 [0 -33 31 25] PXLNF
% DefineFont:F40 Category:10 Pointsize:9
/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE
/F40 450.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F32 Category:10 Pointsize:11
/F32 550.0 /Helvetica-Bold@DOCPSE DPSF
%%BeginDEC$EDMSInfo
/DEC$EDMS_DOCUMENT_ID () def
/DEC$EDMS_COLOR_NAMES [ (0_BLACK) ] def
/DEC$EDMS_COLOR_ARRAY [
%%RGBCustomColor 0.000 0.000 0.000 0_BLACK
{ 0.000 0.000 0.000 setrgbcolor } % 0_BLACK DOC$COLOR_INIT
] def
/DEC$EDMS_TOTAL_PAGES 0 def
%%EndDEC$EDMSInfo
/DEC$EDMS_MAKE_FILM where
{ pop /DEC$EDMS_SEPARATE_COLORS where
{ pop }
{ (ERROR - DEC$EDMS_MAKE_FILM requires DEC$EDMS_SEPARATE_COLORS be defined) = quit } ifelse
} if
/DEC$EDMS_SEPARATE_COLORS where
{ pop /DEC$EDMS_SUPPRESS_COLOR where
{ pop (ERROR - DEC$EDMS_SEPARATE_COLORS and DEC$EDMS_SUPPRESS_COLOR are mutually exclusive) = quit } if
} if
/DVC$PSFonts save def
%%EndSetup
%
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY
%%BeginCustomColor: 0_BLACK
0 SC 5593 3620 XY 14748 24 R 5593 19636 XY 24 16020 R 6179 4946 XY F159
(Noise)S 133 x(Reduction:)S 177 x(Dolby)S
XP /F121 13 424 2 -6 31 22 29 32 0
<001FE000 00FFFC00 03F03F00 07800780 0E0001C0 1C0000E0 38000070 30000030
70000038 60000018 E000001C C000000C C000000C C000000C C000000C C000000C
C000000C C000000C E000001C 60000018 70000038 30000030 38000070 1C0000E0
0E0001C0 07800780 03F03F00 00FFFC00 001FE000>
PXLC RP
10696 4946 XY F121(\015)S 133 x F159(B)S 133 x F121(\015)S 133 x F159
(C)S 133 x F121(\015)S 133 x F159(dBx)S 132 x F121(\015)S 133 x F159
(HX-Pro)S 133 x F121(\015)S 133 x F159(none)S 6179 5909 XY(Label)S 132 x
(produced)S 133 x(with)S 133 x(V)S -45 x(AX)S 132 x(DOCUMENT)S 6179 X
615 y 13044 24 R 6179 7839 XY F206(dt)S 184 x F32(Guitar)S 183 x(Noters)S
182 x(V)S -40 x(olume)S 182 x(1)S 6179 X 650 y 13044 24 R 6312 8987 XY
F40(A)S 573 x 498 y F159(T)S -37 x(om)S 89 x(DesRochers)S 89 x(-)S 88 x
('Cause)S 88 x(W)S -22 x(e've)S 9868 X 498 y(Ended)S 88 x(As)S 88 x
(Lovers)S 7209 X 498 y(Rich)S 132 x(Coccoli)S 132 x(-)S 133 x(My)S 133 x
(Secret)S 133 x(Life)S 9646 X 498 y(-)S 133 x(Pari)S -2 x(ah)S 9646 X
498 y(-)S 133 x(Gerbil)S 131 x(In)S 134 x(My)S 10089 X 499 y(Pocket)S
7209 X 498 y(Steve)S 133 x(Greve)S 134 x(-)S 132 x(Students)S 9868 X
498 y(Revenge)S 9425 X 498 y(-)S 132 x(Y)S -45 x(ou)S 134 x(T)S -10 x
(ied)S 132 x(Me)S 133 x(Up)S 9646 X 498 y(and)S 133 x(Left)S 132 x(Me)S
134 x(Y)S -45 x(ou)S 9646 X 498 y(Dirty)S 116 x(Cheezedick)S 7209 X
498 y(Bob)S 132 x(Conroy)S 134 x(-)S 132 x(Lady)S 132 x(and)S 133 x
(the)S 9868 X 498 y(Unicorn)S 9646 X 499 y(-)S 133 x(Sarab)S -2 x(ande)S
7209 X 498 y(Jerry)S 132 x(White)S 133 x(&)S 133 x(-)S 133 x(Rai)S -2 x
(se)S 133 x(The)S 7209 X 498 y(Jeff)S 132 x(Cooper)S 10338 X(Stakes)S
10089 X 498 y(-)S 133 x(Little)S 132 x(T)S -37 x(easer)S 10089 X 498 y
(-)S 133 x(Her)S 133 x(Love)S 891 x 8987 Y F40(B)S 572 x 498 y F159
(Kevin)S 89 x(McDonou)S 2 x(gh)S 89 x(-)S 88 x(Goin')S 89 x(Down)S 13861 X
498 y(Brian)S 96 x(Rost)S 96 x(-)S 96 x(Nothing)S 97 x(But)S 97 x(T)S
-11 x(ime)S 15855 X 498 y(-)S 133 x(Paral)S -2 x(lel)S 13861 X 498 y
(Larry)S 132 x(V)S -17 x(ignealt)S 132 x(-)S 132 x(Theme)S 134 x(From)S
16963 X 498 y(The)S 89 x(Unkn)S 2 x(own)S 16963 X 499 y(Movie)S 16520 X
498 y(-)S 133 x(The)S 133 x(W)S -29 x(ay)S 132 x(She)S 16963 X 498 y
(Makes)S 89 x(Me)S 89 x(Smile)S 16520 X 498 y(-)S 133 x(Just)S 132 x
(A)S 133 x(Blues)S 16963 X 498 y(Jam)S 13861 X 498 y(Bill)S 132 x(Buckley)S
133 x(-)S 132 x(Reminicence)S 134 x(Of)S 16742 X 498 y(Rio)S 16299 X
498 y(-)S 132 x(Fallen)S 132 x(Angel)S 13861 X 499 y(John)S 134 x(W)S
-15 x(illi)S -2 x(ams)S 132 x(-)S 133 x(T)S -25 x(raveler)S 16742 X
498 y(-)S 88 x(East)S 87 x(Block)S 89 x(Stomp)S 114 x 19636 Y 24 16020 R
5593 X 20 y 14748 24 R 21256 39033 XY F152(1)S
%%EndCustomColor
1 PP EP
%%PageTrailer
%%PageFonts: NewCenturySchlbk-Roman
%%+ amsy8 DigitalLogo Helvetica-Bold NewCenturySchlbk-Italic
%%PageCustomColors: 0_BLACK
%
%%Trailer
EndDVC$PSDoc
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
-54 dup translate % ..undo the film translation
} if
%%Pages: 1
%%DocumentFonts: DigitalLogo NewCenturySchlbk-Roman
%%+ NewCenturySchlbk-Italic amsy8 Helvetica-Bold
%%DocumentCustomColors: 0_BLACK
|
2298.2 | Guitar Noters Vol. 2 | RAVEN1::JERRYWHITE | Here's a quarter ... | Tue Aug 20 1991 11:00 | 971 |
| %!PS-Adobe-2.0
%%Creator: VAX DOCUMENT V1.2
%%+Copyright (c) 1986,1987,1988,1989 DIGITAL EQUIPMENT CORPORATION.
%%+All Rights Reserved.
%%DocumentFonts: (atend)
%%Pages: (atend)
%%EndComments
/DEC_DVC$dict where { %FIND DICTIONARY
pop
}{ %else
/DEC_DVC$dict 300 dict def
} ifelse
/BeginDVC$PSDoc { %BEGIN DOCUMENT
vmstatus pop pop 0 eq {
DEC_DVC$dict begin InitializeState
}{ %else
/DVC$PSJob save def DEC_DVC$dict begin InitializeState
/DVC$PSFonts save def
} ifelse
} def
/EndDVC$PSDoc { %END DOCUMENT
% --- Preserving current page count ---
/DEC$EDMS_MAKE_FILM where { pop Currentpagecount } if
vmstatus pop pop 0 eq {
end
}{ %else
DVC$PSFonts restore end DVC$PSJob restore
} ifelse
/DEC$EDMS_MAKE_FILM where { pop /Currentpagecount exch def } if
} def
%
DEC_DVC$dict begin
%
mark % CREATE ISOLatin1 ENCODING
/ISOLatin1
8#000 1 8#054 {StandardEncoding exch get} for
/minus
8#056 1 8#217 {StandardEncoding exch get} for
/dotlessi
8#301 1 8#317 {StandardEncoding exch get} for
/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
/ISOLatin1 where not {256 array astore def} if
cleartomark
%
/DECMCS ISOLatin1 256 array copy def
mark % CREATE DECMCS ENCODING
8#240 8#244 8#246 8#254 8#255 8#256 8#257 8#264
8#270 8#276 8#320 8#336 8#360 8#376 8#377
counttomark
{DECMCS exch /.notdef put} repeat % STACK NOW CONTAINS MARK
8#250 /currency 8#327 /OE 8#335 /Ydieresis 8#367 /oe 8#375 /ydieresis
counttomark -1 bitshift % DIVIDE BY 2
{DECMCS 3 1 roll put} repeat % STACK NOW CONTAINS MARK
cleartomark
%
/DOCPSE DECMCS 256 array copy def
mark % CREATE DOCPSE ENCODING
8#055 /hyphen
8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /dagger
8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta
8#211 /fi 8#212 /fl
counttomark -1 bitshift % DIVIDE BY 2
{DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK
cleartomark
%
/reencodedict 10 dict def %Local storage for "ReENCODE"
/ReENCODE { % /basefont /newfont encoding ReENCODE
/newencoding exch def %ARG: NAME OF ENCODING VECTOR
/newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING
findfont
/basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED
basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT
basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE
1 index /FID ne {
def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS
} { %else
pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING
} ifelse
} forall
/FontName newfontname def %DEFINE NEW NAME
/Encoding newencoding def %DEFINE NEW ENCODING VECTOR
newfontname currentdict definefont %TURN IT INTO A PS FONT
pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT
end
} bind def
%
/cvsstr 64 string def
/tempmatrix matrix def
%
/BP { % BEGIN PAGE
/Magnification exch def
/Currentpagecount where
{ pop /Currentpagecount Currentpagecount 1 add def } if
/DVC$PSPage save def
} def
%
/EP {DVC$PSPage restore} def % END PAGE
%
/XP { % EXIT PAGE (TEMPORARILY) TO ADD FONTS/CHARS
% SAVE CURRENT POINT AND COLOR INFORMATION SO IT CAN BE RESET LATER
currentrgbcolor Colorsused
/Xpos where {pop Xpos} {0} ifelse
/Ypos where {pop Ypos} {0} ifelse
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
moveto
/Ypos exch def /Xpos exch def
/Colorsused exch def setrgbcolor
} def
%
/RP {/DVC$PSPage save def} def % RESUME PAGE
%
/PF {GlobalMode LocalMode} def % PURGE FONTS TO RECLAIM MEMORY
%
/GlobalMode { % SWITCH TO BASE SAVE/RESTORE LEVEL, SAVING STATE
PortraitMode PaperWidth PaperHeight PxlResolution Resolution
Magnification Ymax Xorigin Yorigin RasterScaleFactor
% SAVE CURRENTPOINT INFORMATION TO RESET LATER
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
DVC$PSFonts restore RecoverState
} def
%
/RecoverState { % PRESERVE STATE AT BASE LEVEL
12 copy
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
DoInitialScaling
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
} def
%
/InitializeState { % INITIALIZE STATE VARIABLES TO DEFAULT VALUES
/Resolution 3600 def /PxlResolution 300 def
/RasterScaleFactor PxlResolution Resolution div def
/PortraitMode true def /PaperHeight 11 Resolution mul def
/PaperWidth 8.5 Resolution mul def /Ymax PaperHeight def
/Magnification 1000 def /Xorigin 0 def /Yorigin 0 def
/Xpos 0 def /Ypos 0 def /InitialMatrix matrix currentmatrix def
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
54 54 translate % ..make room for the "film information"
} if
/Colorsused 0 def
} def
%
/LocalMode { % SWITCH FROM BASE SAVE/RESTORE LEVEL, RESTORING STATE
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
DoInitialScaling
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
/DVC$PSFonts save def /DVC$PSPage save def
} def
% % ABBREVIATIONS
/S /show load def
/SV /save load def
/RST /restore load def
/Yadjust {Ymax exch sub} def
%
/SXY { % (x,y) POSITION ABSOLUTE, JUST SET Xpos & Ypos, DON'T MOVE
Yadjust /Ypos exch def /Xpos exch def
} def
%
/XY { % (x,y) POSITION ABSOLUTE
Yadjust 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/X { % (x,0) POSITION ABSOLUTE
currentpoint exch pop 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/Y { % (0,y) POSITION ABSOLUTE
currentpoint pop exch Yadjust 2 copy
/Ypos exch def /Xpos exch def moveto
} def
%
/xy { % (x,y) POSITION RELATIVE
neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/x { % (x,0) POSITION RELATIVE
0 rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/y { % (0,y) POSITION RELATIVE
0 exch neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/R { % DRAW A RULE
/ht exch def /wd exch def gsave
% 0 setgray
currentpoint newpath moveto
0 ht rlineto wd 0 rlineto
0 ht neg rlineto wd neg 0 rlineto
closepath fill grestore wd 0 rmoveto
currentpoint /Ypos exch def /Xpos exch def
} def
%
/RES { % <PXL-file resolution(pix/inch)> <resolution(pix/inch)> RES
/Resolution exch def /PxlResolution exch def
/RasterScaleFactor PxlResolution Resolution div def
DoInitialScaling
} def
%
/DoInitialScaling { % DO INITIAL SCALING
InitialMatrix setmatrix 72 Resolution div dup scale
} def
%
/PM { % <paper-height(pix)> <paper-width(pix)> PM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperHeight def /PortraitMode true def
DoInitialScaling
RP
} def
%
/SetupLandscape {translate 90 rotate} def
/LM { % <paper-height(pix)> <paper-width(pix)> LM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperWidth def /PortraitMode false def
DoInitialScaling PaperWidth 0 SetupLandscape
RP
} def
%
/MAG { % CHANGE MAGNIFICATION SETTING
XP /Magnification exch def RP
} def
%
/SPB { % <xoffset><yoffset>SPB - BEGIN "\SPECIAL" MODE
Yadjust /Yorigin exch def /Xorigin exch def
currentrgbcolor Colorsused
GlobalMode Xorigin Yorigin translate
Resolution 72 div dup scale % RESTORE DEFAULT SCALING
Magnification 1000 div dup scale % ADJUST FOR ANY MAGNIFICATION
/Xpos Xpos 72 Resolution div mul 1000 Magnification div mul def
/Ypos Ypos 72 Resolution div mul 1000 Magnification div mul def
/spsavobj save def %SAVE STATE & STACK DEPTH FOR CLEANUP AFTER FIGURE
/showpage {} def %DISABLE DURING FIGURE; `RESTORE' WILL BLOW DEF AWAY
mark
} def
%
/SPE { % SPE - END "\SPECIAL" MODE
cleartomark
spsavobj restore
1000 Magnification div dup scale % UN-ADJUST FOR ANY MAGNIFICATION
72 Resolution div dup scale % RESTORE DEFAULT INTERNAL SCALING
LocalMode
setrgbcolor /Colorsused exch def
} def
%
/PP
%
% If DEC$EDMS_MAKE_FILM is defined, it will add the crop & alignment marks,
% and the document name, page number, & ink color identifiers to the page.
%
% Formal Arguments: None
%
% Referenced Variables: DocumentName
% Colorsused
% Currentpagecount
% DEC$EDMS_MAKE_FILM
%
% Referenced Procedures: AlignMark
%
% Side Effects: Leaves the current font as Helvetica 8 point.
% Creates the variable "junkstr".
%
{ /DEC$EDMS_MAKE_FILM where % if making film...
{ pop 2 DEC$EDMS_SEPARATE_COLORS exp cvi Colorsused and 0 ne % and if the correct separation
{ /Helvetica findfont 400 scalefont setfont
20 setlinewidth 0 setgray
PaperWidth 150 add PaperHeight 100 add moveto % show the ink color
(Ink: ) show Colornames DEC$EDMS_SEPARATE_COLORS get show
PaperWidth 150 add PaperHeight 600 add moveto
(Page: ) show % show the page number
/junkstr 4 string def /TotalPages where
{ pop Currentpagecount junkstr cvs show ( of ) show
TotalPages junkstr cvs show } if
150 PaperHeight 100 add moveto % show the document name
(Document: ) show DocumentName show
150 -500 moveto % show ownership text
(This film is the property of Digital Equipment Corporation) show stroke
/DEC$EDMS_SUPPRESS_CROPMARKS where { pop } { % draw the crop marks
PaperWidth PaperHeight moveto % Upper Right
1800 0 rlineto -1800 0 rmoveto 0 1800 rlineto
PaperWidth 0 moveto % Lower Right
1800 0 rlineto -1800 0 rmoveto 0 -1800 rlineto
0 0 moveto % Lower Left
-1800 0 rlineto 1800 0 rmoveto 0 -1800 rlineto
0 PaperHeight moveto % Upper Left
-1800 0 rlineto 1800 0 rmoveto 0 1800 rlineto
stroke } ifelse
/DEC$EDMS_SUPPRESS_REGMARKS where { pop } { % draw the registration marks
gsave % Top Center
PaperWidth 2 div PaperHeight
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
translate AlignMark
grestore
gsave % Right Center
PaperWidth
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
PaperHeight 2 div translate AlignMark
grestore
gsave % Bottom Center
PaperWidth 2 div 0
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
translate AlignMark
grestore
gsave % Left Center
0
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
PaperHeight 2 div translate AlignMark
grestore
} ifelse
} if
} if
showpage
} def
/CLRP {erasepage} def
%
/DMF { % /font-name <point-size(pix)> DMF
/psz exch def /nam exch def nam findfont psz scalefont setfont
} def
%
/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx
/xxx exch def /nam exch def
/namstr nam cvsstr cvs def
/newnam namstr length xxx length add string def
newnam 0 namstr putinterval
newnam namstr length xxx putinterval
newnam cvn
} def
%
/strip { % /abcdef 2 strip ==> /cdef
/num exch def /nam exch def
/namstr nam cvsstr cvs def
/newlen namstr length num sub def
namstr num newlen getinterval cvn
} def
% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS
/PackHW { % <target> <pos> <num> PackHW --> <new target>
/num exch def /pos exch def /target exch def
num 16#0000FFFF and 1 pos sub 16 mul bitshift target or
} def
/PackByte { % <target> <pos> <num> PackByte --> <new target>
/num exch def /pos exch def /target exch def
num 16#000000FF and 3 pos sub 8 mul bitshift target or
} def
/UnpkHW { % <pos> <num> UnpkHW --> <unpacked value>
/num exch def /pos exch def
num 1 pos sub -16 mul bitshift 16#0000FFFF and
dup 16#00007FFF gt {16#00010000 sub} if
} def
/UnpkByte { % <pos> <num> UnpkByte --> <unpacked value>
/num exch def /pos exch def
num 3 pos sub -8 mul bitshift 16#000000FF and
dup 16#0000007F gt {16#00000100 sub} if
} def
%
/DPSF { % /procname size /fontname DPSF
findfont exch scalefont
[ exch /setfont cvx ] cvx def
} bind def
%
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div} def
/TransformBBox {
aload pop
/BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def
[ BB-llx RasterConvert BB-lly RasterConvert
BB-urx RasterConvert BB-ury RasterConvert ]
} def
/RunLengthToRasters {
% none yet
} def
/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK"
rasters runlength 1 eq {RunLengthToRasters} if
} def
%
/int-dict-name {int (-dict) concatnam} def
/int-dict {int (-dict) concatnam cvx load} def
%
/DefinePXLFont {
% <int-font-name><ext-font-name><pt-sz(pix)><PXL mag><num-chars>...
% ...[llx lly urx ury]<newfont-fg>DefinePXLFont
/newfont exch def /bb exch def /num exch def /psz exch def
/dsz exch def /pxlmag exch def /ext exch def /int exch def
/fnam ext (-) concatnam pxlmag cvsstr cvs concatnam def
newfont not {
int-dict-name 13 dict def
int-dict begin
/FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] def
/FontBBox bb TransformBBox def /Encoding CMEncodingArray def
/CharDict 1 dict def CharDict begin /Char-Info num array def end
/BuildChar {
PXLBuildCharDict begin
/char exch def /fontdict exch def
fontdict /CharDict get /Char-Info get char get aload pop
/rasters exch def /PackedWord1 exch def
0 PackedWord1 UnpkHW 16#7FFF ne {
/PackedWord2 exch def /wx 0 PackedWord1 UnpkHW def
/rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def
/llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def
/urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def
}{ %else
/PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def
/wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def
/cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def
/lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def
/ury 1 PackedWord4 UnpkHW def
} ifelse
rows 0 lt {
/rows rows neg def /runlength 1 def
}{ %else
/runlength 0 def
} ifelse
wx 0
llx RasterConvert lly RasterConvert
urx RasterConvert ury RasterConvert setcachedevice
rows 0 ne {
gsave
cols rows true RasterScaleFactor
0 0 RasterScaleFactor neg llx .5 add neg ury .5 add
tempmatrix astore GenerateRasters imagemask
grestore
} if
end
} def
end
fnam int-dict definefont pop
} if
int-dict-name fnam findfont psz scalefont def
currentdict int [ int-dict /setfont cvx ] cvx put
} def
/PXLF { true DefinePXLFont} def % SIGNAL THAT FONT IS ALREADY LOADED
/PXLNF {false DefinePXLFont} def % SIGNAL THAT FONT IS NOT ALREADY LOADED
%
/PXLC { % <int-font-name><code><wx><llx><lly><urx><ury>...
% ...<rows><cols><runlength><rasters>PXLC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/wx exch def /code exch def /int exch def
% SEE IF LONG OR SHORT FORMAT IS REQUIRED
true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ
TackRunLengthToRows {
int-dict /CharDict get /Char-Info get code
[ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte
0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] put
}{ %else
int-dict /CharDict get /Char-Info get code
[ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW
0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put
} ifelse
} def
%
/CKSZ {abs 127 le and} def
/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} def
%
/PLOTC {
% <wx><dsz><psz><llx><lly><urx><ury><rows><cols><runlength><rasters>PLOTC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/psz exch def /dsz exch def /wx exch def
% "PLOT" A CHARACTER'S RASTER PATTERN
rows 0 ne {
gsave
currentpoint translate psz dsz div dup scale
cols rows true RasterScaleFactor 0 0 RasterScaleFactor
neg llx .5 add neg ury .5 add tempmatrix astore
GenerateRasters imagemask
grestore
} if
wx x
} def
%
/AlignMark
%
% This procedure draws an alignment mark centered on the coordinate system
% origin. If the variable DEC$EDMS_SEPARATE_COLORS = 0 then a "positive"
% alignment mark is drawn. If DEC$EDMS_SEPARATE_COLORS <> 0 then a "negative"
% alignment mark is drawn.
%
% Formal Arguments: NONE
%
% Referenced Variables: DEC$EDMS_SEPARATE_COLORS
%
% Referenced Procedures: NONE
%
% Side Effects: NONE
%
{ DEC$EDMS_SEPARATE_COLORS 0 eq
{ 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke }
{ 0 0 450 0 360 arc fill 1 setgray 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke 0 setgray }
ifelse
} bind def
/SC
% If not making film, the following procedure sets the current color using the
% RGB color model. If making film, the procedure notes the "color pass" and,
% if the specified color index matches the color pass, subsequent marks are
% written in black. If the specified color index does not match the color pass,
% marks are written in white. Use of colors on individual pages is also tracked
% to allow pages that don't use a particular color to be suppressed on that
% color pass (by the code in the /PP routine).
%
% Formal Arguments: color index (on stack)
%
% Referenced Variables: Colorsused
% DEC$EDMS_SEPARATE_COLORS
% DEC$EDMS_SUPPRESS_COLOR
%
% Referenced Procedures: NONE
%
% Side Effects: Modifies the variable Colorsused to record use of the color.
%
{ /DEC$EDMS_SUPPRESS_COLOR where % if suppressing color
{ pop 0 setgray pop } % .then set "color" to Black
{ /DEC$EDMS_SEPARATE_COLORS where % .else if separating colors
{ pop dup DEC$EDMS_SEPARATE_COLORS eq % ..and if on this color pass
{ 0 setgray /Colorsused Colorsused % ...then write black (do write)
2 3 index exp cvi or def } % ...and note use of the "color"
{ 1 setgray } ifelse pop } % ...else write white (don't write)
{ DEC$EDMS_Colorarray exch get aload % ..else get the PMS color value
pop setrgbcolor } ifelse % ..approximations and set them
} ifelse
} def
end %DEC_DVC$dict
%%EndProlog
%%BeginSetup
BeginDVC$PSDoc
CLRP 300 3600 RES
% DefineFont:F171 Category:15 PointSize:14
% DownloadPSFont
%!PS-Adobe-2.0
%%Title: PostScript Digital Logo Font, v1.1
%%Creator: Ned Batchelder
%%CreationDate: 9-Nov-87
%%DocumentFonts: Symbol
%%DocumentSuppliedFonts: DigitalLogo
%%EndComments
%
% DIGITAL INTERNAL USE ONLY
%
% INTRODUCTION:
% This rendition of the Digital logo was prepared by Ned Batchelder using
% Adobe Illustrator and hand manipulation of the resulting PostScript code.
% Photographic masters of the logo were obtained from David Comberg in the
% Graphic Design Group. Additional consultation was provided by Elliot
% Hendrickson, one of the original designers of the logo.
%
% USE:
% This file defines a new PostScript font, called /DigitalLogo. It consists
% of three characters. (d) is the entire Digital logo, (t) is a small
% trademark symbol, and (T) is a large trademark symbol. The font is designed
% so that the argument to scalefont is the height of the logo. There is no
% extra white space around the logo at all. The trademarks are designed to be
% shown right after the logo, and they align themselves. The only correct
% strings to show with this font are (d), (dt), and (dT). There is an entry
% (named GapWidth) in the font dictionary which gives the unscaled width of
% the gap between the blocks. This distance is given because it is used as a
% unit to determine how much space to leave around the logo.
%
% HISTORY:
% The logo was designed in 1957 by Elliot Hendrickson, who was then working
% as an independent designer. He was contracted by DEC to do a brochure, and
% DEC wanted a logo to accompany it. The logo up to then had been the letters
% DEC in blocks the shape of the plug-in cards that DEC had been producing.
% Elliot re-worked the logo, incorporating letters which were hand-drawn for
% the purpose by Arthur Hover(?). The logo has been maintained since then in
% conventional technology, ie, film masters. There was at least one reworking
% of the logo at some point.
%
% The masters I received had a number of interesting features. The boxes were
% not all the same width, and there seemed to be no logic to which boxes were
% wider. The 'g' was the narrowest, and the 'i' and 'l' were second widest.
% Also, the two 'i's were not exactly the same shape. On ten-inch masters,
% (one box to an 8�x11 sheet), the boxes were not rectangles, but were very
% slightly tapered in wierd ways. I assume that the tapering is the result of
% too many reproductions, but the difference in widths may have been
% deliberate at some time. Elliot reports that when he drew it, all boxes
% were the same width. I have retained the different widths in my version,
% since the experts I had at hand did not seem to think I should make them
% uniform.
%
% Please feel free to use this logo, but keep in mind the following:
%
% 1. This code is for INTERNAL USE ONLY.
% 2. I am not entirely happy with the final shapes of the letters, and am
% hoping to improve them. Please allow for future updates to this code.
% 3. Only use this logo within the guidelines of the Corporate Identity
% program. If you use this font precisely as is, you can't get in much
% trouble. Don't take the shapes and do strange things with them.
% In particular, the Identity states that the logo is a one-color logo: The
% letters are actually holes in the blocks, through which the background can
% be seen. Do not modify this code so that the letters are always white.
%
% Edit history:
%
% 21-Sep-87 nmb Created as a standalone file with demo.
% 6-Nov-87 nmb Converted to font form.
% 9-Nov-87 nmb Removed // uses for compatibility with LW Classics
%
%%BeginFont: DigitalLogo
10 dict begin
/FontInfo 3 dict def
FontInfo begin
/Notice
(The Digital logo is a registered trademark of Digital Equipment Corporation.)
def
/FullName (Digital logo) def
/version (1.1) def
end
/FontType 3 def % This is a user-defined font
/FontMatrix matrix def % Use an identity transform
/FontBBox [ 0 0 3.383 1 ] def % Logo itself is biggest
/GapWidth .070 def % The width of the gap between boxes
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } bind for
Encoding
dup (d) 0 get /DEC-logo put % (d) gives logo
dup (t) 0 get /smalltrademark put % (t) gives small trademark
(T) 0 get /largetrademark put % (T) gives large trademark
/Work 15 dict def % for doing work in font.
/BuildChar {
exch begin % Use the font dictionary
Work begin
Encoding exch get % Look up the character name
load % Pull out the procedure
exec % Run it.
end % Work
end % fontdict
} bind def
Work begin
/.notdef {} def
%
% - `DEC-logo' -
%
% Images a DEC logo with the lower left corner at the current origin, with a
% height of one unit, in the current color.
%
/m /moveto load def
/l /lineto load def
/c /curveto load def
/DEC-logo {
3.383 0 0 0 3.383 1 setcachedevice
{ % D
% d counter
.2930 .3513 m
.2932 .3217 .2587 .2758 .2167 .2757 c
.1719 .2759 .1280 .3165 .1280 .3977 c
.1280 .4801 .1718 .5225 .2153 .5227 c
.2587 .5225 .2932 .4760 .2930 .4407 c
closepath
% d outside
.2953 .5787 m
.2953 .7600 l
.3843 .7600 l
.3843 .1960 l
.2923 .1960 l
.2923 .2220 l
.2848 .2144 .2531 .1813 .1990 .1813 c
.1426 .1812 .0417 .2282 .0417 .3977 c
.0417 .5414 .1171 .6157 .2067 .6157 c
.2399 .6157 .2725 .6039 .2953 .5787 c
closepath
% d box
.432 0.0 m
.432 1.0 l
.000 1.0 l
.000 0.0 l
closepath
} exec
{ % I
% i box
.927 0.0 m
.927 1.0 l
.502 1.0 l
.502 0.0 l
closepath
% i body
.6695 .196 m
.6695 .600 l
.7595 .600 l
.7595 .196 l
closepath
% i dot
.6695 .655 m
.6695 .755 l
.7595 .755 l
.7595 .655 l
closepath
} exec
{ % G
% g counter
1.2813 .4478 m
1.2813 .4837 1.2409 .5208 1.2035 .5208 c
1.1713 .5208 1.1215 .5003 1.1215 .4084 c
1.1215 .3105 1.1827 .2962 1.2030 .2962 c
1.2433 .2962 1.2813 .3239 1.2813 .3667 c
closepath
% g box
0.997 1.0 m
1.415 1.0 l
1.415 0.0 l
0.997 0.0 l
closepath
% g outside
1.2822 .5609 m
1.2729 .5742 1.2424 .6044 1.1988 .6044 c
1.1311 .6043 1.0367 .5652 1.0367 .3955 c
1.0368 .2617 1.1437 .2168 1.1876 .2168 c
1.2350 .2167 1.2702 .2443 1.2798 .2547 c
1.2798 .2126 l
1.2798 .1815 1.2479 .1511 1.1945 .1511 c
1.1485 .1512 1.1437 .1807 1.1437 .1953 c
1.0497 .1953 l
1.0497 .1486 1.0798 .0804 1.1888 .0803 c
1.2864 .0803 1.3186 .1176 1.3325 .1316 c
1.3442 .1434 1.3617 .1758 1.3617 .2017 c
1.3617 .6 l
1.2823 .6 l
closepath
} exec
{ % I
% i box
1.910 0.0 m
1.910 1.0 l
1.485 1.0 l
1.485 0.0 l
closepath
% i body
1.6525 .196 m
1.6525 .6 l
1.7425 .6 l
1.7425 .196 l
closepath
% i dot
1.6525 .655 m
1.6525 .755 l
1.7425 .755 l
1.7425 .655 l
closepath
} exec
{ % T
% t
2.2128 .7525 m
2.1305 .7525 l
2.1305 .6071 l
2.0874 .6071 l
2.0874 .5396 l
2.1305 .5396 l
2.1305 .2852 l
2.1305 .2367 2.1554 .1986 2.2248 .1987 c
2.2573 .1987 2.2560 .1985 2.2842 .2034 c
2.2842 .2874 l
2.2658 .2842 2.2601 .2829 2.2511 .2832 c
2.2338 .2837 2.2128 .2898 2.2128 .3206 c
2.2128 .5395 l
2.2780 .5395 l
2.2780 .6071 l
2.2128 .6071 l
closepath
% t box
2.404 0.0 m
1.980 0.0 l
1.980 1.0 l
2.404 1.0 l
closepath
} exec
{ % A
% a box
2.474 0.0 m
2.474 1.0 l
2.888 1.0 l
2.888 0.0 l
closepath
% a outside
2.5439 .4728 m
2.6210 .4728 l
2.6210 .5138 2.6422 .5353 2.6826 .5353 c
2.7470 .5354 2.7449 .5067 2.7448 .4708 c
2.7050 .4553 2.7087 .4557 2.6480 .4419 c
2.5709 .4241 2.5237 .3911 2.5236 .3112 c
2.5237 .2331 2.5793 .1914 2.6420 .1915 c
2.7048 .1914 2.7178 .2117 2.7438 .2290 c
2.7438 .1978 l
2.8422 .1978 l
2.8190 .2352 2.8251 .2425 2.8249 .2706 c
2.8250 .2926 2.8249 .5080 2.8249 .5080 c
2.8250 .5507 2.8028 .5768 2.7883 .5855 c
2.7521 .6071 2.7074 .6097 2.6826 .6098 c
2.5945 .6096 2.5438 .5653 2.5439 .4728 c
closepath
% a counter
2.7448 .3946 m
2.7448 .3401 l
2.7448 .3152 2.7145 .2670 2.6550 .2669 c
2.6260 .2668 2.6098 .2883 2.6097 .3162 c
2.6098 .3442 2.6335 .3657 2.6536 .3697 c
2.6745 .3739 2.7226 .3862 2.7448 .3946 c
closepath
} exec
{ % L
% l box
3.383 0.0 m
3.383 1.0 l
2.958 1.0 l
2.958 0.0 l
closepath
% l
3.1255 .196 m
3.1255 .765 l
3.2155 .765 l
3.2155 .196 l
closepath
} exec
fill
} bind def
%
% % pct `trademark' --
%
% Borrow the sans-serif trademark symbol from /Symbol. AFM file says:
% C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;
% We scale it down to pct percent of the height of the logo and superscript
% it some, and voila!
%
/trademark {
/s exch .380 div def
/w s .725 mul .070 add def
/u 1 .673 s mul sub def
w 0 0 u w 1 setcachedevice
/Symbol findfont s scalefont setfont
.070 u m % Superscript it
(\344) show
} bind def
%
% These are two different trademarks (just different sizes).
%
/smalltrademark { .15 trademark } def
/largetrademark { .25 trademark } def
end % Work dictionary
currentdict % Get the font dict
end % Close it up
/DigitalLogo exch definefont pop % Define the font.
%%EndFont
% EndDownloadPSFont
/F171 700.0 /DigitalLogo DPSF
% DefineFont:F159 Category:10 PointSize:8
/NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE
/F159 400.0 /NewCenturySchlbk-Roman@DOCPSE DPSF
% DefineFont:F152 Category:10 PointSize:10
/NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE
/F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF
/F121 /amsy8 1500 399 400.0 128 [0 -33 31 25] PXLNF
% DefineFont:F40 Category:10 PointSize:9
/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE
/F40 450.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F32 Category:10 PointSize:11
/F32 550.0 /Helvetica-Bold@DOCPSE DPSF
/DEC$EDMS_SUPPRESS_COLOR true def
/DEC$EDMS_ColorCount 4 def
/DEC$EDMS_Colornames {
(Color-1) (Color-2) (Color-3) (Color-4)
DEC$EDMS_ColorCount array astore } def
/DEC$EDMS_Colorarray {
0 0 0 1 4 array astore %color 0 CMYK array
0 0 0 1 4 array astore %color 1 CMYK array
0 0 0 1 4 array astore %color 2 CMYK array
0 0 0 1 4 array astore %color 3 CMYK array
DEC$EDMS_ColorCount array astore } def
/DVC$PSFonts save def
%%EndSetup
%
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
%%PageCustomColors: (atend)
%%BeginCustomColor: 0
0 SC
1000 BP 39600 30600 PM 0 0 XY
3620 Y 5593 X 14748 24 R 19636 Y 5593 X 24 16020 R 4946 Y 562 x F159
(Noise)S 133 x(Reduction:)S 177 x(Dolby)S
XP /F121 13 423 2 -6 31 22 29 32 0
<001FE000 00FFFC00 03F03F00 07800780 0E0001C0 1C0000E0 38000070
30000030 70000038 60000018 E000001C C000000C C000000C C000000C
C000000C C000000C C000000C C000000C E000001C 60000018 70000038
30000030 38000070 1C0000E0 0E0001C0 07800780 03F03F00 00FFFC00
001FE000>
PXLC RP
10696 4946 XY F121(\015)S 133 x F159(B)S 133 x F121(\015)S 133 x F159
(C)S 133 x F121(\015)S 133 x F159(dBx)S 132 x F121(\015)S 133 x F159
(HX-Pro)S 133 x F121(\015)S 133 x F159(none)S 5909 Y 6179 X(Label)S
132 x(produced)S 133 x(with)S 133 x(V)S -45 x(AX)S 132 x(DOCUMENT)S
615 y 6179 X 13044 24 R 7839 Y 6179 X F171(dt)S 184 x F32(Guitar)S
183 x(Noters)S 182 x(V)S -40 x(olume)S 182 x(2)S 650 y 6179 X
13044 24 R 498 y 6312 X F40(A)S 498 y 573 x F159(Jeff)S 132 x
(Cooper)S 133 x(-)S 132 x(Public)S 132 x(Service)S 498 y 8317 X
(Message)S 498 y 7209 X(Dave)S 115 x(Bottom)S 115 x(-)S 115 x(Don')S
-7 x(t)S 115 x(Forget)S 115 x(T)S -36 x(o)S 498 y 8317 X(Shut)S 134 x
(the)S 133 x(Door)S 498 y 7209 X(Alan)S 132 x(Starr)S -30 x(,)S 133 x
(T)S -37 x(om)S 133 x(Gallo)S 132 x(-)S 132 x(Sarah)S 499 y 8450 X
(Lovely)S 498 y 7209 X(Dave)S 133 x(Russo)S 132 x(-)S 132 x(Hippie')S
-15 x(s)S 132 x(T)S -28 x(une)S 498 y 7209 X(Andy)S 133 x(Leclai)S
-2 x(re,)S 133 x(Pete)S 133 x(Cook)S 134 x(-)S 498 y 8317 X(Bad)S
132 x(Dog)S 498 y 7209 X(Paul)S 132 x(Cummings)S 133 x(-)S 133 x
(Just)S 132 x(For)S 498 y 8317 X(Kicks)S 498 y 7209 X(Dave)S 133 x
(Cla)S -2 x(rk,)S 133 x(Dave)S 133 x(Russo)S 132 x(-)S 498 y 8317 X
(Roumanian)S 133 x(Boogie)S 499 y 7209 X(RJ)S 132 x(Pelletier)S 132 x
(-)S 132 x(Born)S 134 x(T)S -37 x(o)S 133 x(Run)S 498 y 7209 X(Bob)S
106 x(Conroy)S 108 x(-)S 107 x(Somewhere)S 109 x(Over)S 498 y 8317 X
(The)S 133 x(Rainbow)S 498 y 7209 X(Dave)S 133 x(Russo)S 132 x(-)S
132 x(The)S 134 x(Lost)S 498 y 8317 X(Porpoise)S 8987 Y 12965 X F40
(B)S 498 y 572 x F159(Jeff)S 132 x(Cooper)S 133 x(-)S 133 x(T)S -25 x
(ake)S 133 x(A)S 133 x(Chance)S 498 y 13861 X(Paul)S 133 x(Cummings)S
133 x(-)S 132 x(Mr)S -29 x(.)S 177 x(Gone)S 498 y 13861 X(Alan)S
133 x(Starr)S -30 x(,)S 132 x(T)S -37 x(om)S 134 x(Gall)S -2 x(o)S
133 x(-)S 133 x(W)S -30 x(ait)S 498 y 14969 X(For)S 133 x(Y)S -45 x
(ou)S 498 y 13861 X(Andrew)S 89 x(Leclaire)S 88 x(-)S 88 x(Sor)S
89 x(Etude)S 88 x(in)S 499 y 14969 X(C)S 133 x(Major)S 498 y 13861 X
(3)S 133 x(Many)S 133 x(Daves)S 132 x(\(Dave)S 132 x(Clark,)S 498 y
14969 X(Dave)S 133 x(Russo\))S 132 x(-)S 132 x(It')S -14 x(s)S 133 x
(OK)S 498 y 13861 X(RJ)S 132 x(Pelletier)S 132 x(-)S 133 x(Is)S 133 x
(This)S 132 x(Love)S 498 y 13861 X(Jeff)S 132 x(Cooper)S -29 x(,)S
133 x(CJ)S 132 x(-)S 132 x(MIDI)S 134 x(Rack)S 498 y 14969 X(Puke)S
134 x(Rap)S 498 y 13861 X(Bob)S 133 x(Conroy)S 133 x(-)S 133 x(When)S
134 x(Johnny)S 498 y 14969 X(Comes)S 133 x(Marching)S 133 x(Home)S
499 y 13861 X(Paul)S 133 x(Cummings)S 133 x(-)S 132 x(Unkno)S 2 x
(wn)S 498 y 14969 X(Idiots)S 498 y 13861 X(T)S -36 x(om)S 133 x
(Gallo,)S 131 x(Alan)S 133 x(Starr)S 132 x(-)S 132 x(T)S -36 x(ori,)S
498 y 14969 X(Sweet)S 134 x(T)S -37 x(ori)S 498 y 13861 X(Alan)S
133 x(Starr)S 132 x(-)S 132 x(While)S 133 x(My)S 133 x(Guitar)S 498 y
14969 X(Gently)S 133 x(W)S -22 x(eeps)S 498 y 13861 X(Dave)S 100 x
(Bottom)S 100 x(-)S 99 x(Breakdown)S 100 x(and)S 499 y 14969 X(Cry)S
188 y 20317 X 24 16020 R 20 y 5593 X 14748 24 R 39033 Y 21256 X F152
(1)S
%%EndCustomColor 0
PP
EP
%%PageTrailer:
%%PageCustomColors: 0
%%Trailer
EndDVC$PSDoc
%%DocumentFonts: DigitalLogo NewCenturySchlbk-Roman
%%+NewCenturySchlbk-Italic amsy8 Helvetica-Bold
%%Pages 1
%%DocumentCustomColors: 0
|
2298.3 | Guitar Noters Vol. 3 | RAVEN1::JERRYWHITE | Here's a quarter ... | Tue Aug 20 1991 11:01 | 1176 |
| %!PS-Adobe-2.0
%%Creator: VAX DOCUMENT V2.0
%%+Copyright 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION.
%%+All Rights Reserved.
%%DocumentFonts: (atend)
%%Pages: (atend)
%%EndComments
/DEC_DVC$dict where { %FIND DICTIONARY
pop
}{ %else
/DEC_DVC$dict 300 dict def
} ifelse
/BeginDVC$PSDoc { %BEGIN DOCUMENT
vmstatus pop pop 0 eq {
DEC_DVC$dict begin InitializeState
}{ %else
/DVC$PSJob save def DEC_DVC$dict begin InitializeState
/DVC$PSFonts save def
} ifelse
} def
/EndDVC$PSDoc { %END DOCUMENT
% --- Preserving current page count ---
vmstatus pop pop 0 eq {
end
}{ %else
DVC$PSFonts restore end DVC$PSJob restore
} ifelse
} def
%
DEC_DVC$dict begin
%
mark % CREATE ISOLatin1Encoding if not there already
/ISOLatin1Encoding
8#000 1 8#054 {StandardEncoding exch get} for
/minus
8#056 1 8#217 {StandardEncoding exch get} for
/dotlessi
8#301 1 8#317 {StandardEncoding exch get} for
/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
/ISOLatin1Encoding where not {256 array astore def} if
cleartomark
%
/DOCPSE ISOLatin1Encoding 256 array copy def
mark % CREATE DOCPSE ENCODING
8#055 /hyphen
8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /dagger
8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta
8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe
8#215 /Ydieresis
counttomark -1 bitshift % DIVIDE BY 2
{DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK
cleartomark
%
/reencodedict 10 dict def %Local storage for "ReENCODE"
/ReENCODE { % /basefont /newfont encoding ReENCODE
/newencoding exch def %ARG: NAME OF ENCODING VECTOR
/newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING
findfont
/basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED
basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT
basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE
1 index /FID ne {
def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS
} { %else
pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING
} ifelse
} forall
/FontName newfontname def %DEFINE NEW NAME
/Encoding newencoding def %DEFINE NEW ENCODING VECTOR
newfontname currentdict definefont %TURN IT INTO A PS FONT
pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT
end
} def
%
/cvsstr 64 string def
/tempmatrix matrix def
%
/BP { % BEGIN PAGE
/Magnification exch def
/Colorsused 0 def
/processcolor false def
/RVmatrix matrix def
/DVC$PSPage save def
} def
%
/EP {DVC$PSPage restore} def % END PAGE
%
/XP { % EXIT PAGE (TEMPORARILY) TO ADD FONTS/CHARS
% SAVE CURRENT POINT AND COLOR INFORMATION SO IT CAN BE RESET LATER
matrix currentmatrix aload pop currentrgbcolor Colorsused processcolor
/Xpos where {pop Xpos} {0} ifelse
/Ypos where {pop Ypos} {0} ifelse
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
moveto
/Ypos exch def /Xpos exch def
/processcolor exch def /Colorsused exch def setrgbcolor
matrix astore setmatrix
} def
%
/RP {/DVC$PSPage save def} def % RESUME PAGE
%
/PF {GlobalMode LocalMode} def % PURGE FONTS TO RECLAIM MEMORY
%
/GlobalMode { % SWITCH TO BASE SAVE/RESTORE LEVEL, SAVING STATE
/DEC$EDMS_SEPARATE_COLORS where{pop DEC$EDMS_SEPARATE_COLORS}{9999}ifelse
RVmatrix aload pop processcolor
PortraitMode PaperWidth PaperHeight PxlResolution Resolution
Magnification Ymax Xorigin Yorigin RasterScaleFactor
% SAVE CURRENTPOINT INFORMATION TO RESET LATER
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
DVC$PSFonts restore RecoverState
} def
%
/RecoverState { % PRESERVE STATE AT BASE LEVEL
20 copy
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
/processcolor exch def matrix astore /RVmatrix exch def
dup 9999 ne{/DEC$EDMS_SEPARATE_COLORS exch def}{pop}ifelse
DoInitialScaling
RVmatrix concat
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
} def
%
/InitializeState { % INITIALIZE STATE VARIABLES TO DEFAULT VALUES
/Resolution 3600 def /PxlResolution 300 def
/RasterScaleFactor PxlResolution Resolution div def
/PortraitMode true def
/Magnification 1000 def /Xorigin 0 def /Yorigin 0 def
/Xpos 0 def /Ypos 0 def /InitialMatrix matrix currentmatrix def
/Colorsused 0 def /processcolor false def /RVmatrix matrix def
} def
%
/LocalMode { % SWITCH FROM BASE SAVE/RESTORE LEVEL, RESTORING STATE
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
/processcolor exch def matrix astore /RVmatrix exch def
dup 9999 ne{/DEC$EDMS_SEPARATE_COLORS exch def}{pop}ifelse
DoInitialScaling
RVmatrix concat
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
/DVC$PSFonts save def /DVC$PSPage save def
} def
% % ABBREVIATIONS
/S /show load def
/SV /save load def
/RST /restore load def
/Yadjust {Ymax exch sub} def
%
/SXY { % (x,y) POSITION ABSOLUTE, JUST SET Xpos & Ypos, DON'T MOVE
Yadjust /Ypos exch def /Xpos exch def
} def
%
/XY { % (x,y) POSITION ABSOLUTE
Yadjust 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/X { % (x,0) POSITION ABSOLUTE
currentpoint exch pop 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/Y { % (0,y) POSITION ABSOLUTE
currentpoint pop exch Yadjust 2 copy
/Ypos exch def /Xpos exch def moveto
} def
%
/xy { % (x,y) POSITION RELATIVE
neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/x { % (x,0) POSITION RELATIVE
0 rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/y { % (0,y) POSITION RELATIVE
0 exch neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/R { % DRAW A RULE
/ht exch def /wd exch def gsave
% 0 setgray
currentpoint newpath moveto
0 ht rlineto wd 0 rlineto
0 ht neg rlineto wd neg 0 rlineto
closepath fill grestore wd 0 rmoveto
currentpoint /Ypos exch def /Xpos exch def
} def
%
/RES { % <PXL-file resolution(pix/inch)> <resolution(pix/inch)> RES
/Resolution exch def /PxlResolution exch def
/RasterScaleFactor PxlResolution Resolution div def
DoInitialScaling
} def
%
/DoInitialScaling { % DO INITIAL SCALING
InitialMatrix setmatrix 72 Resolution div dup scale
} def
%
/PM { % <paper-height(pix)> <paper-width(pix)> PM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperHeight def /PortraitMode true def
DoInitialScaling
RP
} def
%
/SetupLandscape {translate 90 rotate} def
/LM { % <paper-height(pix)> <paper-width(pix)> LM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperWidth def /PortraitMode false def
DoInitialScaling PaperWidth 0 SetupLandscape
RP
} def
%
/MAG { % CHANGE MAGNIFICATION SETTING
XP /Magnification exch def RP
} def
%
/SPB { % <xoffset><yoffset>SPB - BEGIN "\SPECIAL" MODE
Yadjust /Yorigin exch def /Xorigin exch def
currentrgbcolor Colorsused
GlobalMode Xorigin Yorigin translate
Resolution 72 div dup scale % RESTORE DEFAULT SCALING
Magnification 1000 div dup scale % ADJUST FOR ANY MAGNIFICATION
/Xpos Xpos 72 Resolution div mul 1000 Magnification div mul def
/Ypos Ypos 72 Resolution div mul 1000 Magnification div mul def
/spsavobj save def %SAVE STATE & STACK DEPTH FOR CLEANUP AFTER FIGURE
/showpage {} def %DISABLE DURING FIGURE; `RESTORE' WILL BLOW DEF AWAY
/DEC$EDMS_SEPARATE_COLORS where % if separating colors
{ % then
pop processcolor % if using process colors
{ % then
DEC$EDMS_SEPARATE_COLORS 0 ge % if on color pass .ge. 0
{ % then
{ pop 1 } settransfer % write only white
}{ % else
/DEC$EDMS_TRAP_SWELL where
{ pop DEC$EDMS_SEPARATE_COLORS -4 eq
{ /EDMS_setlinewidth /setlinewidth load def
/setlinewidth { DEC$EDMS_TRAP_SWELL mul EDMS_setlinewidth } def
} if
} if
/EDMS_setrgbcolor % set up for a redefine
/setrgbcolor load def % of the setrgbcolor operator
currentscreen % get the current screen parameters
/DEC$EDMS_SCREEN_ANGLE where % if changing the screen angle
{ % then
pop exch pop % replace the old angle
DEC$EDMS_SCREEN_ANGLE exch % with the new one
} if
/DEC$EDMS_SCREEN_FREQ where % if changing the screen frequency
{ % then
pop 3 -1 roll pop % replace the old frequency
DEC$EDMS_SCREEN_FREQ 3 1 roll % with the new one
} if
setscreen % Set the new parameters
/setrgbcolor {
/b exch def
/g exch def
/r exch def
/c3 1 r sub def
/m3 1 g sub def
/y3 1 b sub def
/k c3 m3 2 copy gt { exch } if pop y3 2 copy gt { exch } if pop def
/ik 1 k sub def
ik 0 ne
{ /c4 c3 k sub ik div def
/m4 m3 k sub ik div def
/y4 y3 k sub ik div def
}
{ /c4 /DEC$EDMS_BLACK_GEN where
{ pop DEC$EDMS_BLACK_GEN } { 0 } ifelse def
/m4 c4 def
/y4 c4 def
} ifelse
1 [ c4 m4 y4 k ] % pick the separation for this color
DEC$EDMS_SEPARATE_COLORS % pass ( -1 = Cyan, -2 = Magenta,
neg 1 sub get sub setgray % -3 = Yellow, -4 = Black )
} def
} ifelse % endif
}{ % else (if not using process colors)
DEC$EDMS_SEPARATE_COLORS 0 ne % if not on color pass 0
{ % then
{ pop 1 } settransfer % write only white
} if % endif
} ifelse % endif
} if % endif
mark
} def
%
/SPE { % SPE - END "\SPECIAL" MODE
cleartomark
spsavobj restore
1000 Magnification div dup scale % UN-ADJUST FOR ANY MAGNIFICATION
72 Resolution div dup scale % RESTORE DEFAULT INTERNAL SCALING
LocalMode
/Colorsused exch def setrgbcolor
} def
%
/PP
%
% If DEC$EDMS_MAKE_FILM is defined, it will add the crop & alignment marks,
% and the document name, page number, & ink color identifiers to the page.
%
% Formal Arguments: None
%
% Referenced Variables: DocumentName
% Colorsused
% Currentpagecount
% DEC$EDMS_MAKE_FILM
%
% Referenced Procedures: AlignMark
%
% Side Effects: Leaves the current font as Helvetica 8 point.
% Creates the variable "junkstr".
%
{ /PageNumber exch def
/DEC$EDMS_MAKE_FILM where % if making film...
{ pop
/DEC$EDMS_SUPPRESS_COLOR where % if color suppression is on
{ pop /DEC$EDMS_SEPARATE_COLORS 0 def % then default to color 0
/Colorsused 1 def } if % ...for everything
2 DEC$EDMS_SEPARATE_COLORS exp cvi Colorsused and 0 ne %if correct separatn
DEC$EDMS_SEPARATE_COLORS 0 lt or % ...or if a process color
{ /Helvetica findfont 400 scalefont setfont
20 setlinewidth 0 setgray
gsave
PaperWidth 1000 add 200 translate 90 rotate 0 0 moveto
(Ink: ) show % show the ink color
DEC$EDMS_SEPARATE_COLORS 0 ge
{ DEC$EDMS_COLOR_NAMES DEC$EDMS_SEPARATE_COLORS get }
{ (Process ) show [ (Cyan) (Magenta) (Yellow) (Black) ]
DEC$EDMS_SEPARATE_COLORS neg 1 sub get } ifelse show
/DEC$EDMS_SUPPRESS_COLOR where % if color suppression is on
{ pop ( (Color Suppression enabled)) show } if % tell them about it
1800 0 rmoveto
(Page: ) show % show the page number
/junkstr 4 string def PageNumber junkstr cvs show
( of ) show DEC$EDMS_TOTAL_PAGES junkstr cvs show
DEC$EDMS_SEPARATE_COLORS -4 eq
{ 1800 0 rmoveto (Trap Swell Factor: )show
/DEC$EDMS_TRAP_SWELL where % if trap swell factor is supplied
{ pop DEC$EDMS_TRAP_SWELL 6 string cvs }
{ (1 (default)) } ifelse show
} if
DEC$EDMS_SEPARATE_COLORS 0 lt % if a process color
{
PaperHeight 2 div 600 add 0 moveto (Screen Angle: ) show
/DEC$EDMS_SCREEN_ANGLE where
{ pop DEC$EDMS_SCREEN_ANGLE junkstr cvs } % if defined
{ ((default)) } ifelse show % if not defined
1800 0 rmoveto (Screen Frequency: ) show
/DEC$EDMS_SCREEN_FREQ where
{ pop DEC$EDMS_SCREEN_FREQ junkstr cvs } % if defined
{ ((default)) } ifelse show % if not defined
} if
grestore
gsave
-600 200 translate 90 rotate 0 0 moveto
(Document: ) show DEC$EDMS_DOCUMENT_ID show % show document name
PaperHeight 2 div 600 add 0 moveto
(This film is the property of Digital Equipment Corporation) show
grestore
/mask 15 % all crop marks on by default
/DEC$EDMS_SUPPRESS_CROPMARKS where % if def'd, xor in suppression mask
{ pop DEC$EDMS_SUPPRESS_CROPMARKS xor } if def
mask 1 and 1 eq
{ PaperWidth PaperHeight moveto % Upper Right
450 0 rmoveto 900 0 rlineto -1350 1350 rmoveto 0 -900 rlineto } if
mask 2 and 2 eq
{ PaperWidth 0 moveto % Lower Right
450 0 rmoveto 900 0 rlineto -1350 -1350 rmoveto 0 900 rlineto } if
mask 4 and 4 eq
{ 0 0 moveto % Lower Left
-450 0 rmoveto -900 0 rlineto 1350 -1350 rmoveto 0 900 rlineto } if
mask 8 and 8 eq
{ 0 PaperHeight moveto % Upper Left
-450 0 rmoveto -900 0 rlineto 1350 1350 rmoveto 0 -900 rlineto } if
stroke
/mask 15 % all registratn marks on by default
/DEC$EDMS_SUPPRESS_REGMARKS where % if defined, xor in suppression mask
{ pop DEC$EDMS_SUPPRESS_REGMARKS xor } if def
mask 1 and 1 eq % Top Center
{ gsave PaperWidth 2 div PaperHeight 900 add
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
translate AlignMark grestore } if
mask 2 and 2 eq % Right Center
{ gsave PaperWidth 900 add
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
PaperHeight 2 div translate AlignMark grestore } if
mask 4 and 4 eq % Bottom Center
{ gsave PaperWidth 2 div -900
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
translate AlignMark grestore } if
mask 8 and 8 eq % Left Center
{ gsave -900
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
PaperHeight 2 div translate AlignMark grestore } if
showpage
}
{ % disabled the 'erasepage ' that was here!
} ifelse
}
{ showpage } ifelse
} def
/CLRP { % disabled the 'erasepage' that was here!
} def
%
/DMF { % /font-name <point-size(pix)> DMF
/psz exch def /nam exch def nam findfont psz scalefont setfont
} def
%
/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx
/xxx exch def /nam exch def
/namstr nam cvsstr cvs def
/newnam namstr length xxx length add string def
newnam 0 namstr putinterval
newnam namstr length xxx putinterval
newnam cvn
} def
%
/strip { % /abcdef 2 strip ==> /cdef
/num exch def /nam exch def
/namstr nam cvsstr cvs def
/newlen namstr length num sub def
namstr num newlen getinterval cvn
} def
% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS
/PackHW { % <target> <pos> <num> PackHW --> <new target>
/num exch def /pos exch def /target exch def
num 16#0000FFFF and 1 pos sub 16 mul bitshift target or
} def
/PackByte { % <target> <pos> <num> PackByte --> <new target>
/num exch def /pos exch def /target exch def
num 16#000000FF and 3 pos sub 8 mul bitshift target or
} def
/UnpkHW { % <pos> <num> UnpkHW --> <unpacked value>
/num exch def /pos exch def
num 1 pos sub -16 mul bitshift 16#0000FFFF and
dup 16#00007FFF gt {16#00010000 sub} if
} def
/UnpkByte { % <pos> <num> UnpkByte --> <unpacked value>
/num exch def /pos exch def
num 3 pos sub -8 mul bitshift 16#000000FF and
dup 16#0000007F gt {16#00000100 sub} if
} def
%
/ps-scalefont {
% FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDER
% EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S
% A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE
% VERTICAL SCALING.
% save requested size - as entered and as integer
dup /x-size exch def cvi /x-int exch def
% calc decimal remainder, mul x 1000, round
x-size x-int sub 1000 mul round cvi /remainder exch def
% see how we scale...
remainder 50 lt remainder 450 gt or {
% scale isomorphically
/ystretch 0 def
x-size scalefont
} {
% scale anamorphically
/ystretch remainder def
x-int ystretch add /y-size exch def
[x-int 0 0 y-size 0 0] makefont
} ifelse
} def
%
/DPSF { % /procname size /fontname DPSF
findfont exch ps-scalefont [ exch /setfont cvx ] cvx def
} def
%
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div} def
/TransformBBox {
aload pop
/BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def
[ BB-llx RasterConvert BB-lly RasterConvert
BB-urx RasterConvert BB-ury RasterConvert ]
} def
/RunLengthToRasters {
% none yet
} def
/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK"
rasters runlength 1 eq {RunLengthToRasters} if
} def
%
/int-dict-name {int (-dict) concatnam} def
/int-dict {int (-dict) concatnam cvx load} def
%
/DefinePXLFont {
% <int-font-name><ext-font-name><pt-sz(pix)><PXL mag><num-chars>...
% ...[llx lly urx ury]<newfont-fg>DefinePXLFont
/newfont exch def /bb exch def /num exch def /psz exch def
/dsz exch def /pxlmag exch def /ext exch def /int exch def
/fnam ext (-) concatnam pxlmag cvsstr cvs concatnam def
newfont not {
int-dict-name 13 dict def
int-dict begin
/FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] def
/FontBBox bb TransformBBox def /Encoding CMEncodingArray def
/CharDict 1 dict def CharDict begin /Char-Info num array def end
/BuildChar {
PXLBuildCharDict begin
/char exch def /fontdict exch def
fontdict /CharDict get /Char-Info get char get aload pop
/rasters exch def /PackedWord1 exch def
0 PackedWord1 UnpkHW 16#7FFF ne {
/PackedWord2 exch def /wx 0 PackedWord1 UnpkHW def
/rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def
/llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def
/urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def
}{ %else
/PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def
/wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def
/cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def
/lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def
/ury 1 PackedWord4 UnpkHW def
} ifelse
rows 0 lt {
/rows rows neg def /runlength 1 def
}{ %else
/runlength 0 def
} ifelse
wx 0
llx RasterConvert lly RasterConvert
urx RasterConvert ury RasterConvert setcachedevice
rows 0 ne {
gsave
cols rows true RasterScaleFactor
0 0 RasterScaleFactor neg llx .5 add neg ury .5 add
tempmatrix astore GenerateRasters imagemask
grestore
} if
end
} def
end
fnam int-dict definefont pop
} if
int-dict-name fnam findfont psz scalefont def
currentdict int [ int-dict /setfont cvx ] cvx put
} def
/PXLF { true DefinePXLFont} def % SIGNAL THAT FONT ALREADY LOADED
/PXLNF {false DefinePXLFont} def % SIGNAL THAT FONT NOT ALREADY LOADED
%
/PXLC { % <int-font-name><code><wx><llx><lly><urx><ury>...
% ...<rows><cols><runlength><rasters>PXLC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/wx exch def /code exch def /int exch def
% SEE IF LONG OR SHORT FORMAT IS REQUIRED
true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ
TackRunLengthToRows {
int-dict /CharDict get /Char-Info get code
[ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte
0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] put
}{ %else
int-dict /CharDict get /Char-Info get code
[ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW
0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put
} ifelse
} def
%
/CKSZ {abs 127 le and} def
/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} def
%
/PLOTC {
% <wx><dsz><psz><llx><lly><urx><ury><rows><cols><runlength><rasters>PLOTC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/psz exch def /dsz exch def /wx exch def
% "PLOT" A CHARACTER'S RASTER PATTERN
rows 0 ne {
gsave
currentpoint translate psz dsz div dup scale
cols rows true RasterScaleFactor 0 0 RasterScaleFactor
neg llx .5 add neg ury .5 add tempmatrix astore
GenerateRasters imagemask
grestore
} if
wx x
} def
%
/AlignMark
%
% This procedure draws an alignment mark centered on the coordinate system
% origin. If the variable DEC$EDMS_SEPARATE_COLORS = 0 then a "positive"
% alignment mark is drawn. If DEC$EDMS_SEPARATE_COLORS <> 0 then a "negative"
% alignment mark is drawn.
%
% Formal Arguments: NONE
%
% Referenced Variables: DEC$EDMS_SEPARATE_COLORS
%
% Referenced Procedures: NONE
%
% Side Effects: NONE
%
{ DEC$EDMS_SEPARATE_COLORS 0 eq
{ 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke }
{ 0 0 450 0 360 arc fill 1 setgray 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke 0 setgray }
ifelse
} def
/SC
% If not making film, the following procedure sets the current color using the
% RGB color model. If making film, the procedure notes the "color pass" and,
% if the specified color index matches the color pass, subsequent marks are
% written in black. If the specified color index does not match the color pass,
% marks are written in white. Use of colors on individual pages is also tracked
% to allow pages that don't use a particular color to be suppressed on that
% color pass (by the code in the /PP routine).
%
% Formal Arguments: color index (on stack)
%
% Referenced Variables: Colorsused
% DEC$EDMS_SEPARATE_COLORS
% DEC$EDMS_SUPPRESS_COLOR
%
% Referenced Procedures: NONE
%
% Side Effects: Modifies the variable Colorsused to record use of the color.
% Tracks use of color in the variables 'ci' and 'processcolor'.
%
{ /ci exch def ci 0 lt % if the color index is lt 0
{ /processcolor true def } % then set 'processcolor' to 'true'.
{ ci /processcolor false def % else set 'processcolor' to 'false'.
/DEC$EDMS_SUPPRESS_COLOR where % if suppressing color
{ pop 0 setgray pop } % then set "color" to Black
{ /DEC$EDMS_SEPARATE_COLORS where % else if separating colors
{ pop dup DEC$EDMS_SEPARATE_COLORS eq % then if on this color pass
{ 0 setgray /Colorsused Colorsused % then write black (do write)
2 3 index exp cvi or def } % ..and note use of the "color"
{ 1 setgray } ifelse pop } % else write white (don't write)
{ dup ( ) cvs dup length 15 add string % else if using the color index,
/tstr exch def % ..build up the name of the
tstr 0 (DEC$EDMS_COLOR_) putinterval % ..potential external color
tstr exch 15 exch putinterval % ..name procedure
tstr cvn where % ..and see if it is defined
{ pop pop tstr cvn cvx exec } % execute it if it is
{ DEC$EDMS_COLOR_ARRAY exch get exec % else exec internal color proc
} ifelse
} ifelse
} ifelse
} ifelse
} def
/RV % .. gross recto/verso translate
{ /DEC$EDMS_ENABLE_RECTOVERSO where
{ pop
/RVmatrix DEC$EDMS_ENABLE_RECTOVERSO 50 mul 0 matrix translate def
RVmatrix concat
} if
} def
%
% Procedures for implementing the "rotate <theta>" special:
% <theta> ROTB -
% - ROTE -
/ROTB {
XP
gsave
Xpos Ypos translate
rotate % using <theta> from the stack
Xpos neg Ypos neg translate
RP
} def
/ROTE {XP grestore RP} def
end %DEC_DVC$dict
%%EndProlog
%%BeginSetup
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
54 dup translate % ..make room for the film info
} if
BeginDVC$PSDoc
/PaperWidth 8.500 Resolution mul def
/PaperHeight 11.000 Resolution mul def
/Ymax PaperHeight def
CLRP 300 3600 RES
%> Postamble of file HAVASU$DKA100:[HEISER.MISC]GUITAR_V3.DVI_PS.
% DefineFont:F206 Category:15 Pointsize:14
% DownloadPSFont
%!PS-Adobe-2.0
%%Title: PostScript Digital Logo Font, v1.1
%%Creator: Ned Batchelder
%%CreationDate: 9-Nov-87
%%DocumentFonts: Symbol
%%DocumentSuppliedFonts: DigitalLogo
%%EndComments
%
% DIGITAL INTERNAL USE ONLY
%
% INTRODUCTION:
% This rendition of the Digital logo was prepared by Ned Batchelder using
% Adobe Illustrator and hand manipulation of the resulting PostScript code.
% Photographic masters of the logo were obtained from David Comberg in the
% Graphic Design Group. Additional consultation was provided by Elliot
% Hendrickson, one of the original designers of the logo.
%
% USE:
% This file defines a new PostScript font, called /DigitalLogo. It consists
% of three characters. (d) is the entire Digital logo, (t) is a small
% trademark symbol, and (T) is a large trademark symbol. The font is designed
% so that the argument to scalefont is the height of the logo. There is no
% extra white space around the logo at all. The trademarks are designed to be
% shown right after the logo, and they align themselves. The only correct
% strings to show with this font are (d), (dt), and (dT). There is an entry
% (named GapWidth) in the font dictionary which gives the unscaled width of
% the gap between the blocks. This distance is given because it is used as a
% unit to determine how much space to leave around the logo.
%
% HISTORY:
% The logo was designed in 1957 by Elliot Hendrickson, who was then working
% as an independent designer. He was contracted by DEC to do a brochure, and
% DEC wanted a logo to accompany it. The logo up to then had been the letters
% DEC in blocks the shape of the plug-in cards that DEC had been producing.
% Elliot re-worked the logo, incorporating letters which were hand-drawn for
% the purpose by Arthur Hover(?). The logo has been maintained since then in
% conventional technology, ie, film masters. There was at least one reworking
% of the logo at some point.
%
% The masters I received had a number of interesting features. The boxes were
% not all the same width, and there seemed to be no logic to which boxes were
% wider. The 'g' was the narrowest, and the 'i' and 'l' were second widest.
% Also, the two 'i's were not exactly the same shape. On ten-inch masters,
% (one box to an 8�x11 sheet), the boxes were not rectangles, but were very
% slightly tapered in wierd ways. I assume that the tapering is the result of
% too many reproductions, but the difference in widths may have been
% deliberate at some time. Elliot reports that when he drew it, all boxes
% were the same width. I have retained the different widths in my version,
% since the experts I had at hand did not seem to think I should make them
% uniform.
%
% Please feel free to use this logo, but keep in mind the following:
%
% 1. This code is for INTERNAL USE ONLY.
% 2. I am not entirely happy with the final shapes of the letters, and am
% hoping to improve them. Please allow for future updates to this code.
% 3. Only use this logo within the guidelines of the Corporate Identity
% program. If you use this font precisely as is, you can't get in much
% trouble. Don't take the shapes and do strange things with them.
% In particular, the Identity states that the logo is a one-color logo: The
% letters are actually holes in the blocks, through which the background can
% be seen. Do not modify this code so that the letters are always white.
%
% Edit history:
%
% 21-Sep-87 nmb Created as a standalone file with demo.
% 6-Nov-87 nmb Converted to font form.
% 9-Nov-87 nmb Removed // uses for compatibility with LW Classics
%
%%BeginFont: DigitalLogo
10 dict begin
/FontInfo 3 dict def
FontInfo begin
/Notice
(The Digital logo is a registered trademark of Digital Equipment Corporation.)
def
/FullName (Digital logo) def
/version (1.1) def
end
/FontType 3 def % This is a user-defined font
/FontMatrix matrix def % Use an identity transform
/FontBBox [ 0 0 3.383 1 ] def % Logo itself is biggest
/GapWidth .070 def % The width of the gap between boxes
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } bind for
Encoding
dup (d) 0 get /DEC-logo put % (d) gives logo
dup (t) 0 get /smalltrademark put % (t) gives small trademark
(T) 0 get /largetrademark put % (T) gives large trademark
/Work 15 dict def % for doing work in font.
/BuildChar {
exch begin % Use the font dictionary
Work begin
Encoding exch get % Look up the character name
load % Pull out the procedure
exec % Run it.
end % Work
end % fontdict
} bind def
Work begin
/.notdef {} def
%
% - `DEC-logo' -
%
% Images a DEC logo with the lower left corner at the current origin, with a
% height of one unit, in the current color.
%
/m /moveto load def
/l /lineto load def
/c /curveto load def
/DEC-logo {
3.383 0 0 0 3.383 1 setcachedevice
{ % D
% d counter
.2930 .3513 m
.2932 .3217 .2587 .2758 .2167 .2757 c
.1719 .2759 .1280 .3165 .1280 .3977 c
.1280 .4801 .1718 .5225 .2153 .5227 c
.2587 .5225 .2932 .4760 .2930 .4407 c
closepath
% d outside
.2953 .5787 m
.2953 .7600 l
.3843 .7600 l
.3843 .1960 l
.2923 .1960 l
.2923 .2220 l
.2848 .2144 .2531 .1813 .1990 .1813 c
.1426 .1812 .0417 .2282 .0417 .3977 c
.0417 .5414 .1171 .6157 .2067 .6157 c
.2399 .6157 .2725 .6039 .2953 .5787 c
closepath
% d box
.432 0.0 m
.432 1.0 l
.000 1.0 l
.000 0.0 l
closepath
} exec
{ % I
% i box
.927 0.0 m
.927 1.0 l
.502 1.0 l
.502 0.0 l
closepath
% i body
.6695 .196 m
.6695 .600 l
.7595 .600 l
.7595 .196 l
closepath
% i dot
.6695 .655 m
.6695 .755 l
.7595 .755 l
.7595 .655 l
closepath
} exec
{ % G
% g counter
1.2813 .4478 m
1.2813 .4837 1.2409 .5208 1.2035 .5208 c
1.1713 .5208 1.1215 .5003 1.1215 .4084 c
1.1215 .3105 1.1827 .2962 1.2030 .2962 c
1.2433 .2962 1.2813 .3239 1.2813 .3667 c
closepath
% g box
0.997 1.0 m
1.415 1.0 l
1.415 0.0 l
0.997 0.0 l
closepath
% g outside
1.2822 .5609 m
1.2729 .5742 1.2424 .6044 1.1988 .6044 c
1.1311 .6043 1.0367 .5652 1.0367 .3955 c
1.0368 .2617 1.1437 .2168 1.1876 .2168 c
1.2350 .2167 1.2702 .2443 1.2798 .2547 c
1.2798 .2126 l
1.2798 .1815 1.2479 .1511 1.1945 .1511 c
1.1485 .1512 1.1437 .1807 1.1437 .1953 c
1.0497 .1953 l
1.0497 .1486 1.0798 .0804 1.1888 .0803 c
1.2864 .0803 1.3186 .1176 1.3325 .1316 c
1.3442 .1434 1.3617 .1758 1.3617 .2017 c
1.3617 .6 l
1.2823 .6 l
closepath
} exec
{ % I
% i box
1.910 0.0 m
1.910 1.0 l
1.485 1.0 l
1.485 0.0 l
closepath
% i body
1.6525 .196 m
1.6525 .6 l
1.7425 .6 l
1.7425 .196 l
closepath
% i dot
1.6525 .655 m
1.6525 .755 l
1.7425 .755 l
1.7425 .655 l
closepath
} exec
{ % T
% t
2.2128 .7525 m
2.1305 .7525 l
2.1305 .6071 l
2.0874 .6071 l
2.0874 .5396 l
2.1305 .5396 l
2.1305 .2852 l
2.1305 .2367 2.1554 .1986 2.2248 .1987 c
2.2573 .1987 2.2560 .1985 2.2842 .2034 c
2.2842 .2874 l
2.2658 .2842 2.2601 .2829 2.2511 .2832 c
2.2338 .2837 2.2128 .2898 2.2128 .3206 c
2.2128 .5395 l
2.2780 .5395 l
2.2780 .6071 l
2.2128 .6071 l
closepath
% t box
2.404 0.0 m
1.980 0.0 l
1.980 1.0 l
2.404 1.0 l
closepath
} exec
{ % A
% a box
2.474 0.0 m
2.474 1.0 l
2.888 1.0 l
2.888 0.0 l
closepath
% a outside
2.5439 .4728 m
2.6210 .4728 l
2.6210 .5138 2.6422 .5353 2.6826 .5353 c
2.7470 .5354 2.7449 .5067 2.7448 .4708 c
2.7050 .4553 2.7087 .4557 2.6480 .4419 c
2.5709 .4241 2.5237 .3911 2.5236 .3112 c
2.5237 .2331 2.5793 .1914 2.6420 .1915 c
2.7048 .1914 2.7178 .2117 2.7438 .2290 c
2.7438 .1978 l
2.8422 .1978 l
2.8190 .2352 2.8251 .2425 2.8249 .2706 c
2.8250 .2926 2.8249 .5080 2.8249 .5080 c
2.8250 .5507 2.8028 .5768 2.7883 .5855 c
2.7521 .6071 2.7074 .6097 2.6826 .6098 c
2.5945 .6096 2.5438 .5653 2.5439 .4728 c
closepath
% a counter
2.7448 .3946 m
2.7448 .3401 l
2.7448 .3152 2.7145 .2670 2.6550 .2669 c
2.6260 .2668 2.6098 .2883 2.6097 .3162 c
2.6098 .3442 2.6335 .3657 2.6536 .3697 c
2.6745 .3739 2.7226 .3862 2.7448 .3946 c
closepath
} exec
{ % L
% l box
3.383 0.0 m
3.383 1.0 l
2.958 1.0 l
2.958 0.0 l
closepath
% l
3.1255 .196 m
3.1255 .765 l
3.2155 .765 l
3.2155 .196 l
closepath
} exec
fill
} bind def
%
% % pct `trademark' --
%
% Borrow the sans-serif trademark symbol from /Symbol. AFM file says:
% C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;
% We scale it down to pct percent of the height of the logo and superscript
% it some, and voila!
%
/trademark {
/s exch .380 div def
/w s .725 mul .070 add def
/u 1 .673 s mul sub def
w 0 0 u w 1 setcachedevice
/Symbol findfont s scalefont setfont
.070 u m % Superscript it
(\344) show
} bind def
%
% These are two different trademarks (just different sizes).
%
/smalltrademark { .15 trademark } def
/largetrademark { .25 trademark } def
end % Work dictionary
currentdict % Get the font dict
end % Close it up
/DigitalLogo exch definefont pop % Define the font.
%%EndFont
% EndDownloadPSFont
/F206 700.0 /DigitalLogo DPSF
% DefineFont:F159 Category:10 Pointsize:8
/NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE
/F159 400.0 /NewCenturySchlbk-Roman@DOCPSE DPSF
% DefineFont:F152 Category:10 Pointsize:10
/NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE
/F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF
% DefineFont:F121 Category:100 Pointsize:8
/F121 /amsy8 1500 399 398.506 128 [0 -33 31 25] PXLNF
% DefineFont:F40 Category:10 Pointsize:9
/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE
/F40 450.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F32 Category:10 Pointsize:11
/F32 550.0 /Helvetica-Bold@DOCPSE DPSF
%%BeginDEC$EDMSInfo
/DEC$EDMS_DOCUMENT_ID () def
/DEC$EDMS_COLOR_NAMES [ (0_BLACK) ] def
/DEC$EDMS_COLOR_ARRAY [
%%RGBCustomColor 0.000 0.000 0.000 0_BLACK
{ 0.000 0.000 0.000 setrgbcolor } % 0_BLACK DOC$COLOR_INIT
] def
/DEC$EDMS_TOTAL_PAGES 0 def
%%EndDEC$EDMSInfo
/DEC$EDMS_MAKE_FILM where
{ pop /DEC$EDMS_SEPARATE_COLORS where
{ pop }
{ (ERROR - DEC$EDMS_MAKE_FILM requires DEC$EDMS_SEPARATE_COLORS be defined) = quit } ifelse
} if
/DEC$EDMS_SEPARATE_COLORS where
{ pop /DEC$EDMS_SUPPRESS_COLOR where
{ pop (ERROR - DEC$EDMS_SEPARATE_COLORS and DEC$EDMS_SUPPRESS_COLOR are mutually exclusive) = quit } if
} if
/DVC$PSFonts save def
%%EndSetup
%
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY
%%BeginCustomColor: 0_BLACK
0 SC 5593 3620 XY 14748 24 R 5593 19636 XY 24 16020 R 6179 4946 XY F159
(Noise)S 133 x(Reduction:)S 177 x(Dolby)S
XP /F121 13 424 2 -6 31 22 29 32 0
<001FE000 00FFFC00 03F03F00 07800780 0E0001C0 1C0000E0 38000070 30000030
70000038 60000018 E000001C C000000C C000000C C000000C C000000C C000000C
C000000C C000000C E000001C 60000018 70000038 30000030 38000070 1C0000E0
0E0001C0 07800780 03F03F00 00FFFC00 001FE000>
PXLC RP
10696 4946 XY F121(\015)S 133 x F159(B)S 133 x F121(\015)S 133 x F159
(C)S 133 x F121(\015)S 133 x F159(dBx)S 132 x F121(\015)S 133 x F159
(HX-Pro)S 133 x F121(\015)S 133 x F159(none)S 6179 5909 XY(Label)S 132 x
(produced)S 133 x(with)S 133 x(V)S -45 x(AX)S 132 x(DOCUMENT)S 6179 X
615 y 13044 24 R 6179 7839 XY F206(dt)S 184 x F32(Guitar)S 183 x(Noters)S
182 x(V)S -40 x(olume)S 182 x(3)S 6179 X 650 y 13044 24 R 6312 8987 XY
F40(A)S 573 x 498 y F159(T)S -37 x(om)S 133 x(Benson)S 134 x(-)S 132 x
(Boingers)S 7209 X 498 y(Bill)S 131 x(Buckley)S 133 x(-)S 133 x(Stay)S
132 x(W)S -15 x(ith)S 133 x(Me)S 8317 X 498 y(T)S -37 x(onight)S 7209 X
498 y(Rick)S 132 x(R)S -7 x(yen)S 133 x(-)S 133 x(Fire)S 7209 X 498 y
(Brian)S 132 x(Rost)S 132 x(-)S 133 x(Roadhouse)S 7209 X 499 y(Jerry)S
132 x(White)S 133 x(-)S 133 x(T)S -37 x(onight')S -14 x(s)S 133 x(The)S
8317 X 498 y(Night)S 7209 X 498 y(Three)S 133 x(Many)S 133 x(Daves)S
133 x(-)S 132 x(Where')S -13 x(s)S 7874 X 498 y(The)S 133 x(Line)S 133 x
(Drawn)S 7209 X 498 y(Bill)S 89 x(Buckley)S 91 x(-)S 91 x(Hop,)S 99 x
(Skip,)S 99 x(Jump)S 7209 X 498 y(Dave)S 133 x(Cla)S -2 x(rk)S 133 x
(-)S 133 x(Red)S 133 x(Meat)S 132 x(n')S 8317 X 498 y(Coffee)S 7209 X
498 y(T)S -37 x(om)S 133 x(Benson)S 134 x(-)S 132 x(Ornithology)S 7209 X
499 y(Jerry)S 116 x(White)S 116 x(-)S 116 x(Rocky)S 117 x(Mountain)S
8317 X 498 y(W)S -30 x(ay)S 7209 X 498 y(Andrew)S 89 x(LeCla)S -2 x
(ire)S 89 x(-)S 88 x(Sonata)S 88 x(L.483)S 7209 X 498 y(Andrew)S 89 x
(LeCla)S -2 x(ire)S 89 x(-)S 88 x(Prelude)S 89 x(BWV)S 8317 X 498 y
(998)S 7209 X 498 y(Andrew)S 133 x(LeClai)S -2 x(re)S 133 x(-)S 133 x
(Spring)S 7209 X 498 y(Rick)S 132 x(R)S -7 x(yen)S 133 x(-)S 133 x(Manic)S
132 x(Depression)S 133 x 8987 Y F40(B)S 572 x 498 y F159(T)S -36 x(om)S
133 x(Benson)S 133 x(-)S 133 x(Curious)S 133 x(Goods)S 13861 X 498 y
(Daryl)S 88 x(Gleason/Dave)S 88 x(Blicks)S -2 x(tein)S 14969 X 498 y
(-)S 133 x(Low)S 133 x(Cal)S -2 x(orie)S 133 x(Blues)S 13861 X 498 y
(Rick)S 133 x(R)S -8 x(yen)S 134 x(-)S 132 x(The)S 134 x(Lemon)S 134 x
(Song)S 13861 X 498 y(Jerry)S 133 x(White)S 133 x(-)S 132 x(Radar)S
132 x(Love)S 13861 X 499 y(Dave)S 133 x(Russo)S 132 x(-)S 133 x(Freight)S
133 x(T)S -25 x(rain/)S 14526 X 498 y(Babe)S 132 x(It)S 133 x(Ain')S
-7 x(t)S 133 x(No)S 133 x(Lie)S 13861 X 498 y(Bill)S 117 x(Buckley)S
118 x(-)S 118 x(Shadows)S 117 x(In)S 119 x(The)S 14969 X 498 y(Night)S
13861 X 498 y(Daryl)S 88 x(Gleason/Dave)S 88 x(Blicks)S -2 x(tein)S
14969 X 498 y(-)S 133 x(I'll)S 132 x(Love)S 133 x(Y)S -44 x(ou)S 133 x
(Forever)S 13861 X 498 y(Kevin)S 89 x(McDonou)S 2 x(gh)S 89 x(-)S 88 x
(La)S 88 x(Grange)S 13861 X 498 y(Three)S 134 x(Many)S 133 x(Daves)S
132 x(-)S 133 x(Going)S 133 x(T)S -37 x(o)S 14969 X 499 y(Calif)S -2 x
(ornia)S 13861 X 498 y(Jerry)S 133 x(White)S 133 x(-)S 132 x(Evil)S
132 x(Angel)S 13861 X 498 y(Jerry)S 133 x(White)S 133 x(-)S 132 x(TFSO)S
133 x(Blues)S 20317 19636 XY 24 16020 R 5593 X 20 y 14748 24 R 21256 39033 XY
F152(1)S
%%EndCustomColor
1 PP EP
%%PageTrailer
%%PageFonts: NewCenturySchlbk-Roman
%%+ amsy8 DigitalLogo Helvetica-Bold NewCenturySchlbk-Italic
%%PageCustomColors: 0_BLACK
%
%%Trailer
EndDVC$PSDoc
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
-54 dup translate % ..undo the film translation
} if
%%Pages: 1
%%DocumentFonts: DigitalLogo NewCenturySchlbk-Roman
%%+ NewCenturySchlbk-Italic amsy8 Helvetica-Bold
%%DocumentCustomColors: 0_BLACK
|
2298.10 | PS and sources | FRETZ::HEISER | haveno shalom alechem | Thu Apr 16 1992 11:00 | 7 |
| > Okay here's the network location. The mods can cleanup if they wish.
>
> HAVASU::DKA100:[HEISER.GUITAR]guitar_v%.ps {.sdml}
The node name has changed:
FRETZ::USER1:[HEISER.GUITAR]guitar_v%.ps {.sdml}
|
2298.4 | GN V4 Liner Notes | CAVLRY::BUCK | Is this supposed to be a chance? | Tue Nov 03 1992 09:45 | 1175 |
| %!PS-Adobe-2.0
%%Creator: VAX DOCUMENT V2.0
%%+Copyright 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION.
%%+All Rights Reserved.
%%DocumentFonts: (atend)
%%Pages: (atend)
%%EndComments
/DEC_DVC$dict where { %FIND DICTIONARY
pop
}{ %else
/DEC_DVC$dict 300 dict def
} ifelse
/BeginDVC$PSDoc { %BEGIN DOCUMENT
vmstatus pop pop 0 eq {
DEC_DVC$dict begin InitializeState
}{ %else
/DVC$PSJob save def DEC_DVC$dict begin InitializeState
/DVC$PSFonts save def
} ifelse
} def
/EndDVC$PSDoc { %END DOCUMENT
% --- Preserving current page count ---
vmstatus pop pop 0 eq {
end
}{ %else
DVC$PSFonts restore end DVC$PSJob restore
} ifelse
} def
%
DEC_DVC$dict begin
%
mark % CREATE ISOLatin1Encoding if not there already
/ISOLatin1Encoding
8#000 1 8#054 {StandardEncoding exch get} for
/minus
8#056 1 8#217 {StandardEncoding exch get} for
/dotlessi
8#301 1 8#317 {StandardEncoding exch get} for
/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
/ISOLatin1Encoding where not {256 array astore def} if
cleartomark
%
/DOCPSE ISOLatin1Encoding 256 array copy def
mark % CREATE DOCPSE ENCODING
8#055 /hyphen
8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /dagger
8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta
8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe
8#215 /Ydieresis
counttomark -1 bitshift % DIVIDE BY 2
{DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK
cleartomark
%
/reencodedict 10 dict def %Local storage for "ReENCODE"
/ReENCODE { % /basefont /newfont encoding ReENCODE
/newencoding exch def %ARG: NAME OF ENCODING VECTOR
/newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING
findfont
/basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED
basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT
basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE
1 index /FID ne {
def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS
} { %else
pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING
} ifelse
} forall
/FontName newfontname def %DEFINE NEW NAME
/Encoding newencoding def %DEFINE NEW ENCODING VECTOR
newfontname currentdict definefont %TURN IT INTO A PS FONT
pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT
end
} def
%
/cvsstr 64 string def
/tempmatrix matrix def
%
/BP { % BEGIN PAGE
/Magnification exch def
/Colorsused 0 def
/processcolor false def
/RVmatrix matrix def
/DVC$PSPage save def
} def
%
/EP {DVC$PSPage restore} def % END PAGE
%
/XP { % EXIT PAGE (TEMPORARILY) TO ADD FONTS/CHARS
% SAVE CURRENT POINT AND COLOR INFORMATION SO IT CAN BE RESET LATER
matrix currentmatrix aload pop currentrgbcolor Colorsused processcolor
/Xpos where {pop Xpos} {0} ifelse
/Ypos where {pop Ypos} {0} ifelse
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
moveto
/Ypos exch def /Xpos exch def
/processcolor exch def /Colorsused exch def setrgbcolor
matrix astore setmatrix
} def
%
/RP {/DVC$PSPage save def} def % RESUME PAGE
%
/PF {GlobalMode LocalMode} def % PURGE FONTS TO RECLAIM MEMORY
%
/GlobalMode { % SWITCH TO BASE SAVE/RESTORE LEVEL, SAVING STATE
/DEC$EDMS_SEPARATE_COLORS where{pop DEC$EDMS_SEPARATE_COLORS}{9999}ifelse
RVmatrix aload pop processcolor
PortraitMode PaperWidth PaperHeight PxlResolution Resolution
Magnification Ymax Xorigin Yorigin RasterScaleFactor
% SAVE CURRENTPOINT INFORMATION TO RESET LATER
/currentpoint cvx stopped {0 0 moveto currentpoint} if
/DVC$PSPage where {pop DVC$PSPage restore} if
DVC$PSFonts restore RecoverState
} def
%
/RecoverState { % PRESERVE STATE AT BASE LEVEL
20 copy
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
/processcolor exch def matrix astore /RVmatrix exch def
dup 9999 ne{/DEC$EDMS_SEPARATE_COLORS exch def}{pop}ifelse
DoInitialScaling
RVmatrix concat
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
} def
%
/InitializeState { % INITIALIZE STATE VARIABLES TO DEFAULT VALUES
/Resolution 3600 def /PxlResolution 300 def
/RasterScaleFactor PxlResolution Resolution div def
/PortraitMode true def
/Magnification 1000 def /Xorigin 0 def /Yorigin 0 def
/Xpos 0 def /Ypos 0 def /InitialMatrix matrix currentmatrix def
/Colorsused 0 def /processcolor false def /RVmatrix matrix def
} def
%
/LocalMode { % SWITCH FROM BASE SAVE/RESTORE LEVEL, RESTORING STATE
/Ypos exch def /Xpos exch def /RasterScaleFactor exch def
/Yorigin exch def /Xorigin exch def /Ymax exch def
/Magnification exch def /Resolution exch def /PxlResolution exch def
/PaperHeight exch def /PaperWidth exch def /PortraitMode exch def
/processcolor exch def matrix astore /RVmatrix exch def
dup 9999 ne{/DEC$EDMS_SEPARATE_COLORS exch def}{pop}ifelse
DoInitialScaling
RVmatrix concat
PortraitMode not {PaperWidth 0 SetupLandscape} if
Xpos Ypos moveto
/DVC$PSFonts save def /DVC$PSPage save def
} def
% % ABBREVIATIONS
/S /show load def
/SV /save load def
/RST /restore load def
/Yadjust {Ymax exch sub} def
%
/SXY { % (x,y) POSITION ABSOLUTE, JUST SET Xpos & Ypos, DON'T MOVE
Yadjust /Ypos exch def /Xpos exch def
} def
%
/XY { % (x,y) POSITION ABSOLUTE
Yadjust 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/X { % (x,0) POSITION ABSOLUTE
currentpoint exch pop 2 copy /Ypos exch def /Xpos exch def moveto
} def
%
/Y { % (0,y) POSITION ABSOLUTE
currentpoint pop exch Yadjust 2 copy
/Ypos exch def /Xpos exch def moveto
} def
%
/xy { % (x,y) POSITION RELATIVE
neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/x { % (x,0) POSITION RELATIVE
0 rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/y { % (0,y) POSITION RELATIVE
0 exch neg rmoveto currentpoint /Ypos exch def /Xpos exch def
} def
%
/R { % DRAW A RULE
/ht exch def /wd exch def gsave
% 0 setgray
currentpoint newpath moveto
0 ht rlineto wd 0 rlineto
0 ht neg rlineto wd neg 0 rlineto
closepath fill grestore wd 0 rmoveto
currentpoint /Ypos exch def /Xpos exch def
} def
%
/RES { % <PXL-file resolution(pix/inch)> <resolution(pix/inch)> RES
/Resolution exch def /PxlResolution exch def
/RasterScaleFactor PxlResolution Resolution div def
DoInitialScaling
} def
%
/DoInitialScaling { % DO INITIAL SCALING
InitialMatrix setmatrix 72 Resolution div dup scale
} def
%
/PM { % <paper-height(pix)> <paper-width(pix)> PM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperHeight def /PortraitMode true def
DoInitialScaling
RP
} def
%
/SetupLandscape {translate 90 rotate} def
/LM { % <paper-height(pix)> <paper-width(pix)> LM
XP
/PaperWidth exch def /PaperHeight exch def
/Ymax PaperWidth def /PortraitMode false def
DoInitialScaling PaperWidth 0 SetupLandscape
RP
} def
%
/MAG { % CHANGE MAGNIFICATION SETTING
XP /Magnification exch def RP
} def
%
/SPB { % <xoffset><yoffset>SPB - BEGIN "\SPECIAL" MODE
Yadjust /Yorigin exch def /Xorigin exch def
currentrgbcolor Colorsused
GlobalMode Xorigin Yorigin translate
Resolution 72 div dup scale % RESTORE DEFAULT SCALING
Magnification 1000 div dup scale % ADJUST FOR ANY MAGNIFICATION
/Xpos Xpos 72 Resolution div mul 1000 Magnification div mul def
/Ypos Ypos 72 Resolution div mul 1000 Magnification div mul def
/spsavobj save def %SAVE STATE & STACK DEPTH FOR CLEANUP AFTER FIGURE
/showpage {} def %DISABLE DURING FIGURE; `RESTORE' WILL BLOW DEF AWAY
/DEC$EDMS_SEPARATE_COLORS where % if separating colors
{ % then
pop processcolor % if using process colors
{ % then
DEC$EDMS_SEPARATE_COLORS 0 ge % if on color pass .ge. 0
{ % then
{ pop 1 } settransfer % write only white
}{ % else
/DEC$EDMS_TRAP_SWELL where
{ pop DEC$EDMS_SEPARATE_COLORS -4 eq
{ /EDMS_setlinewidth /setlinewidth load def
/setlinewidth { DEC$EDMS_TRAP_SWELL mul EDMS_setlinewidth } def
} if
} if
/EDMS_setrgbcolor % set up for a redefine
/setrgbcolor load def % of the setrgbcolor operator
currentscreen % get the current screen parameters
/DEC$EDMS_SCREEN_ANGLE where % if changing the screen angle
{ % then
pop exch pop % replace the old angle
DEC$EDMS_SCREEN_ANGLE exch % with the new one
} if
/DEC$EDMS_SCREEN_FREQ where % if changing the screen frequency
{ % then
pop 3 -1 roll pop % replace the old frequency
DEC$EDMS_SCREEN_FREQ 3 1 roll % with the new one
} if
setscreen % Set the new parameters
/setrgbcolor {
/b exch def
/g exch def
/r exch def
/c3 1 r sub def
/m3 1 g sub def
/y3 1 b sub def
/k c3 m3 2 copy gt { exch } if pop y3 2 copy gt { exch } if pop def
/ik 1 k sub def
ik 0 ne
{ /c4 c3 k sub ik div def
/m4 m3 k sub ik div def
/y4 y3 k sub ik div def
}
{ /c4 /DEC$EDMS_BLACK_GEN where
{ pop DEC$EDMS_BLACK_GEN } { 0 } ifelse def
/m4 c4 def
/y4 c4 def
} ifelse
1 [ c4 m4 y4 k ] % pick the separation for this color
DEC$EDMS_SEPARATE_COLORS % pass ( -1 = Cyan, -2 = Magenta,
neg 1 sub get sub setgray % -3 = Yellow, -4 = Black )
} def
} ifelse % endif
}{ % else (if not using process colors)
DEC$EDMS_SEPARATE_COLORS 0 ne % if not on color pass 0
{ % then
{ pop 1 } settransfer % write only white
} if % endif
} ifelse % endif
} if % endif
mark
} def
%
/SPE { % SPE - END "\SPECIAL" MODE
cleartomark
spsavobj restore
1000 Magnification div dup scale % UN-ADJUST FOR ANY MAGNIFICATION
72 Resolution div dup scale % RESTORE DEFAULT INTERNAL SCALING
LocalMode
/Colorsused exch def setrgbcolor
} def
%
/PP
%
% If DEC$EDMS_MAKE_FILM is defined, it will add the crop & alignment marks,
% and the document name, page number, & ink color identifiers to the page.
%
% Formal Arguments: None
%
% Referenced Variables: DocumentName
% Colorsused
% Currentpagecount
% DEC$EDMS_MAKE_FILM
%
% Referenced Procedures: AlignMark
%
% Side Effects: Leaves the current font as Helvetica 8 point.
% Creates the variable "junkstr".
%
{ /PageNumber exch def
/DEC$EDMS_MAKE_FILM where % if making film...
{ pop
/DEC$EDMS_SUPPRESS_COLOR where % if color suppression is on
{ pop /DEC$EDMS_SEPARATE_COLORS 0 def % then default to color 0
/Colorsused 1 def } if % ...for everything
2 DEC$EDMS_SEPARATE_COLORS exp cvi Colorsused and 0 ne %if correct separatn
DEC$EDMS_SEPARATE_COLORS 0 lt or % ...or if a process color
{ /Helvetica findfont 400 scalefont setfont
20 setlinewidth 0 setgray
gsave
PaperWidth 1000 add 200 translate 90 rotate 0 0 moveto
(Ink: ) show % show the ink color
DEC$EDMS_SEPARATE_COLORS 0 ge
{ DEC$EDMS_COLOR_NAMES DEC$EDMS_SEPARATE_COLORS get }
{ (Process ) show [ (Cyan) (Magenta) (Yellow) (Black) ]
DEC$EDMS_SEPARATE_COLORS neg 1 sub get } ifelse show
/DEC$EDMS_SUPPRESS_COLOR where % if color suppression is on
{ pop ( (Color Suppression enabled)) show } if % tell them about it
1800 0 rmoveto
(Page: ) show % show the page number
/junkstr 4 string def PageNumber junkstr cvs show
( of ) show DEC$EDMS_TOTAL_PAGES junkstr cvs show
DEC$EDMS_SEPARATE_COLORS -4 eq
{ 1800 0 rmoveto (Trap Swell Factor: )show
/DEC$EDMS_TRAP_SWELL where % if trap swell factor is supplied
{ pop DEC$EDMS_TRAP_SWELL 6 string cvs }
{ (1 (default)) } ifelse show
} if
DEC$EDMS_SEPARATE_COLORS 0 lt % if a process color
{
PaperHeight 2 div 600 add 0 moveto (Screen Angle: ) show
/DEC$EDMS_SCREEN_ANGLE where
{ pop DEC$EDMS_SCREEN_ANGLE junkstr cvs } % if defined
{ ((default)) } ifelse show % if not defined
1800 0 rmoveto (Screen Frequency: ) show
/DEC$EDMS_SCREEN_FREQ where
{ pop DEC$EDMS_SCREEN_FREQ junkstr cvs } % if defined
{ ((default)) } ifelse show % if not defined
} if
grestore
gsave
-600 200 translate 90 rotate 0 0 moveto
(Document: ) show DEC$EDMS_DOCUMENT_ID show % show document name
PaperHeight 2 div 600 add 0 moveto
(This film is the property of Digital Equipment Corporation) show
grestore
/mask 15 % all crop marks on by default
/DEC$EDMS_SUPPRESS_CROPMARKS where % if def'd, xor in suppression mask
{ pop DEC$EDMS_SUPPRESS_CROPMARKS xor } if def
mask 1 and 1 eq
{ PaperWidth PaperHeight moveto % Upper Right
450 0 rmoveto 900 0 rlineto -1350 1350 rmoveto 0 -900 rlineto } if
mask 2 and 2 eq
{ PaperWidth 0 moveto % Lower Right
450 0 rmoveto 900 0 rlineto -1350 -1350 rmoveto 0 900 rlineto } if
mask 4 and 4 eq
{ 0 0 moveto % Lower Left
-450 0 rmoveto -900 0 rlineto 1350 -1350 rmoveto 0 900 rlineto } if
mask 8 and 8 eq
{ 0 PaperHeight moveto % Upper Left
-450 0 rmoveto -900 0 rlineto 1350 1350 rmoveto 0 -900 rlineto } if
stroke
/mask 15 % all registratn marks on by default
/DEC$EDMS_SUPPRESS_REGMARKS where % if defined, xor in suppression mask
{ pop DEC$EDMS_SUPPRESS_REGMARKS xor } if def
mask 1 and 1 eq % Top Center
{ gsave PaperWidth 2 div PaperHeight 900 add
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
translate AlignMark grestore } if
mask 2 and 2 eq % Right Center
{ gsave PaperWidth 900 add
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS -50 mul add } if
PaperHeight 2 div translate AlignMark grestore } if
mask 4 and 4 eq % Bottom Center
{ gsave PaperWidth 2 div -900
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
translate AlignMark grestore } if
mask 8 and 8 eq % Left Center
{ gsave -900
/DEC$EDMS_POSITION_REGMARKS where
{ pop DEC$EDMS_POSITION_REGMARKS 50 mul add } if
PaperHeight 2 div translate AlignMark grestore } if
showpage
}
{ % disabled the 'erasepage ' that was here!
} ifelse
}
{ showpage } ifelse
} def
/CLRP { % disabled the 'erasepage' that was here!
} def
%
/DMF { % /font-name <point-size(pix)> DMF
/psz exch def /nam exch def nam findfont psz scalefont setfont
} def
%
/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx
/xxx exch def /nam exch def
/namstr nam cvsstr cvs def
/newnam namstr length xxx length add string def
newnam 0 namstr putinterval
newnam namstr length xxx putinterval
newnam cvn
} def
%
/strip { % /abcdef 2 strip ==> /cdef
/num exch def /nam exch def
/namstr nam cvsstr cvs def
/newlen namstr length num sub def
namstr num newlen getinterval cvn
} def
% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS
/PackHW { % <target> <pos> <num> PackHW --> <new target>
/num exch def /pos exch def /target exch def
num 16#0000FFFF and 1 pos sub 16 mul bitshift target or
} def
/PackByte { % <target> <pos> <num> PackByte --> <new target>
/num exch def /pos exch def /target exch def
num 16#000000FF and 3 pos sub 8 mul bitshift target or
} def
/UnpkHW { % <pos> <num> UnpkHW --> <unpacked value>
/num exch def /pos exch def
num 1 pos sub -16 mul bitshift 16#0000FFFF and
dup 16#00007FFF gt {16#00010000 sub} if
} def
/UnpkByte { % <pos> <num> UnpkByte --> <unpacked value>
/num exch def /pos exch def
num 3 pos sub -8 mul bitshift 16#000000FF and
dup 16#0000007F gt {16#00000100 sub} if
} def
%
/ps-scalefont {
% FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDER
% EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S
% A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE
% VERTICAL SCALING.
% save requested size - as entered and as integer
dup /x-size exch def cvi /x-int exch def
% calc decimal remainder, mul x 1000, round
x-size x-int sub 1000 mul round cvi /remainder exch def
% see how we scale...
remainder 50 lt remainder 450 gt or {
% scale isomorphically
/ystretch 0 def
x-size scalefont
} {
% scale anamorphically
/ystretch remainder def
x-int ystretch add /y-size exch def
[x-int 0 0 y-size 0 0] makefont
} ifelse
} def
%
/DPSF { % /procname size /fontname DPSF
findfont exch ps-scalefont [ exch /setfont cvx ] cvx def
} def
%
/PXLBuildCharDict 17 dict def
/CMEncodingArray 256 array def
0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for
/RasterConvert {RasterScaleFactor div} def
/TransformBBox {
aload pop
/BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def
[ BB-llx RasterConvert BB-lly RasterConvert
BB-urx RasterConvert BB-ury RasterConvert ]
} def
/RunLengthToRasters {
% none yet
} def
/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK"
rasters runlength 1 eq {RunLengthToRasters} if
} def
%
/int-dict-name {int (-dict) concatnam} def
/int-dict {int (-dict) concatnam cvx load} def
%
/DefinePXLFont {
% <int-font-name><ext-font-name><pt-sz(pix)><PXL mag><num-chars>...
% ...[llx lly urx ury]<newfont-fg>DefinePXLFont
/newfont exch def /bb exch def /num exch def /psz exch def
/dsz exch def /pxlmag exch def /ext exch def /int exch def
/fnam ext (-) concatnam pxlmag cvsstr cvs concatnam def
newfont not {
int-dict-name 13 dict def
int-dict begin
/FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] def
/FontBBox bb TransformBBox def /Encoding CMEncodingArray def
/CharDict 1 dict def CharDict begin /Char-Info num array def end
/BuildChar {
PXLBuildCharDict begin
/char exch def /fontdict exch def
fontdict /CharDict get /Char-Info get char get aload pop
/rasters exch def /PackedWord1 exch def
0 PackedWord1 UnpkHW 16#7FFF ne {
/PackedWord2 exch def /wx 0 PackedWord1 UnpkHW def
/rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def
/llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def
/urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def
}{ %else
/PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def
/wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def
/cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def
/lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def
/ury 1 PackedWord4 UnpkHW def
} ifelse
rows 0 lt {
/rows rows neg def /runlength 1 def
}{ %else
/runlength 0 def
} ifelse
wx 0
llx RasterConvert lly RasterConvert
urx RasterConvert ury RasterConvert setcachedevice
rows 0 ne {
gsave
cols rows true RasterScaleFactor
0 0 RasterScaleFactor neg llx .5 add neg ury .5 add
tempmatrix astore GenerateRasters imagemask
grestore
} if
end
} def
end
fnam int-dict definefont pop
} if
int-dict-name fnam findfont psz scalefont def
currentdict int [ int-dict /setfont cvx ] cvx put
} def
/PXLF { true DefinePXLFont} def % SIGNAL THAT FONT ALREADY LOADED
/PXLNF {false DefinePXLFont} def % SIGNAL THAT FONT NOT ALREADY LOADED
%
/PXLC { % <int-font-name><code><wx><llx><lly><urx><ury>...
% ...<rows><cols><runlength><rasters>PXLC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/wx exch def /code exch def /int exch def
% SEE IF LONG OR SHORT FORMAT IS REQUIRED
true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ
TackRunLengthToRows {
int-dict /CharDict get /Char-Info get code
[ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte
0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] put
}{ %else
int-dict /CharDict get /Char-Info get code
[ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW
0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put
} ifelse
} def
%
/CKSZ {abs 127 le and} def
/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} def
%
/PLOTC {
% <wx><dsz><psz><llx><lly><urx><ury><rows><cols><runlength><rasters>PLOTC
/rasters exch def /runlength exch def /cols exch def /rows exch def
/ury exch def /urx exch def /lly exch def /llx exch def
/psz exch def /dsz exch def /wx exch def
% "PLOT" A CHARACTER'S RASTER PATTERN
rows 0 ne {
gsave
currentpoint translate psz dsz div dup scale
cols rows true RasterScaleFactor 0 0 RasterScaleFactor
neg llx .5 add neg ury .5 add tempmatrix astore
GenerateRasters imagemask
grestore
} if
wx x
} def
%
/AlignMark
%
% This procedure draws an alignment mark centered on the coordinate system
% origin. If the variable DEC$EDMS_SEPARATE_COLORS = 0 then a "positive"
% alignment mark is drawn. If DEC$EDMS_SEPARATE_COLORS <> 0 then a "negative"
% alignment mark is drawn.
%
% Formal Arguments: NONE
%
% Referenced Variables: DEC$EDMS_SEPARATE_COLORS
%
% Referenced Procedures: NONE
%
% Side Effects: NONE
%
{ DEC$EDMS_SEPARATE_COLORS 0 eq
{ 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke }
{ 0 0 450 0 360 arc fill 1 setgray 0 0 300 0 360 arc
0 -450 moveto 0 450 lineto -450 0 moveto 450 0 lineto stroke 0 setgray }
ifelse
} def
/SC
% If not making film, the following procedure sets the current color using the
% RGB color model. If making film, the procedure notes the "color pass" and,
% if the specified color index matches the color pass, subsequent marks are
% written in black. If the specified color index does not match the color pass,
% marks are written in white. Use of colors on individual pages is also tracked
% to allow pages that don't use a particular color to be suppressed on that
% color pass (by the code in the /PP routine).
%
% Formal Arguments: color index (on stack)
%
% Referenced Variables: Colorsused
% DEC$EDMS_SEPARATE_COLORS
% DEC$EDMS_SUPPRESS_COLOR
%
% Referenced Procedures: NONE
%
% Side Effects: Modifies the variable Colorsused to record use of the color.
% Tracks use of color in the variables 'ci' and 'processcolor'.
%
{ /ci exch def ci 0 lt % if the color index is lt 0
{ /processcolor true def } % then set 'processcolor' to 'true'.
{ ci /processcolor false def % else set 'processcolor' to 'false'.
/DEC$EDMS_SUPPRESS_COLOR where % if suppressing color
{ pop 0 setgray pop } % then set "color" to Black
{ /DEC$EDMS_SEPARATE_COLORS where % else if separating colors
{ pop dup DEC$EDMS_SEPARATE_COLORS eq % then if on this color pass
{ 0 setgray /Colorsused Colorsused % then write black (do write)
2 3 index exp cvi or def } % ..and note use of the "color"
{ 1 setgray } ifelse pop } % else write white (don't write)
{ dup ( ) cvs dup length 15 add string % else if using the color index,
/tstr exch def % ..build up the name of the
tstr 0 (DEC$EDMS_COLOR_) putinterval % ..potential external color
tstr exch 15 exch putinterval % ..name procedure
tstr cvn where % ..and see if it is defined
{ pop pop tstr cvn cvx exec } % execute it if it is
{ DEC$EDMS_COLOR_ARRAY exch get exec % else exec internal color proc
} ifelse
} ifelse
} ifelse
} ifelse
} def
/RV % .. gross recto/verso translate
{ /DEC$EDMS_ENABLE_RECTOVERSO where
{ pop
/RVmatrix DEC$EDMS_ENABLE_RECTOVERSO 50 mul 0 matrix translate def
RVmatrix concat
} if
} def
%
% Procedures for implementing the "rotate <theta>" special:
% <theta> ROTB -
% - ROTE -
/ROTB {
XP
gsave
Xpos Ypos translate
rotate % using <theta> from the stack
Xpos neg Ypos neg translate
RP
} def
/ROTE {XP grestore RP} def
end %DEC_DVC$dict
%%EndProlog
%%BeginSetup
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
54 dup translate % ..make room for the film info
} if
BeginDVC$PSDoc
/PaperWidth 8.500 Resolution mul def
/PaperHeight 11.000 Resolution mul def
/Ymax PaperHeight def
CLRP 300 3600 RES
%> Postamble of file DKA100:[HEISER.GUITAR]GUITAR_V4.DVI_PS.
% DefineFont:F206 Category:15 Pointsize:14
% DownloadPSFont
%!PS-Adobe-2.0
%%Title: PostScript Digital Logo Font, v1.1
%%Creator: Ned Batchelder
%%CreationDate: 9-Nov-87
%%DocumentFonts: Symbol
%%DocumentSuppliedFonts: DigitalLogo
%%EndComments
%
% DIGITAL INTERNAL USE ONLY
%
% INTRODUCTION:
% This rendition of the Digital logo was prepared by Ned Batchelder using
% Adobe Illustrator and hand manipulation of the resulting PostScript code.
% Photographic masters of the logo were obtained from David Comberg in the
% Graphic Design Group. Additional consultation was provided by Elliot
% Hendrickson, one of the original designers of the logo.
%
% USE:
% This file defines a new PostScript font, called /DigitalLogo. It consists
% of three characters. (d) is the entire Digital logo, (t) is a small
% trademark symbol, and (T) is a large trademark symbol. The font is designed
% so that the argument to scalefont is the height of the logo. There is no
% extra white space around the logo at all. The trademarks are designed to be
% shown right after the logo, and they align themselves. The only correct
% strings to show with this font are (d), (dt), and (dT). There is an entry
% (named GapWidth) in the font dictionary which gives the unscaled width of
% the gap between the blocks. This distance is given because it is used as a
% unit to determine how much space to leave around the logo.
%
% HISTORY:
% The logo was designed in 1957 by Elliot Hendrickson, who was then working
% as an independent designer. He was contracted by DEC to do a brochure, and
% DEC wanted a logo to accompany it. The logo up to then had been the letters
% DEC in blocks the shape of the plug-in cards that DEC had been producing.
% Elliot re-worked the logo, incorporating letters which were hand-drawn for
% the purpose by Arthur Hover(?). The logo has been maintained since then in
% conventional technology, ie, film masters. There was at least one reworking
% of the logo at some point.
%
% The masters I received had a number of interesting features. The boxes were
% not all the same width, and there seemed to be no logic to which boxes were
% wider. The 'g' was the narrowest, and the 'i' and 'l' were second widest.
% Also, the two 'i's were not exactly the same shape. On ten-inch masters,
% (one box to an 8�x11 sheet), the boxes were not rectangles, but were very
% slightly tapered in wierd ways. I assume that the tapering is the result of
% too many reproductions, but the difference in widths may have been
% deliberate at some time. Elliot reports that when he drew it, all boxes
% were the same width. I have retained the different widths in my version,
% since the experts I had at hand did not seem to think I should make them
% uniform.
%
% Please feel free to use this logo, but keep in mind the following:
%
% 1. This code is for INTERNAL USE ONLY.
% 2. I am not entirely happy with the final shapes of the letters, and am
% hoping to improve them. Please allow for future updates to this code.
% 3. Only use this logo within the guidelines of the Corporate Identity
% program. If you use this font precisely as is, you can't get in much
% trouble. Don't take the shapes and do strange things with them.
% In particular, the Identity states that the logo is a one-color logo: The
% letters are actually holes in the blocks, through which the background can
% be seen. Do not modify this code so that the letters are always white.
%
% Edit history:
%
% 21-Sep-87 nmb Created as a standalone file with demo.
% 6-Nov-87 nmb Converted to font form.
% 9-Nov-87 nmb Removed // uses for compatibility with LW Classics
%
%%BeginFont: DigitalLogo
10 dict begin
/FontInfo 3 dict def
FontInfo begin
/Notice
(The Digital logo is a registered trademark of Digital Equipment Corporation.)
def
/FullName (Digital logo) def
/version (1.1) def
end
/FontType 3 def % This is a user-defined font
/FontMatrix matrix def % Use an identity transform
/FontBBox [ 0 0 3.383 1 ] def % Logo itself is biggest
/GapWidth .070 def % The width of the gap between boxes
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } bind for
Encoding
dup (d) 0 get /DEC-logo put % (d) gives logo
dup (t) 0 get /smalltrademark put % (t) gives small trademark
(T) 0 get /largetrademark put % (T) gives large trademark
/Work 15 dict def % for doing work in font.
/BuildChar {
exch begin % Use the font dictionary
Work begin
Encoding exch get % Look up the character name
load % Pull out the procedure
exec % Run it.
end % Work
end % fontdict
} bind def
Work begin
/.notdef {} def
%
% - `DEC-logo' -
%
% Images a DEC logo with the lower left corner at the current origin, with a
% height of one unit, in the current color.
%
/m /moveto load def
/l /lineto load def
/c /curveto load def
/DEC-logo {
3.383 0 0 0 3.383 1 setcachedevice
{ % D
% d counter
.2930 .3513 m
.2932 .3217 .2587 .2758 .2167 .2757 c
.1719 .2759 .1280 .3165 .1280 .3977 c
.1280 .4801 .1718 .5225 .2153 .5227 c
.2587 .5225 .2932 .4760 .2930 .4407 c
closepath
% d outside
.2953 .5787 m
.2953 .7600 l
.3843 .7600 l
.3843 .1960 l
.2923 .1960 l
.2923 .2220 l
.2848 .2144 .2531 .1813 .1990 .1813 c
.1426 .1812 .0417 .2282 .0417 .3977 c
.0417 .5414 .1171 .6157 .2067 .6157 c
.2399 .6157 .2725 .6039 .2953 .5787 c
closepath
% d box
.432 0.0 m
.432 1.0 l
.000 1.0 l
.000 0.0 l
closepath
} exec
{ % I
% i box
.927 0.0 m
.927 1.0 l
.502 1.0 l
.502 0.0 l
closepath
% i body
.6695 .196 m
.6695 .600 l
.7595 .600 l
.7595 .196 l
closepath
% i dot
.6695 .655 m
.6695 .755 l
.7595 .755 l
.7595 .655 l
closepath
} exec
{ % G
% g counter
1.2813 .4478 m
1.2813 .4837 1.2409 .5208 1.2035 .5208 c
1.1713 .5208 1.1215 .5003 1.1215 .4084 c
1.1215 .3105 1.1827 .2962 1.2030 .2962 c
1.2433 .2962 1.2813 .3239 1.2813 .3667 c
closepath
% g box
0.997 1.0 m
1.415 1.0 l
1.415 0.0 l
0.997 0.0 l
closepath
% g outside
1.2822 .5609 m
1.2729 .5742 1.2424 .6044 1.1988 .6044 c
1.1311 .6043 1.0367 .5652 1.0367 .3955 c
1.0368 .2617 1.1437 .2168 1.1876 .2168 c
1.2350 .2167 1.2702 .2443 1.2798 .2547 c
1.2798 .2126 l
1.2798 .1815 1.2479 .1511 1.1945 .1511 c
1.1485 .1512 1.1437 .1807 1.1437 .1953 c
1.0497 .1953 l
1.0497 .1486 1.0798 .0804 1.1888 .0803 c
1.2864 .0803 1.3186 .1176 1.3325 .1316 c
1.3442 .1434 1.3617 .1758 1.3617 .2017 c
1.3617 .6 l
1.2823 .6 l
closepath
} exec
{ % I
% i box
1.910 0.0 m
1.910 1.0 l
1.485 1.0 l
1.485 0.0 l
closepath
% i body
1.6525 .196 m
1.6525 .6 l
1.7425 .6 l
1.7425 .196 l
closepath
% i dot
1.6525 .655 m
1.6525 .755 l
1.7425 .755 l
1.7425 .655 l
closepath
} exec
{ % T
% t
2.2128 .7525 m
2.1305 .7525 l
2.1305 .6071 l
2.0874 .6071 l
2.0874 .5396 l
2.1305 .5396 l
2.1305 .2852 l
2.1305 .2367 2.1554 .1986 2.2248 .1987 c
2.2573 .1987 2.2560 .1985 2.2842 .2034 c
2.2842 .2874 l
2.2658 .2842 2.2601 .2829 2.2511 .2832 c
2.2338 .2837 2.2128 .2898 2.2128 .3206 c
2.2128 .5395 l
2.2780 .5395 l
2.2780 .6071 l
2.2128 .6071 l
closepath
% t box
2.404 0.0 m
1.980 0.0 l
1.980 1.0 l
2.404 1.0 l
closepath
} exec
{ % A
% a box
2.474 0.0 m
2.474 1.0 l
2.888 1.0 l
2.888 0.0 l
closepath
% a outside
2.5439 .4728 m
2.6210 .4728 l
2.6210 .5138 2.6422 .5353 2.6826 .5353 c
2.7470 .5354 2.7449 .5067 2.7448 .4708 c
2.7050 .4553 2.7087 .4557 2.6480 .4419 c
2.5709 .4241 2.5237 .3911 2.5236 .3112 c
2.5237 .2331 2.5793 .1914 2.6420 .1915 c
2.7048 .1914 2.7178 .2117 2.7438 .2290 c
2.7438 .1978 l
2.8422 .1978 l
2.8190 .2352 2.8251 .2425 2.8249 .2706 c
2.8250 .2926 2.8249 .5080 2.8249 .5080 c
2.8250 .5507 2.8028 .5768 2.7883 .5855 c
2.7521 .6071 2.7074 .6097 2.6826 .6098 c
2.5945 .6096 2.5438 .5653 2.5439 .4728 c
closepath
% a counter
2.7448 .3946 m
2.7448 .3401 l
2.7448 .3152 2.7145 .2670 2.6550 .2669 c
2.6260 .2668 2.6098 .2883 2.6097 .3162 c
2.6098 .3442 2.6335 .3657 2.6536 .3697 c
2.6745 .3739 2.7226 .3862 2.7448 .3946 c
closepath
} exec
{ % L
% l box
3.383 0.0 m
3.383 1.0 l
2.958 1.0 l
2.958 0.0 l
closepath
% l
3.1255 .196 m
3.1255 .765 l
3.2155 .765 l
3.2155 .196 l
closepath
} exec
fill
} bind def
%
% % pct `trademark' --
%
% Borrow the sans-serif trademark symbol from /Symbol. AFM file says:
% C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;
% We scale it down to pct percent of the height of the logo and superscript
% it some, and voila!
%
/trademark {
/s exch .380 div def
/w s .725 mul .070 add def
/u 1 .673 s mul sub def
w 0 0 u w 1 setcachedevice
/Symbol findfont s scalefont setfont
.070 u m % Superscript it
(\344) show
} bind def
%
% These are two different trademarks (just different sizes).
%
/smalltrademark { .15 trademark } def
/largetrademark { .25 trademark } def
end % Work dictionary
currentdict % Get the font dict
end % Close it up
/DigitalLogo exch definefont pop % Define the font.
%%EndFont
% EndDownloadPSFont
/F206 700.0 /DigitalLogo DPSF
% DefineFont:F159 Category:10 Pointsize:8
/NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE
/F159 400.0 /NewCenturySchlbk-Roman@DOCPSE DPSF
% DefineFont:F152 Category:10 Pointsize:10
/NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE
/F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF
% DefineFont:F121 Category:100 Pointsize:8
/F121 /amsy8 1500 399 398.506 128 [0 -33 31 25] PXLNF
% DefineFont:F40 Category:10 Pointsize:9
/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE
/F40 450.0 /Helvetica-Bold@DOCPSE DPSF
% DefineFont:F32 Category:10 Pointsize:11
/F32 550.0 /Helvetica-Bold@DOCPSE DPSF
%%BeginDEC$EDMSInfo
/DEC$EDMS_DOCUMENT_ID () def
/DEC$EDMS_COLOR_NAMES [ (0_BLACK) ] def
/DEC$EDMS_COLOR_ARRAY [
%%RGBCustomColor 0.000 0.000 0.000 0_BLACK
{ 0.000 0.000 0.000 setrgbcolor } % 0_BLACK DOC$COLOR_INIT
] def
/DEC$EDMS_TOTAL_PAGES 0 def
%%EndDEC$EDMSInfo
/DEC$EDMS_MAKE_FILM where
{ pop /DEC$EDMS_SEPARATE_COLORS where
{ pop }
{ (ERROR - DEC$EDMS_MAKE_FILM requires DEC$EDMS_SEPARATE_COLORS be defined) = quit } ifelse
} if
/DEC$EDMS_SEPARATE_COLORS where
{ pop /DEC$EDMS_SUPPRESS_COLOR where
{ pop (ERROR - DEC$EDMS_SEPARATE_COLORS and DEC$EDMS_SUPPRESS_COLOR are mutually exclusive) = quit } if
} if
/DVC$PSFonts save def
%%EndSetup
%
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
%%PageFonts: (atend)
%%PageCustomColors: (atend)
1000 BP PaperHeight PaperWidth PM 0 0 XY
%%BeginCustomColor: 0_BLACK
0 SC 5593 3620 XY 14748 24 R 5593 19636 XY 24 16020 R 6179 4946 XY F159
(Noise)S 133 x(Reduction:)S 177 x(Dolby)S
XP /F121 13 424 2 -6 31 22 29 32 0
<001FE000 00FFFC00 03F03F00 07800780 0E0001C0 1C0000E0 38000070 30000030
70000038 60000018 E000001C C000000C C000000C C000000C C000000C C000000C
C000000C C000000C E000001C 60000018 70000038 30000030 38000070 1C0000E0
0E0001C0 07800780 03F03F00 00FFFC00 001FE000>
PXLC RP
10696 4946 XY F121(\015)S 133 x F159(B)S 133 x F121(\015)S 133 x F159
(C)S 133 x F121(\015)S 133 x F159(dBx)S 132 x F121(\015)S 133 x F159
(HX-Pro)S 133 x F121(\015)S 133 x F159(none)S 6179 5909 XY(Label)S 132 x
(produced)S 133 x(with)S 133 x(V)S -45 x(AX)S 132 x(DOCUMENT)S 6179 X
615 y 13044 24 R 6179 7839 XY F206(dt)S 184 x F32(Guitar)S 183 x(Noters)S
182 x(V)S -40 x(olume)S 182 x(4)S 6179 X 650 y 13044 24 R 6312 8987 XY
F40(A)S 573 x 498 y F159(Justine)S 133 x(Sulliva)S -2 x(n)S 134 x(-)S
132 x(The)S 133 x(W)S -29 x(ater)S 8450 X 498 y(is)S 131 x(W)S -14 x
(ide)S 7209 X 498 y(John)S 89 x(Derrico)S 89 x(-)S 88 x(Manchester)S
89 x(Days)S 7209 X 498 y(Joe)S 133 x(Minville)S 132 x(-)S 132 x(What)S
133 x(am)S 133 x(I)S 133 x(to)S 8317 X 498 y(Do?)S 7209 X 499 y(John)S
133 x(Reaume)S 134 x(-)S 132 x(Best)S 133 x(of)S 133 x(What)S 8317 X
498 y(I've)S 133 x(Got)S 7209 X 498 y(Bill)S 87 x(Buckley)S 89 x(-)S
88 x(Bringin)S 88 x(Me)S 89 x(Round)S 7209 X 498 y(Dave)S 133 x(Bottom)S
133 x(-)S 132 x(Hold)S 133 x(On)S 7209 X 498 y(Justine)S 133 x(Sulliva)S
-2 x(n)S 134 x(-)S 132 x(This)S 132 x(Lil)S 8317 X 498 y(Piggy')S -15 x
(s)S 132 x(Got)S 133 x(The)S 133 x(Blues)S 7209 X 498 y(Cheryle)S 106 x
(W)S -22 x(est)S 106 x(-)S 106 x(Goodbye)S 106 x(to)S 107 x(Y)S -45 x
(ou)S 7209 X 498 y(Jim)S 132 x(Cheney)S 134 x(-)S 133 x(Country)S 133 x
(Girl)S 7209 X 499 y(Jon)S 133 x(Nelson)S 133 x(-)S 132 x(Mandolin)S
133 x(T)S -29 x(une)S 7209 X 498 y(John)S 133 x(Reaume)S 134 x(-)S 132 x
(Rock)S 133 x(n)S 134 x(Roll)S 8317 X 498 y(Party)S 132 x(in)S 133 x
(the)S 133 x(Streets)S 7209 X 498 y(Bob)S 132 x(Schuch)S 2 x(ard)S 132 x
(-)S 132 x(Hiway)S 132 x(Song)S 7209 X 498 y(T)S -37 x(om)S 133 x(Desrocher/Bob)S
133 x(Conroy)S 134 x(-)S 8317 X 498 y(Crossroa)S -2 x(ds)S 12965 8987 XY
F40(B)S 572 x 498 y F159(T)S -36 x(om)S 133 x(Benson)S 133 x(-)S 133 x
(Fa-Hoo)S 13861 X 498 y(Mike)S 133 x(Heiser)S 133 x(-)S 132 x(Greater)S
133 x(is)S 132 x(He)S 13861 X 498 y(Mike)S 133 x(Heiser)S 133 x(-)S
132 x(Only)S 133 x(One)S 13861 X 498 y(Bill)S 132 x(Buckley)S 133 x
(-)S 132 x(Leavin)S 13861 X 498 y(Dave)S 133 x(Bottom)S 133 x(-)S 133 x
(On)S 133 x(The)S 14969 X 499 y(Moun)S 2 x(tain)S 13861 X 498 y(T)S
-36 x(om)S 101 x(&)S 100 x(Bob)S 100 x(-)S 101 x(Six)S 100 x(String)S
101 x(Shuf\212e)S 13861 X 498 y(T)S -36 x(om)S 133 x(Gallo)S 132 x(-)S
132 x(Long)S 134 x(Gone)S 13861 X 498 y(Greg)S 133 x(House)S 134 x(-)S
132 x(Picture)S 133 x(of)S 133 x(Y)S -45 x(ou)S 13861 X 498 y(Jim)S
133 x(Cheney)S 134 x(-)S 132 x(Fishin)S 132 x(T)S -10 x(ime)S 13861 X
498 y(T)S -36 x(odd)S 132 x(Brown)S 133 x(-)S 133 x(Sky)S 133 x(Pilot)S
13861 X 498 y(Bob)S 133 x(Schuchard)S 133 x(-)S 133 x(Clic)S -2 x(he')S
-13 x(s)S 14969 X 498 y(\(in)S 133 x(Wha-Wha)S 132 x(Sauce\))S 13861 X
499 y(Greg)S 133 x(House)S 134 x(-)S 132 x(Out)S 134 x(the)S 133 x(Door)S
20317 19636 XY 24 16020 R 5593 X 20 y 14748 24 R 21256 39033 XY F152
(1)S
%%EndCustomColor
1 PP EP
%%PageTrailer
%%PageFonts: NewCenturySchlbk-Roman
%%+ amsy8 DigitalLogo Helvetica-Bold NewCenturySchlbk-Italic
%%PageCustomColors: 0_BLACK
%
%%Trailer
EndDVC$PSDoc
/DEC$EDMS_MAKE_FILM where % if we are making film...
{ pop % ..clean up the stack
-54 dup translate % ..undo the film translation
} if
%%Pages: 1
%%DocumentFonts: DigitalLogo NewCenturySchlbk-Roman
%%+ NewCenturySchlbk-Italic amsy8 Helvetica-Bold
%%DocumentCustomColors: 0_BLACK
|
2298.11 | mail merge label maker? | PHXSS1::HEISER | watchman on the wall | Wed Jun 12 1996 15:55 | 4 |
| Anyone have a cassette label maker using a PC-based tool, like MS-Word?
thanks,
Mike
|
2298.12 | caselinr.exe cassette label maker | SUBSYS::TURCOTTE | Armand Turcotte | Thu Jun 13 1996 10:32 | 3 |
| I have a cassette label maker, it's a text-only label maker,
and it runs on windows 3.1 or above ... let me know if you want
a copy ... very easy to use, choose fancy font, etc
|
2298.13 | By hand isn't that hard (once you get the basics) | SMURF::PBECK | Paul Beck | Thu Jun 13 1996 11:48 | 15 |
| Are you talking about the stick-on labels that go on the cassettes
themselves, or the folded inserts that go in the box?
When I put together Granite Grass demo tapes a couple of years ago,
I got some Avery stick-on labels and just used standard MS Word
tables to write them (got the format right in the first table cell,
then cut and pasted to the rest til I had one page filled; only
problem was if there's a typo you have to fix it in all the cells).
For the insert, I got Avery card stock (4"x5" I believe), used MS
Word to print each side (including lines for the folds; one file for
each side), again using tables and cut'n'paste to get multiple
images on each printing pass. Then printed a set of sheets for side
1, inverted them in the input tray, and printed side 2. Then
hand-folded at the lines.
|
2298.14 | | PHXSS1::HEISER | watchman on the wall | Thu Jun 13 1996 12:20 | 4 |
| Paul, just the folded inserts. I have a COM file that generates PS
inserts, but I no longer have a PS printer since I work at home.
Mike
|
2298.15 | | KDX200::COOPER | He who laughs last, thinks slowest | Thu Jun 13 1996 13:18 | 2 |
| Ghostscript...
|