%!PS-Adobe-2.0 % CS-UTSA logo, by N Wagner, 2008-03-08 % NOW ... fading shadow!! % coords in points. 72 pts = 1 in % origin = lower left corner of page % replace orange, blue, and white below with other colors /orange { Orange } def /blue { DarkBlue } def /colincr 0.5 def % controls how bright shadow colors are (0.6 = full) /fadeincr 0.97 def % controls how fast shadow fades (closer to 1 = slower) % here are some colors. Try lighter blues, redder orange /Orange2 {1.0 0.7 0.0 setrgbcolor} def /RedishOrange2 {1.0 0.6 0.0 setrgbcolor} def /RedOrange2 {1.0 0.5 0.0 setrgbcolor} def /Blue2 {0 0 1 setrgbcolor} def /Green2 {0 1 0 setrgbcolor} def /LightBlue2 {0.3 0.3 1 setrgbcolor} def /DarkerBlue2 {0 0 0.8 setrgbcolor} def /DarkBlue2 {0 0 0.6 setrgbcolor} def % other color model /Yellow{0 0 1 0 setcmykcolor}def /RedOrange{0 0.77 0.87 0 setcmykcolor}def /Orange{0 0.61 0.87 0 setcmykcolor}def /Black{0 0 0 1 setcmykcolor}def /White{0 0 0 0 setcmykcolor}def /LBlue {0.8 0.8 0 0 setcmykcolor}def /VLBlue {0.6 0.6 0 0 setcmykcolor}def /Blue {1 1 0 0 setcmykcolor}def /DarkBlue {1 1 .2 0 setcmykcolor}def /DarkerBlue {1 1 .4 0 setcmykcolor}def /VeryDarkBlue {1 1 .6 0 setcmykcolor}def /Helvetica-Bold findfont 100 scalefont setfont /xstart 100 def % start of text, x coord /ystart 200 def % start of text, y coord /xsstart 100 def % shadow start for clipping rectangles /ysstart 200 def % shadow start for clipping rectangles /nextchar { % stack: color kern str1 str2 /col exch def % save color value /kern exch def % save kern amount /startstr exch def % save first string /nextchr exch def % save string = next char startstr stringwidth pop % distance along string newpath % path more expllicit xstart add kern sub ystart moveto % starting point nextchr false charpath % make a path closepath % path more expllicit % put in fattened character gsave % first fat outline col 1 eq { blue } if col 2 eq { orange } if stroke grestore % then filled in col 1 eq { blue } if col 2 eq { orange } if fill } def /Coff 84 def % how far up to move C /Coff2 3 def % how far left to move C % later will change linewidth 7.8 setlinewidth % fat line % Blue and Orange (U) () 0 1 nextchar (T) (U) 17 1 nextchar (A) (UTS) 77 1 nextchar /ystart ystart 2 add def (S) (UT) 45 2 nextchar /xstart xstart Coff2 sub def /ystart ystart Coff add def (C) (UT) 45 2 nextchar /xstart xstart Coff2 add def /ystart ystart Coff sub def /ystart ystart 2 sub def % Now put in the shadow. A lot of ad hoc stuff % but just the font declaration is the main thing /Helvetica-Bold findfont [105 0 80 -60 0 0] makefont setfont % The characters were a little too fat 5 setlinewidth /shadow { % stack: colparam /colparam exch def /ystart ystart 15 sub def /blue { colparam colparam 0 0 setcmykcolor } def (U) () 0 1 nextchar /ystart ystart 15 add def /ystart ystart 15 sub def (T) (U) 17 1 nextchar /ystart ystart 15 add def /ystart ystart 15 sub def (A) (UTS) 77 1 nextchar /ystart ystart 15 add def /orange { 0 colparam colparam 1.5 mul 0 setcmykcolor } def /ystart ystart 15 sub def /ystart ystart 2 add def (S) (UT) 45 2 nextchar /xstart xstart Coff2 sub def /xstart xstart 60 add def /ystart ystart Coff add def /ystart ystart Coff sub def /ystart ystart Coff sub def % this was the final magic number to move C into position /ystart ystart 33.27 add def (C) (UT) 45 2 nextchar /xstart xstart Coff2 add def /xstart xstart 60 sub def /ystart ystart Coff sub def /ystart ystart Coff add def /ystart ystart Coff add def /ystart ystart 2 sub def /ystart ystart 15 add def /ystart ystart 33.27 sub def } def /cliprect { % stack: h1 h2 /h2 exch def % height of clipping rectangle (won't change) /h1 exch def % how far down clipping rectangle starts newpath xsstart ysstart h1 sub moveto 0 h2 neg rlineto 500 0 rlineto 0 h2 rlineto closepath clip } def /h2 5 def /h1 1 def % start of loop { clipsave % needed for multiple clipping paths (??) h1 h2 cliprect colincr shadow cliprestore % needed for multiple clipping paths (??) /h1 h1 1 add def /colincr colincr fadeincr mul def % fade color parameter h1 120 gt { exit} if } loop showpage