1129 % business_card.ps by David Paul McLure, Oct. 23, 1986 % % cleaned-up to provide for easier editing (only need to modify the 1st section)% made to handle any length of nick-name (up to 15 chars), Oct. 24, 1986 -dpm % % ideas and procedures borrowed, bastardized and modified from the following: % % John Miskinis proved it could be done with a similar prototype. % % digital_logo.ps by Roy Lomicka, September 13, 1985 % (digital_logo removed before posting to net) % % adapted from similar program by Brian Reid, Stanford % % refinements to better match the artwork in the DEC % Identification Manual supplied by Scott Robinson % %-------------------- Edit this text -------------------- /nick_name_text (Software UnLtd Ltd) def /proper_name_text (Nathan A. Liskov) def /job_title_text (Software Hacker) def /group_name_text () def /sub_group_name_text (DEC Systems, Technical/Applications) def /internal_mail_stop_text(SNO2-2/E4 Enet: SNOC01::RODDY) def /external_address_text (Arpa: ) def /corp_name_text (BEVRILLA Pty. Ltd.) def /postal_address_text1 (111 Lincoln Street,) def /postal_address_text2 (Waltham, Ma. 02154) def /telephone_text (Tel. (617) 891-8241) def %-------------------- Variables -------------------- /cardwidth 252 def /cardheight 144 def /inch {72 mul} def /point {} def /cm {2.54 72 div mul} def /mm {25.4 72 div mul} def /degree {} def /percent {100 div mul} def /box-width 35 34 div .405 mul def /box-pitch box-width .85 div def %-------------------- fonts -------------------- /nicknamefont /Times-Italic findfont 20 scalefont def /mainfont /Helvetica-Bold findfont 15 scalefont def /sloganfont /Helvetica-Oblique findfont 8 scalefont def /namefont /Times-Bold findfont 13 scalefont def % /Helvetica findfont 13 scalefont def %-------------------- Procedures -------------------- /rightshow %stk:string {dup stringwidth pop %get length of string 120 exch sub %calc. white space 0 rmoveto %move over that much show} def %show string /cardoutline %print card's outline {newpath 0 0 moveto 0 144 rlineto 252 0 rlineto 0 -144 rlineto closepath .5 setlinewidth stroke} def /doborder %prnt card's border {10 10 moveto 0 126 rlineto 234 0 rlineto 0 -126 rlineto closepath 2 setlinewidth stroke} def /center { dup stringwidth pop cardwidth exch sub 2 div 0 rmoveto dup show } def /dotext {0 setgray namefont setfont 0 78 moveto proper_name_text center sloganfont setfont 0 69 moveto job_title_text center 0 62 moveto group_name_text center % 0 55 moveto sub_group_name_text center % 0 48 moveto internal_mail_stop_text center % 0 41 moveto external_address_text center % 10 31 moveto corp_name_text show 14 24 moveto postal_address_text1 show 14 17 moveto postal_address_text2 show 240 telephone_text stringwidth pop sub 17 moveto telephone_text show } def % % determine length of nickname for postioning /nick_name_position { nick_name_text stringwidth pop % measure length of nick_name 250 exch sub } def % subtract from spot 245 (near right edge) % % optional nickname /print_nickname % {nick_name_position 100 moveto nick_name_text {40 102 moveto nick_name_text show } def /card {cardoutline dotext doborder 20 115 moveto gsave % the rest is all for the optional nickname nicknamefont setfont .95 -.03 .2 %start incr. end {setgray print_nickname -1 .5 translate} for 1 setgray print_nickname 0 setgray grestore } def %----------------------------- Main Program -------------------- 50 20 translate card % 1st column of cards 1 1 4 {0 144 translate card} for 252 -576 translate card % 2nd column of cards 1 1 4 {0 144 translate card} for showpage . 0