%!PS-Adobe-2.0
% CS-UTSA logo, by N Wagner, 2006-09-30
% coords in points.  72 pts = 1 in
% thickness of white border in pts:
/borderwidth 2 def
% color of border (in case background != white)
/bordercolor { White } def
% see below for way to put A on top of S
% origin = lower left corner of page
/xstart 100 def % start of text, x coord
/ystart 100 def % start of text, y coord
% here are some colors.  Can try darker blues
%   or redder orange
/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
/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

/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 2nd string = next char
   % create path around letter
   startstr stringwidth pop 
   xstart add kern sub ystart moveto
   nextchr false charpath
   % first stroke with fat white line, make fat char
   gsave 
       bordercolor
       7.8 borderwidth add setlinewidth % fat line
       stroke
   grestore
   % Next stroke with slightly thinner blue or orange line
   gsave 
       col 0 gt { DarkBlue } { Orange } ifelse
       7.8 setlinewidth % fat line
       stroke
   grestore
   % then fill in the char
   col 0 gt { DarkBlue } { Orange } ifelse
   fill
} def

% below: third param is kern amount
% note that these are _cumulative_
% fourth param is DarkBlue versus Orange
(U) () 0 1 nextchar
(T) (U) 15 1 nextchar
% to put the A on top of the S, interchange nest two lines
(A) (UTS) 48 1 nextchar
(S) (UT) 28 0 nextchar
/ystart ystart 72 add def % move ystart up 72 pts
(C) (UT) 28 4 add 0 nextchar

showpage

% for the "tight" version, change the last few lines to: (U) () 0 1 nextchar (T) (U) 30 1 nextchar % to put the A on top of the S, interchange nest two lines (A) (UTS) 90 1 nextchar /ystart ystart 2 add def % move ystart up 2 pts (S) (UT) 58 0 nextchar /ystart ystart 74 add def % move ystart up 74 pts (C) (UT) 58 4 add 0 nextchar showpage