home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / source / fakeps.zoo / fake.1 next >
Text File  |  1990-06-16  |  52KB  |  1,569 lines

  1.  
  2. #! /bin/sh
  3. # This is a shell archive, meaning:
  4. # 1. Remove everything above the #! /bin/sh line.
  5. # 2. Save the resulting text in a file.
  6. # 3. Execute the file with /bin/sh (not csh) to create the files:
  7. #    README
  8. #    fstocards
  9. #    utils.ps
  10. #    cards.ps
  11. #    flamer.card
  12. #    net23.card
  13. #    rekall.card
  14. #    una.card
  15. #    yoyo.card
  16. #    zikzak.card
  17. # This archive created: Mon Jun 11 04:04:45 1990
  18. # By:    Jef Poskanzer (Paratheo-Anametamystikhood Of Eris Esoteric, Ada Lovelace Cabal)
  19. export PATH; PATH=/bin:$PATH
  20. echo shar: extracting "'README'" '(1340 characters)'
  21. if test -f 'README'
  22. then
  23.     echo shar: will not over-write existing file "'README'"
  24. else
  25. sed 's/^X//' << \SHAR_EOF > 'README'
  26. X                          Fake ID Toolkit
  27. X                      Distribution of 11jun90
  28. X                    Previous distribution NONE
  29. X
  30. XContents:
  31. X
  32. X    README        this
  33. X    fstocards        script to take a FaceSaver file and make a PostScript
  34. X              file with the face inserted into the .card files
  35. X    utils.ps        general PostScript utilities
  36. X    cards.ps        utilities specific to making fake ID's
  37. X    flamer.card        a flamer's license
  38. X    net23.card        Network 23 employee ID
  39. X    rekall.card        Rekall employee ID
  40. X    subg.card        Church of the SubGenius ID
  41. X    una.card        Usenet News Agency press pass
  42. X    yoyo.card        Yoyodyne Propulsion Systems employee ID
  43. X    zikzak.card        ZikZak employee ID
  44. X
  45. XThe simplest thing to do with this package is: get your FaceSaver file
  46. Xfrom uunet, and say "zcat yourface.Z | fstocards | lpr".  Cut on the
  47. Xtick marks with an xacto knife, and take the cards to a copy shop to be
  48. Xlaminated.  It should cost about a buck.  Save money, laminate two
  49. Xback-to-back.
  50. X
  51. XOther things to do: try using colored paper; paste in a real picture
  52. Xinstead of a FaceSaver; look in cards.ps for some code to do
  53. Xdifferent-sized cards; make new cards.
  54. X
  55. XFeedback is welcome; send bug reports, enhancements, checks, money
  56. Xorders, etc. to the addresses below.
  57. X
  58. X    Jef Poskanzer
  59. X    jef@well.sf.ca.us
  60. X    {ucbvax, lll-crg, sun!pacbell, apple, hplabs}!well!jef
  61. SHAR_EOF
  62. if test 1340 -ne "`wc -c < 'README'`"
  63. then
  64.     echo shar: error transmitting "'README'" '(should have been 1340 characters)'
  65. fi
  66. fi # end of overwriting check
  67. echo shar: extracting "'fstocards'" '(1355 characters)'
  68. if test -f 'fstocards'
  69. then
  70.     echo shar: will not over-write existing file "'fstocards'"
  71. else
  72. sed 's/^X//' << \SHAR_EOF > 'fstocards'
  73. X#!/bin/csh -f
  74. X# @(#) $Header: fstocards,v 1.1 90/06/11 02:56:00 jef Exp $
  75. X#
  76. X# fstocards - turn a FaceSaver file into PostScript for a page of fake IDs
  77. X#
  78. X# Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  79. X
  80. Xif ( $#argv != 0 && $#argv != 1 && $#argv != 2 ) then
  81. X    echo "usage:  fstocards [fsfile [cardfile]]"
  82. X    exit 1
  83. Xendif
  84. X
  85. Xif ( $#argv == 0 ) then
  86. X    set fs=/tmp/fstocards$$
  87. X    rm -f $fs
  88. X    cat > $fs
  89. Xelse
  90. X    set fs="$1"
  91. Xendif
  92. X
  93. Xif ( $#argv == 2 ) then
  94. X    set cards="$2"
  95. Xelse
  96. X    set cards=( *.card )
  97. Xendif
  98. X
  99. X# Add initialization.
  100. Xcat utils.ps cards.ps
  101. X
  102. Xforeach i ( $cards )
  103. X    # Add card.
  104. X    cat $i
  105. X    # Add image data.
  106. X    cat $fs
  107. X    # Add padding.
  108. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  109. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  110. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  111. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  112. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  113. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  114. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  115. X    echo '0000000000000000000000000000000000000000000000000000000000000000'
  116. Xend
  117. X
  118. X# All done.
  119. Xecho 'showpage'
  120. Xif ( $#argv == 0 ) then
  121. X    rm -f $fs
  122. Xendif
  123. SHAR_EOF
  124. if test 1355 -ne "`wc -c < 'fstocards'`"
  125. then
  126.     echo shar: error transmitting "'fstocards'" '(should have been 1355 characters)'
  127. fi
  128. chmod +x 'fstocards'
  129. fi # end of overwriting check
  130. echo shar: extracting "'utils.ps'" '(8176 characters)'
  131. if test -f 'utils.ps'
  132. then
  133.     echo shar: will not over-write existing file "'utils.ps'"
  134. else
  135. sed 's/^X//' << \SHAR_EOF > 'utils.ps'
  136. X%!PS
  137. X% @(#) $Header: utils.ps,v 1.1 90/06/11 02:56:01 jef Exp $
  138. X%
  139. X% utils.ps - general PostScript utilities
  140. X%
  141. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  142. X%
  143. X% This file defines:
  144. X%   in - turn inches to standard PostScript units (points)
  145. X%   black, white - for use with setgray
  146. X%   strcat - concatenate two strings
  147. X%   randrange - 2 ^ 31, range of the rand operator
  148. X%   randuni - return a random float in [ 0.0 .. 1.0 )
  149. X%   randchar - return a random character from a string
  150. X%   randdig - return a random digit as a string
  151. X%   randdigs - return N random digits as a string
  152. X%   square - draw a square from currentpoint to w, h
  153. X%   filledsquare - fill a square from currentpoint to w, h
  154. X%   pagewidth, pageheight - width and height of page
  155. X%   pagemargin - size of a comfortable margin around the edges
  156. X%   showcenter - show a text string centered on currentpoint
  157. X%   showright - show a text string right-justified to currentpoint
  158. X%   showboxed - show a text string with exactly a specified width and height
  159. X%   showlimited - show a text string with at most a specified width
  160. X%   showcenterlimited - showlimited that centers the string
  161. X%   showrightlimited - showlimited that right-justifies the string
  162. X%   facesaverimage - read an appended FaceSaver file and display it
  163. X%   photowidth, photoheight - default sizes for photo
  164. X%   photo - draw a face saver photo and a box at currentpoint with specified w&h
  165. X%   diagbox - draw a diagonal box at currentpoint with specified width and
  166. X%     height, and with specified title and contents
  167. X%   ellipser - draw a rotated ellipse
  168. X
  169. X
  170. X% Use manual feed, if available.
  171. X%{
  172. X%    statusdict begin
  173. X%       /manualfeed true def
  174. X%    end
  175. X%} stopped pop
  176. X
  177. X% Check whether we are running NeWS or not.
  178. X/currentprocess where /NeWS exch def
  179. X% If NeWS, rotate by epsilon to ensure accurate font scaling.
  180. XNeWS { 0.001 rotate } if
  181. X
  182. X
  183. X/in  { 72.27 mul }  def
  184. X/black  0  def
  185. X/white  1  def
  186. X
  187. X% Concatenate two strings.
  188. X/strcat {                % str1 str2 -- str
  189. X    2 copy                % str1 str2 str1 str2
  190. X    length exch length            % str1 str2 len2 len1
  191. X    dup 3 -1 roll add            % str1 str2 len1 len
  192. X    string                % str1 str2 len1 str
  193. X    dup 0 6 -1 roll putinterval        % str2 len1 str
  194. X    dup 3 -1 roll 4 -1 roll putinterval    % str
  195. X} def
  196. X
  197. X/randrange 2147483648 def
  198. X
  199. X/randuni {
  200. X    rand randrange div
  201. X} def
  202. X
  203. X/randchar {        % str -- char
  204. X    dup length randuni mul cvi 1 getinterval
  205. X} def
  206. X
  207. X/randdig {        % -- digit
  208. X    (0123456789) randchar
  209. X} def
  210. X
  211. X/randdigs {        % N -- Ndigits
  212. X    () exch
  213. X    1 exch 1 exch {
  214. X    pop
  215. X    randdig strcat
  216. X    } for
  217. X} def
  218. X
  219. X/squarepath {            % w h --
  220. X    0  1 index  rlineto        % w h
  221. X    1 index  0  rlineto        % w h
  222. X    0  exch neg  rlineto    % w
  223. X    neg  0  rlineto        %
  224. X} def
  225. X
  226. X/square {
  227. X    squarepath
  228. X    stroke
  229. X} def
  230. X
  231. X/filledsquare {
  232. X    squarepath
  233. X    fill
  234. X} def
  235. X
  236. X% Find size of page and define pageheight and pagewidth.
  237. Xnewpath clippath pathbbox newpath    % llx lly urx ury
  238. X3 -1 roll                % llx urx ury lly
  239. Xsub                    % llx urx height
  240. X/pageheight exch def            % llx urx
  241. Xexch sub                % width
  242. X/pagewidth exch def
  243. X
  244. X/pagemargin  0.5 in  def
  245. X
  246. X
  247. X% Some text display utils.
  248. X
  249. X/showcenter {
  250. X    dup stringwidth pop        % get width of string
  251. X    2 div            % divide by two
  252. X    neg                % make negative
  253. X    0 rmoveto            % back up
  254. X    show
  255. X} def
  256. X
  257. X/showright {
  258. X    dup stringwidth pop        % get width of string
  259. X    neg                % make negative
  260. X    0 rmoveto            % back up
  261. X    show
  262. X} def
  263. X
  264. X/showboxed {            % deswid deshgt str
  265. X    gsave
  266. X    currentpoint translate
  267. X    newpath  0 0 moveto  dup false charpath  flattenpath
  268. X    pathbbox        % deswid deshgt str llx lly urx ury
  269. X    3 -1 roll        % deswid deshgt str llx urx ury lly
  270. X    sub            % deswid deshgt str llx urx strhgt
  271. X    3 1 roll  exch        % deswid deshgt str strhgt urx llx
  272. X    sub  exch        % deswid deshgt str actwid acthgt
  273. X    5 -2 roll        % str actwid acthgt deswid deshgt
  274. X    3 -1 roll        % str actwid deswid desght acthgt
  275. X    div            % str actwid deswid yscale
  276. X    3 1 roll  exch        % str yscale deswid actwid
  277. X    div exch        % str xscale yscale
  278. X    scale            % str
  279. X    0 0 moveto  show
  280. X    grestore
  281. X} def
  282. X
  283. X/showlimited {            % maxwid str --
  284. X    gsave
  285. X    dup stringwidth pop dup    % maxwid str wid wid
  286. X    3 index gt {        % maxwid str wid
  287. X        2 index exch div 1 scale
  288. X    } {
  289. X        pop
  290. X    } ifelse
  291. X    show pop
  292. X    grestore
  293. X} def
  294. X
  295. X/showcenterlimited {            % maxwid str --
  296. X    gsave
  297. X    dup stringwidth pop dup    % maxwid str wid wid
  298. X    3 index gt {        % maxwid str wid
  299. X        2 index exch div 1 scale
  300. X    } {
  301. X        pop
  302. X    } ifelse
  303. X    showcenter pop
  304. X    grestore
  305. X} def
  306. X
  307. X/showrightlimited {            % maxwid str --
  308. X    gsave
  309. X    dup stringwidth pop dup    % maxwid str wid wid
  310. X    3 index gt {        % maxwid str wid
  311. X        2 index exch div 1 scale
  312. X    } {
  313. X        pop
  314. X    } ifelse
  315. X    showright pop
  316. X    grestore
  317. X} def
  318. X
  319. X% Read an appended FaceSaver file and display it in a 1 x 1 box at (0,0).
  320. X% Defines strings for the header lines it finds.
  321. X
  322. X/facesaverbuf 256 string def
  323. X
  324. X/facesaverimage {
  325. X    gsave
  326. X    % Read and parse header lines, tossing the ones we don't need.
  327. X    {
  328. X        % Read line.
  329. X        currentfile facesaverbuf readline not { errordict begin syntaxerror } if
  330. X        % Exit loop on blank line.
  331. X        dup length 0 eq { pop exit } if
  332. X        % Parse for lines we care about.
  333. X        token not {
  334. X        % token found only whitespace - ignore this line.
  335. X        } {
  336. X        % Stack has <rest> <header>.
  337. X        dup (PicData:) eq {
  338. X            % Found a PicData line.
  339. X            pop
  340. X            token not { errordict begin syntaxerror } if
  341. X            /PicDataWidth exch def
  342. X            token not { errordict begin syntaxerror } if
  343. X            /PicDataHeight exch def
  344. X            token not { errordict begin syntaxerror } if
  345. X            /PicDataBits exch def
  346. X            pop
  347. X        } {
  348. X            dup (Image:) eq {
  349. X            % Found an Image line.
  350. X            pop
  351. X            token not { errordict begin syntaxerror } if
  352. X            /ImageWidth exch def
  353. X            token not { errordict begin syntaxerror } if
  354. X            /ImageHeight exch def
  355. X            token not { errordict begin syntaxerror } if
  356. X            /ImageBits exch def
  357. X            pop
  358. X            } {
  359. X            % Line is nothing we're interested in - define a string.
  360. X            cvlit exch dup length string copy def
  361. X            } ifelse
  362. X        } ifelse
  363. X        } ifelse
  364. X    } loop
  365. X    grestore
  366. X    PicDataBits ImageBits ne { errordict begin syntaxerror } if
  367. X    gsave
  368. X    % Read and display the hex image data.
  369. X    0 1 translate
  370. X    1 -1 scale
  371. X    PicDataWidth PicDataHeight PicDataBits
  372. X    [ PicDataWidth 0 0 PicDataHeight neg 0 PicDataHeight ]
  373. X    { currentfile facesaverbuf readhexstring pop }
  374. X    image
  375. X    grestore
  376. X} def
  377. X
  378. X
  379. X/photowidth 0.9 in def
  380. X/photoheight  photowidth 4 mul 3 div  def    % 4/3:1 is the FaceSaver ratio
  381. X
  382. X/photo {
  383. X    /thisphotoheight exch def
  384. X    /thisphotowidth exch def
  385. X    gsave
  386. X    currentpoint translate
  387. X    thisphotowidth thisphotoheight scale
  388. X    facesaverimage
  389. X    grestore
  390. X    thisphotowidth  0  rlineto
  391. X    0  thisphotoheight  rlineto
  392. X    thisphotowidth neg  0  rlineto
  393. X    0  thisphotoheight neg  rlineto
  394. X    stroke
  395. X} def
  396. X
  397. X% Draw a cute diagonal box at currentpoint with specified width and height,
  398. X% with specified title and contents.
  399. X/diagoffsetfactor .375 def    % times height
  400. X/diagfat 0.02 in def        % width of fat lines
  401. X/diagbox {
  402. X    /diagcontents exch def
  403. X    /diagtitle exch def
  404. X    /diagheight exch def
  405. X    /diagwidth exch def
  406. X    /diagoffset diagoffsetfactor diagheight mul def
  407. X    gsave
  408. X        currentpoint translate
  409. X
  410. X    % Do box.
  411. X    0 setlinewidth
  412. X    newpath
  413. X    0  0  moveto
  414. X    diagwidth diagoffset sub  0  lineto
  415. X    diagwidth  diagheight  lineto
  416. X    diagoffset  diagheight  lineto
  417. X    stroke
  418. X
  419. X    % Do fat end.
  420. X    0  0  moveto
  421. X    diagfat  0  lineto
  422. X    diagoffset diagfat add  diagheight  lineto
  423. X    diagoffset  diagheight  lineto
  424. X    0  0  lineto
  425. X    fill
  426. X
  427. X    % Do title.
  428. X    diagoffset diagheight 0.15 mul add  diagheight 0.8 mul  moveto
  429. X    /Helvetica findfont  diagheight 0.2 mul  scalefont setfont
  430. X    diagtitle show
  431. X
  432. X    % Do contents.
  433. X    diagwidth 2 div  diagheight 0.3 mul  moveto
  434. X    /Helvetica findfont  diagheight 0.5 mul  scalefont setfont
  435. X    diagwidth diagoffset 2 mul sub diagcontents showcenterlimited
  436. X
  437. X    grestore
  438. X} def
  439. X
  440. X% Canned ellipse routine, modified for rotation.
  441. X/ellipserdict 9 dict def
  442. Xellipserdict /mtrx matrix put
  443. X/ellipser { ellipserdict begin
  444. X    /endangle exch def
  445. X    /startangle exch def
  446. X    /yrad exch def
  447. X    /xrad exch def
  448. X    /rot exch def
  449. X    /y exch def
  450. X    /x exch def
  451. X    /savematrix mtrx currentmatrix def
  452. X    x y translate
  453. X    rot rotate
  454. X    xrad yrad scale
  455. X    0 0 1 startangle endangle arc
  456. X    savematrix setmatrix
  457. Xend } def
  458. X
  459. SHAR_EOF
  460. if test 8176 -ne "`wc -c < 'utils.ps'`"
  461. then
  462.     echo shar: error transmitting "'utils.ps'" '(should have been 8176 characters)'
  463. fi
  464. fi # end of overwriting check
  465. echo shar: extracting "'cards.ps'" '(2342 characters)'
  466. if test -f 'cards.ps'
  467. then
  468.     echo shar: will not over-write existing file "'cards.ps'"
  469. else
  470. sed 's/^X//' << \SHAR_EOF > 'cards.ps'
  471. X%!PS
  472. X% @(#) $Header: cards.ps,v 1.1 90/06/11 02:56:04 jef Exp $
  473. X%
  474. X% cards.ps - set up PostScript environment for fake IDs
  475. X%
  476. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  477. X%
  478. X% This file defines:
  479. X%   cardwidth, cardheight - sizes the card should be drawn to
  480. X%   cardmargin - card should leave this much space inside the above sizes
  481. X%   cardstart - all cards must start off by calling this
  482. X%   cardend - all cards must call this when they are through
  483. X%   cardticks - draws cut-marks that line up with cardwidth and cardheight
  484. X
  485. X
  486. X% The card is defined in terms of these nominal sizes.
  487. X/cardwidth  3.125 in  def
  488. X/cardheight  1.875 in  def
  489. X/cardmargin  .05 in  def
  490. X
  491. X
  492. X% Un-comment one of the following groups to set the desired size of the card.
  493. X
  494. X% Wallet size.
  495. X/actualwidth  cardwidth  def
  496. X/actualheight  cardheight  def
  497. X
  498. X% Shirt-pocket size.
  499. X%/actualwidth  3.5 in  def
  500. X%/actualheight  2.25 in  def
  501. X
  502. X% Business-card size.
  503. X%/actualwidth  3.5 in  def
  504. X%/actualheight  2 in  def
  505. X
  506. X% Economy size.
  507. X%/actualwidth  6.5 in  def
  508. X%/actualheight  4.5 in  def
  509. X
  510. X
  511. X% Define arrangement of cards on the page.
  512. X
  513. X/cardswide 2 def
  514. X/cardshigh 4 def
  515. X/cardslotwidth  pagewidth pagemargin 2 mul sub cardswide div  def
  516. X/cardslotheight  pageheight pagemargin 2 mul sub cardshigh div    def
  517. X
  518. X/cardslot 0 def
  519. X
  520. X/cardstart {
  521. X    cardslot  cardswide cardshigh mul  ge {
  522. X    showpage
  523. X    /cardslot 0 def
  524. X    } if
  525. X    gsave
  526. X    cardslotwidth cardslot cardswide mod mul pagemargin add        % dx
  527. X    cardslotheight cardslot cardswide idiv 1 add mul
  528. X      pageheight pagemargin sub exch sub                % dx dy
  529. X    translate
  530. X    actualwidth cardwidth div  actualheight cardheight div  scale
  531. X} def
  532. X
  533. X/cardend {
  534. X    grestore
  535. X    /cardslot cardslot 1 add def
  536. X} def
  537. X
  538. X/cardtick  0.08 in  def
  539. X/cardticks {
  540. X    0 0 moveto  cardtick neg 0 rmoveto  cardtick neg 0 rlineto  stroke
  541. X    0 0 moveto  0 cardtick neg rmoveto  0 cardtick neg rlineto  stroke
  542. X    cardwidth 0 moveto  cardtick 0 rmoveto  cardtick 0 rlineto  stroke
  543. X    cardwidth 0 moveto  0 cardtick neg rmoveto  0 cardtick neg rlineto  stroke
  544. X    cardwidth cardheight moveto  cardtick 0 rmoveto  cardtick 0 rlineto  stroke
  545. X    cardwidth cardheight moveto  0 cardtick rmoveto  0 cardtick rlineto  stroke
  546. X    0 cardheight moveto  cardtick neg 0 rmoveto  cardtick neg 0 rlineto  stroke
  547. X    0 cardheight moveto  0 cardtick rmoveto  0 cardtick rlineto  stroke
  548. X} def
  549. SHAR_EOF
  550. if test 2342 -ne "`wc -c < 'cards.ps'`"
  551. then
  552.     echo shar: error transmitting "'cards.ps'" '(should have been 2342 characters)'
  553. fi
  554. fi # end of overwriting check
  555. echo shar: extracting "'flamer.card'" '(15076 characters)'
  556. if test -f 'flamer.card'
  557. then
  558.     echo shar: will not over-write existing file "'flamer.card'"
  559. else
  560. sed 's/^X//' << \SHAR_EOF > 'flamer.card'
  561. X% @(#) $Header: flamer.card,v 1.1 90/06/11 02:56:05 jef Exp $
  562. X%
  563. X% flamer.card - License To Flame
  564. X%
  565. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  566. X
  567. X/flamer-logowidth photowidth def
  568. X/flamer-logoheight flamer-logowidth def
  569. X/flamer-infosize 0.2 in def
  570. X/flamer-textsize 0.25 in def
  571. X/flamer-infowidth cardwidth cardmargin 2 mul sub def
  572. X
  573. X/flamer-logo {
  574. X    gsave
  575. X    cardwidth cardmargin sub flamer-logowidth sub
  576. X      cardheight cardmargin sub photoheight flamer-logoheight sub 2 div sub flamer-logoheight sub
  577. X      translate
  578. X    flamer-logowidth flamer-logoheight scale
  579. X    229 227 1
  580. X    [ 229 0 0 -227 0 227 ]
  581. X{<ffffffffffffffffffffffffff800001ffffffffffffffffffffffffffff
  582. Xffffffffffffffffffffff80fffffc03ffffffffffffffffffffffffffff
  583. Xfffffffffffffffffff07ffffffffc1fffffffffffffffffffffffffffff
  584. Xfffffffffffffffe1fffc00003ffe1ffffffffffffffffffffffffffffff
  585. Xffffffffffffe1ff8000000007ff1fffffffffffffffffffffffffffffff
  586. Xffffffffff1ff000000000003fe1ffffffffffffffffffffffffffffffff
  587. Xfffffff8ff00000000000001fe3fffffffffffffffffffffffffffffffff
  588. Xffffc7f00001f8000000003fcfffffffffffffffffffffffffffffffffff
  589. Xff3f80007ff800001f8003f1fffffffffffffffffffffffffffffffffff8
  590. Xfc0008f71800007860007e7fffffffffffffffffffffffffffffffffe7e0
  591. X0078c70800007070001f8fffffffffffffffffffffffffffffffff9f0000
  592. X7047000000f0303003e3fffffffffffffffffffffffffffffffe7c007038
  593. X07000000e0383e00f8fffffffffffffffffffffffffffffff9f000fc3803
  594. X800001e0383f801e7fffffffffffffffffffffffffffffe7c0007e180380
  595. X0001e03838e0079fffffffffffffffffffffffffffff9f00783f18038000
  596. X01e078386001e7ffffffffffffffffffffffffffff7c01fc3fdc03800001
  597. Xc07038000079fffffffffffffffffffffffffffcf007801bfc03800000c0
  598. X707800003efffffffffffffffffffffffffff3c01f0019fc03800000e0f0
  599. X7e00000f3fffffffffffffffffffffffffef000f00187e07e0000060e076
  600. X000003dfffffffffffffffffffffffff9e0107100c3e0600000031c0e000
  601. X0001e7ffffffffffffffffffffffff780703b00c1e000000000f00e00000
  602. X007bfffffffffffffffffffffffef00783f80e00000000000001e0000000
  603. X3dfffffffffffffffffffffff9c00783c18f00000000000003e00000000e
  604. X7ffffffffffffffffffffff7800781c18c00007ffffe0000e000000007bf
  605. Xffffffffffffffffffffef0007c1c380003ffffffff8000000000003dfff
  606. Xffffffffffffffffff9c0007e0e78007ffc0000fff800000000fc0efffff
  607. Xffffffffffffffff380c06e0fc003ff07ffff81ff80000003ee073ffffff
  608. Xfffffffffffffef01f0670f003fe3fffffffe0ff000000783039ffffffff
  609. Xfffffffffffdc07fc678c00fe3ffffffffff1fe0000070301effffffffff
  610. Xfffffffffb803ff63f007fbffffffffffff1fc0000f018077fffffffffff
  611. Xfffffff7000ffe3c01f9fffffffffffffe3f0000e03803bfffffffffffff
  612. Xffffee07067e300fcfffffffffffffffcfc000e03841dfffffffffffffff
  613. Xffdc0f871e003f7ffffffffffffffff9f000c07860efffffffffffffffff
  614. Xb818030600f9ffffffe7e7e7fffffe7c00c078f077ffffffffffffffff70
  615. X78018003e7fffff7e7e7e7efffff9f00e0f0f83bfffffffffffffffee0fc
  616. X00c0079ffffff3e7f7e7efffffe78061e1ec1dfffffffffffffffdc1fe00
  617. Xf01f7ffffbf3e7dbefc7dffff9e03fc3c60efffffffffffffffb818f00e0
  618. X3dfffff9f4003800b7cffffef80f0787077ffffffffffffff7018780c0f3
  619. Xfffdf9cf267e4c379fbfffbc000f83033fffffffffffffee0087c001ffff
  620. Xfcf91f673dcef89fbfffcf001fe203bfffffffffffffcc0003c007bffffc
  621. Xe59f77bdcefc9f3ffff780fcc001dfffffffffffffdc0001f00f7ffcfd04
  622. Xef7365cef320bffffbc0780000efffffffffffffb83e00f81dfffcfbeced
  623. X3301cdf737bf3ffef038001077ffffffffffff707e00707bfffe67dee233
  624. X3cdc57378e3fff781800383bfffffffffffee0ff0060f7ff7e47cee7b37f
  625. Xdbe773e67fffbc08007c1bfffffffffffdc1870001dfff3e39ee6ff3ffdf
  626. Xf677847fffce0000fe1dfffffffffffdc3870003bfff193d067ff3ff9ffe
  627. Xe5bc3cfff70001f30efffffffffffb87c7c0077fff619cff7ff3ff9ffec6
  628. Xb911fffb8003c3077ffffffffff707e7fc0effff799cff3ff3ff9ffcff39
  629. Xadfffdc007c1837ffffffffff601fff81dff9e7dcdff3ff3ff9ffdff33bd
  630. Xfffee03fe183bfffffffffee007c303bffccfccfffbffbff9ff9fff3befb
  631. Xff703e7181dfffffffffdc003e0077ffc03867ffbffbffbff9ffe67f73ff
  632. Xb81c6000dfffffffffd8001f00efffe3b667ff9ffbffbffbffec1827ffdc
  633. X0c0000efffffffffb8000fc1dfe7c3d7f3ffdffbffbffbffcfebcfffee04
  634. X001867ffffffff70e00383bfe199cffbffdff9ff3ff3ff9fe397fff70000
  635. X1837ffffffff60fc03077ff01ccff9ffcff9ff3ff7ff9ff7318ffb80003c
  636. X3bfffffffee1ff800efff7dc7ffdffcff9ff3ff7ff3ff7305ffdc000fe1b
  637. Xfffffffec1fff81dfffbce7ffcffeff9ff3fe7ff3ffe77dffdc001f61dff
  638. Xfffffd80e3fc1bfffbe33ffeffeff9ff3feffe7ffce79ffee007c30fffff
  639. Xfffb8061f83bfee7c39ffe7fe7f9ff3feffefff9cfdfff705fc306ffffff
  640. Xfb00331077fe619fcfff7ff7fdff7fcffcfff383cfffb87ec187fffffff7
  641. X001f10efff1e3fcfff3ff7fdff7fdffdffe3fb047ff83c61837ffffff600
  642. X0e00dfff9e7fe7ffbff7fdff7fdff9ffe7fdf8ffdc184303ffffffee0f06
  643. X01dffe4f7ff3ff9ff3fdff7f9ffbffcffcf1ffee180001bfffffec1f8383
  644. Xbf9c677ff9ffdffbfdff7fbff7ff9ffde1fffe0c0001ffffffdc3f81837f
  645. Xc179fffdffcffbfdff7fbfe7ff3fffccfff70e0030dfffffd87381877fdf
  646. X7cfffeffeffbfdfe7f3feffe7fff9d67fb878070dfffffd8618006ffef9e
  647. X7ffe7fe7fdfcfe7f7fcffefffe3da7ff8301f06fffffb0e1800fffefc73f
  648. Xff3ff7fdfcfe7f7fdffcfffc73effdc003f06fffffb0f1801dffcf1f9fff
  649. Xbff3fdfcfefe7f9ff9fff9c7effec00ff077ffff70ff801bffc37fcfffdf
  650. Xfbfcfcfefeffbff3fff3f3effee1fce037ffff617f803bfd897fe7ffeff9
  651. Xfefefefeff7fe7ffe7fde7ff60f1e03ffffee00fe037fe3c7ffbffe7fdfe
  652. Xfefefcfe7fefff8ffd077f70e1c21bfffec003f877ff1e7ffdfff3fcfefe
  653. Xfefdfeffdfff1ffd7c7fb043821bfffec000786ffec7fffefffbfeff7efe
  654. Xfdfcffbffe7ffcf0ffb847871dfffdc30030effcf3ffff3ffdfe7f7efcf9
  655. Xfdff3ffcfffde1ffd8071f0dfffd878010dffcfcffff9ffcff7f7efdfbf9
  656. Xfe7ff9ffff84ffdc0ffd0dfffd860000df837e3fffcfffff3ffffffbfbfc
  657. Xffe7fffe1cffec0fe00efffb860181bf87078fffe7ff7fbffffffff7fdff
  658. Xcffff87907ee1f8006fffb0c00c1bfefc7e7fff3ffbffffffffff7fbff9f
  659. Xfff1c3effe1e0006fffb0c38c3ffe79ff1fffdffdffffffffffff7ff7fff
  660. Xc78fdff70800077ff70c30c37fefbffcfffeffffffffffffffe7feffff1f
  661. Xe7dff70007837ff60fe0837fe0bfff3fff3fffffffffffffcff9fffc7ffb
  662. Xdffb000fc37ff61ff086ffc63fffcfff9ffffffffffffffff3fff1fffbdf
  663. Xfb839fc37ff61bff86fcffbffff7ffcfffffffffffffffe7ffc7fff00fff
  664. X831ee3bfec007f06fc1ffffff9ffe7ffffffffffffffdfff1ffff3cffd83
  665. X1c61bfec00070fff87fffffe7fffffffffffffffffbffe7ffff7fcfdc31c
  666. X61bfec00030dfff0ffffff9ffffffffffffffffffff9ffffffe0ffc31c61
  667. Xbfec00001dfffe1fffffffffffffffffffffffffe7fffffe0fffc31c60df
  668. Xdc00001fffffc3fffffffffffffcfffffffffffffffff0fffec3fcc0dfd8
  669. X0fc01bfffff9fffffffffffffb07ffffffffffffff07fffee1f800dfd83f
  670. Xf01bfffffffffffffffffe03f9fffffffffffffc7fffffe0f000dfd87ff8
  671. X1bc000007fff8007fffdf81effffff801fffffffffbfe00000dfd8707837
  672. Xe7e17f8fff88787ffdec3e7ffffc70800001c0003f6000086fb0601c37e3
  673. Xf00fcfff071f9ffc007e7ffff3c73fffe7ff3f3f7080186fb0c01c37f800
  674. X47e001f30fefffc1ff3fffefb807ffcfc0007f70c1f86fb0c00837fc7e78
  675. X40ff0f79f7fff9ff3fff9ff03c001f3800fff0fff86fb0f00877fe3fbef8
  676. X00e07f6bfffdff3fff7ff0f7e000f3f1ffb0fff86fb0fff86fff01cc0007
  677. X1e1f05fffdff3ffef8033cf007cc03ffb0ff886fb0fff86fff8400f800fe
  678. X00fefffdff3ffdf7cde78000600fffb0410c6fb080f86fffe7cfc3c3fb87
  679. Xcf7ffdffbffbff8e780c1fcf9fffb0438c7fb000186ffff1f03f000f407f
  680. X7ffdafbffbe0373807c0107fffb8400c3f6000006ffff809f8f83cc3ff7f
  681. Xfdef9ff9df3981f0ff80ffffb8601c376000006fffff0007fc0327cf7ff3
  682. X5f0ff9fe0800fe0c1ffdfff87000376000006ffcfff01ff180e03e7fc7fb
  683. Xdff9bc600f3fe33ffcffd8000037600000dffcfff800c73080fe7f91520f
  684. Xf9a00033ce007ffcffd8000037600000dffcfffe0339fc10de7f000007f9
  685. Xc019dcf100fffa7fd8000037600000dff87ffff9e3f9e0ff7ffffffffb78
  686. X1de63f3bfffa7fd8000037600000dff97ffffc0007dc61980000006620ce
  687. X71807ffffe7fd8000037600000dff17fffff8007fcc6600000001c106300
  688. X01fffff67fd8000037600000dff17fffffff81f83470000000307181807f
  689. Xfffff63fd8000037600000dff37ffffffff0e0eda000000031b1e00fffff
  690. Xfff63fd8000037600000dff37ffffffffc1c1f800000000181783fffffff
  691. Xf63fd8000037600000dff37ffffffffcf23ba00000000de181fffffffff6
  692. X3fd8000037600000dff37ffffffffc0c87600000000f65e1fffffffff63f
  693. Xd8000037600000dfd35ffffffffcfb876000000017827bfffffffff67fd8
  694. X000037600000dfc34ffffffffe0740c0000000098381fffffffffa7fd800
  695. X0037600000dfca8ffffffffe1e80c00000000c0dc3ffffffffea5fd80000
  696. X37600000dfca8ffffffffe7da40c4663119016fbffffffffeacfd8000037
  697. X600000dfc0affffffffe636c0446631180bb03ffffffffc88fd800003760
  698. X0000ffc42ffffffffe0edd0446631182ddc7ffffffffcc0ff80000376000
  699. X006f9037ffffffff3ddb44466311836e6fffffffffe44ff8000037600000
  700. X6fc837ffffffff33bac4466311af770fffffffffe4cff80000376000006f
  701. Xc837ffffffff0775a4466311359b9fffffffffe08fb80000773000006fc8
  702. X37ffffffffce69a44663111ac81fffffffffa08fb800006fb000006fcc17
  703. Xffffffffe1db7446631159203fffffffffa08fb000006fb000006fcc07ff
  704. Xfffffff026d04663100001ffffffffffa09fb000006fb000006fe40fffff
  705. Xfffffc00004663180007ffffffffffa21ff000006fb000c077e40fffffff
  706. Xffff8000466318f87fffffffffffa21ff000006fb000c037f00fffffffff
  707. Xfffcfc466318ffffffffffffffa03f7038006fb007c037f807ffffffffff
  708. Xfff04663187ffffffffffffce07f601c006fb007c037fc03ffffffffffff
  709. Xe24663193ffffffffffffcc0ff600f80dfd800e037fc03ffffffffffffd6
  710. X4663111ffffffffffff940ffe01f80dfd800601bf001ffffffffffff6406
  711. X23030ffffffffffff9507ee01c00dfd800001bf000fffffffffffec78623
  712. X0397fffffffffffd717ee01800dfd800001bfc0dfffffffffffd87862303
  713. X8bfffffffffffc537ec01001dfd800001ffc07fffffffffffb27462305a5
  714. Xfffffffffffccaffc00001ffec00000dfc83fffffffffff68740600432ff
  715. Xfffffffffc00fdc00001bfec00000dff99ffffffffffef06a0604b1a7fff
  716. X1ffffffc01fd800001bfec00000fff89ffffffffffee4144614c0e7ff83f
  717. Xfffffc87ff800001bfee00000eff8cffffffffffe5b3540366207fc03fff
  718. Xfffd8fff800003fff6000006ff8efffffff003e32295036732ff007fffff
  719. Xfb9fff0000037ff6000007ffc6fffffff080f7c11603431af8007ffffffb
  720. X1fff0000037ff60000037fc77ffffff873f7a61ab10366f00e3ffffffb1f
  721. Xff0000077fff0000037fc71ffffffe01f320dbb91960f071cffffff61ffe
  722. X000006fffb000003ffe30fffffff073898c1b83c18e38fcfffffb63ffe00
  723. X0006fffb000001bff30fffffff80ecd8c36a3ff81c7e7fffffb43fee0000
  724. X0effff800001bff107ffffffe71d60636e31e0e3f3ffffffb47ffc00000d
  725. Xfffd800000dff903fffffff3f120a36e6c08019ffffffea8ffdc00000dff
  726. Xfd800000dff007fffffffffd0280604408fefffffffe21fff800001dffff
  727. Xc000006fe00fffffff7ffe421e03060bfffffffffe00ffb800001bfffec0
  728. X00006fe00ffffff87ffe7a1802067e0003fffffe42fff000001bfffec000
  729. X0037f80effff8e7ffe78000206f40007fffffe06ff7000003fffff600000
  730. X3ff80e7ffc3c00000002020460000ffffff600ffe0000037ffff6000001b
  731. Xf9c61ffc0000000002720000000fffffe401fee0000037ffff7000001dff
  732. Xe64fffc07fffe002000000000fffffc481fdc000006fffffb000000dffe3
  733. X27fff87fffffc238e7fdffefffff040ffd8000006fffffb800000efff133
  734. Xffff3ffffe61fe1dfe1fe7fffe4c7ffb800000ffffffd8000006ffd919ff
  735. Xfffffff30bffe3fff007fffec8cffb000000dfffffd80006077fcc0dffff
  736. Xfe7f98fffffc7fc1fffffd819ff7000001dfffffec000e03bfe004fffffc
  737. X7cc7ffffff8e003ffff9001fee000001bfffffec001f01bfe002fffff24e
  738. X3ffffffff1c007fffb011fec000003bffffff6007c01dfe002ffffee71ff
  739. Xfffffffe3800fffa033fdc0fe0037ffffff700f000eff3017fffde0fffff
  740. Xffffff47007ff4063fb80ffe077ffffffb00c0006ff1814fff303fffffff
  741. Xffff78e1fff10c7ff00cfc06fffffffb8080c037f8c04ffe001fffffffff
  742. Xff3f83ff6218ff700ecc0efffffffd8081c03bfc406ffc003fffffffffff
  743. Xcfe7fda431fee007800dfffffffdc0c7001dfe0067fffffffffffffffff8
  744. Xf7fb0023fdc003801dfffffffec07c000eff00237fffffffffffffffff13
  745. Xf940c3fb8071801bfffffffee00018077ff0023ffffffffffffffffff3f8
  746. X410ff780f0c037ffffffff70003c037fff003ffffffffffffffffffff880
  747. X7fff01804077ffffffffb000fc03bffe01fffffffffffffffffffff80fff
  748. Xee0300406fffffffffb8019801dffe00fffffffffffffffffffff801ffdc
  749. X030000efffffffffdc071900efff003fffffffffffffffffff0019ffb803
  750. X8101dfffffffffdc06398077ff0247fffffffffffffffffce003ff7001c3
  751. X01bfffffffffee003f003bff8339fbffffffffffffffb3c00ffee011fe03
  752. Xbffffffffff7003c001dfff31e71fffffffffffffda78ffffdc030fc077f
  753. Xfffffffffb0078300e7fff8731ffffffffffff982e1fffff80783806ffff
  754. Xfffffffb80707807bfff83d1cffffffffffc305c3fffef003c000effffff
  755. Xfffffdc040f003dfffc0c1c00fffffff0071307fffde001e001dffffffff
  756. Xfffee001c600effff060e7f7fffff8f8e001ffffbc0007003bffffffffff
  757. Xffe003870073ffff10f0fdffffe7e1c007ffff780783c037ffffffffffff
  758. X700f01803dfffe30380effffce038037fffde00fc18077ffffffffffffb8
  759. X0601c01efffe0000001fffb0040707fffbc019c100efffffffffffffdc02
  760. X03e0073fff010000001f00001fcffff78038c001dfffffffffffffee0007
  761. X2003dfffc700008100180003ffffde001ff803bfffffffffffffe7000e20
  762. X01e7ffee0f00008800030fffffbc018ff8077ffffffffffffff7003c0e00
  763. X79ffff81e0000c803c1ffffef00387000efffffffffffffffb80380f003e
  764. Xffffc03c00000fe03ffffbe00603801dfffffffffffffffdc0101c800fbf
  765. Xfff0004300e000ffffef801c01c03dfffffffffffffffee00038c003efff
  766. Xfc03c7fd7801ffffbe003c81807bffffffffffffffff70007c0000f9ffff
  767. Xfffffe3ffffffefc000fc100f7ffffffffffffffffb801e40c003e7fffff
  768. Xfffffffffff3f001870801efffffffffffffffffdc01c01e000f9fffffff
  769. Xffffffffcfc001871803dfffffffffffffffffef00401d0003f3ffffffff
  770. Xfffffe7e0001c39007bffffffffffffffffff78030398000fe7fffffffff
  771. Xfff3f80001c1e00e7ffffffffffffffffffbc01c7180001fc7ffffffffff
  772. X9fe000e1e1c01dfffffffffffffffffffce00061800007fc3ffffffff0ff
  773. X0001f1f1003bfffffffffffffffffffe7001e18000007fe0fffff81ff800
  774. X00ff7800f7ffffffffffffffffffffbc01c38000000fff800007ff800030
  775. X7f3801efffffffffffffffffffffde007f007800007ffffffff00000f86f
  776. X3003dfffffffffffffffffffffe7001e00fe000000fffffc000000fc2300
  777. X077ffffffffffffffffffffff3c00000e6400000000000000000ce30001e
  778. Xfffffffffffffffffffffffde0000060f80000000000000080cf18003dff
  779. Xfffffffffffffffffffffe780000703f00000000000007c07f9800f7ffff
  780. Xffffffffffffffffffffbc0002383b0000000000001c0073e001efffffff
  781. Xffffffffffffffffffcf000318381c000000001f8c00418007bfffffffff
  782. Xfffffffffffffffff7c003f8303c7f00000031ce8040001f7fffffffffff
  783. Xfffffffffffffff9e000f0707c5f9f83c030c78060003dffffffffffffff
  784. Xfffffffffffffef8000060cc1c1c8e4070c700c000f3ffffffffffffffff
  785. Xffffffffffffbe0000e0fc1c1c0e0070c6000003efffffffffffffffffff
  786. Xffffffffffcf8000e1fc181c0f0030c700000fbfffffffffffffffffffff
  787. Xfffffffff3e000030c181f07c030c780003e7fffffffffffffffffffffff
  788. Xfffffffcf800010e181801e038c60000f9ffffffffffffffffffffffffff
  789. Xffffff3f00001e381808601f800007efffffffffffffffffffffffffffff
  790. Xffffcfc0000038188c600600001fbfffffffffffffffffffffffffffffff
  791. Xfff1f80000003f8fc0000000fcffffffffffffffffffffffffffffffffff
  792. Xfe7f000000000000000007f3ffffffffffffffffffffffffffffffffffff
  793. Xcfe0000000000000003f9ffffffffffffffffffffffffffffffffffffff1
  794. Xfe00000000000003fcfffffffffffffffffffffffffffffffffffffffe3f
  795. Xe000000000003fe7ffffffffffffffffffffffffffffffffffffffffc3ff
  796. X8000000007fe3ffffffffffffffffffffffffffffffffffffffffffc3fff
  797. X800007ffe1ffffffffffffffffffffffffffffffffffffffffffffe1ffff
  798. Xfffffc3fffffffffffffffffffffffffffffffffffffffffffffff80ffff
  799. Xf807ffffffffffffffffffffffffffffffffffffffffffffffffff800007
  800. Xffffffffffffffffffffffffff0000000000000000000000000000000000
  801. X000000000000000000000000000000000000000000000000000000000000
  802. X0000000000000000000000000000000000000000000000000000>}
  803. X    image
  804. X    grestore
  805. X} def
  806. X
  807. X/flamer-text {
  808. X    gsave
  809. X    cardmargin 2 mul photowidth add
  810. X      cardheight cardmargin sub photoheight sub  translate
  811. X    /Helvetica-BoldOblique findfont flamer-textsize scalefont setfont
  812. X    0  photoheight flamer-textsize sub moveto  (LICENSED)  show
  813. X    0  photoheight 2 div flamer-textsize 2 div sub  moveto  (TO)  show
  814. X    0  0  moveto  (FLAME)  show
  815. X    grestore
  816. X} def
  817. X
  818. X/flamer-info {
  819. X    gsave
  820. X    /Helvetica findfont flamer-infosize scalefont setfont
  821. X    cardmargin  cardmargin  translate
  822. X    0  flamer-infosize 1.5 mul  moveto
  823. X    flamer-infowidth FirstName: ( ) LastName: strcat strcat showlimited
  824. X    0  0  moveto
  825. X    flamer-infowidth E-mail: showlimited
  826. X    grestore
  827. X} def
  828. X
  829. X/flamer-card {
  830. X    cardstart
  831. X    black setgray
  832. X    0 setlinewidth
  833. X    cardticks
  834. X    cardmargin  cardheight cardmargin sub photoheight sub  moveto
  835. X    photowidth photoheight photo
  836. X    flamer-logo
  837. X    flamer-text
  838. X    flamer-info
  839. X    cardend
  840. X} def
  841. X
  842. Xflamer-card
  843. SHAR_EOF
  844. if test 15076 -ne "`wc -c < 'flamer.card'`"
  845. then
  846.     echo shar: error transmitting "'flamer.card'" '(should have been 15076 characters)'
  847. fi
  848. fi # end of overwriting check
  849. echo shar: extracting "'net23.card'" '(3366 characters)'
  850. if test -f 'net23.card'
  851. then
  852.     echo shar: will not over-write existing file "'net23.card'"
  853. else
  854. sed 's/^X//' << \SHAR_EOF > 'net23.card'
  855. X% @(#) $Header: net23.card,v 1.1 90/06/11 02:56:09 jef Exp $
  856. X%
  857. X% net23.card - Network 23 ID
  858. X%
  859. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  860. X
  861. X/net23-netxxiiisize 0.15 in def
  862. X/net23-logowidth photowidth def
  863. X/net23-logoheight photoheight def
  864. X/net23-logolinewidth 0.05 in def
  865. X/net23-logolinemargin net23-logolinewidth 2 div def
  866. X/net23-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
  867. X/net23-numwidth net23-boxheight diagoffsetfactor mul net23-logowidth add def
  868. X/net23-namewidth cardwidth cardmargin 3 mul sub net23-numwidth sub def
  869. X
  870. X/net23-logo {
  871. X    gsave
  872. X    net23-logolinewidth setlinewidth
  873. X    cardwidth cardmargin sub net23-logowidth sub
  874. X      cardheight cardmargin sub net23-logolinewidth 2 div sub  translate
  875. X    0 0 moveto  net23-logowidth 0 rlineto  stroke
  876. X    0  net23-logolinewidth 2 div net23-logolinemargin add net23-netxxiiisize add neg  translate
  877. X    /Helvetica-Bold findfont 0.25 in scalefont setfont
  878. X    0 0 moveto  net23-logowidth net23-netxxiiisize (NETWORK) showboxed
  879. X    0  net23-logolinemargin net23-logolinewidth 2 div add neg  translate
  880. X    0 0 moveto  net23-logowidth 0 rlineto  stroke
  881. X    /Times-Bold findfont 0.25 in scalefont setfont
  882. X    /23size
  883. X        net23-logoheight net23-logolinewidth 4 mul sub net23-logolinemargin 6 mul sub
  884. X        net23-netxxiiisize 2 mul sub
  885. X    def
  886. X    0  net23-logolinewidth 2 div net23-logolinemargin add 23size add neg  translate
  887. X    0 0 moveto  net23-logowidth 23size (23) showboxed
  888. X    0  net23-logolinemargin net23-logolinewidth 2 div add neg  translate
  889. X    0 0 moveto  net23-logowidth 0 rlineto  stroke
  890. X    0  net23-logolinewidth 2 div net23-logolinemargin add net23-netxxiiisize add neg  translate
  891. X    0 0 moveto  net23-logowidth net23-netxxiiisize (XXIII) showboxed
  892. X    0  net23-logolinemargin net23-logolinewidth 2 div add neg  translate
  893. X    0 0 moveto  net23-logowidth 0 rlineto  stroke
  894. X    grestore
  895. X} def
  896. X
  897. X/net23-info {
  898. X    cardmargin  cardmargin net23-boxheight add  moveto
  899. X    net23-namewidth net23-boxheight (NAME)
  900. X    FirstName: ( ) LastName: strcat strcat diagbox
  901. X    cardmargin  cardmargin  moveto
  902. X    net23-namewidth net23-boxheight (SIGNATURE) ()  diagbox
  903. X    cardwidth cardmargin sub net23-numwidth sub
  904. X      cardmargin net23-boxheight add  moveto
  905. X    net23-numwidth net23-boxheight (EMPLOYEE NO.)
  906. X      4 randdigs  diagbox
  907. X    cardwidth cardmargin sub net23-numwidth sub cardmargin  moveto
  908. X    net23-numwidth net23-boxheight (CREDIT RATING)
  909. X    (ABC) randchar (123) randchar strcat diagbox
  910. X} def
  911. X
  912. X/net23-asseenontv {
  913. X    gsave
  914. X    newpath
  915. X    0.5 0 moveto
  916. X    0.05 0  0 0.05  0 0.5  curveto
  917. X    0 0.95  0.05 1  0.5 1  curveto
  918. X    0.95 1  1 0.95  1 0.5  curveto
  919. X    1 0.05  0.95 0  0.5 0  curveto
  920. X    black setgray fill
  921. X    white setgray
  922. X    /Helvetica-Bold findfont 0.25 in scalefont setfont
  923. X    0.1 0.7 moveto  0.8 0.2 (AS SEEN ON) showboxed
  924. X    0.1 0.1 moveto  0.8 0.5 (TV) showboxed
  925. X    grestore
  926. X} def
  927. X
  928. X/net23-card {
  929. X    cardstart
  930. X    black setgray
  931. X    0 setlinewidth
  932. X    cardticks
  933. X    cardmargin  cardheight cardmargin sub photoheight sub  moveto
  934. X    photowidth photoheight photo
  935. X    net23-logo
  936. X    gsave
  937. X    cardmargin net23-logowidth add cardmargin 2 mul add
  938. X      cardheight cardmargin sub net23-logoheight sub cardmargin 3 mul add
  939. X      translate
  940. X    cardwidth cardmargin 2 mul sub net23-logowidth sub cardmargin 4 mul sub photowidth sub
  941. X      net23-logoheight cardmargin 6 mul sub
  942. X      scale
  943. X    net23-asseenontv
  944. X    grestore
  945. X    net23-info
  946. X    cardend
  947. X} def
  948. X
  949. Xnet23-card
  950. SHAR_EOF
  951. if test 3366 -ne "`wc -c < 'net23.card'`"
  952. then
  953.     echo shar: error transmitting "'net23.card'" '(should have been 3366 characters)'
  954. fi
  955. fi # end of overwriting check
  956. echo shar: extracting "'rekall.card'" '(3207 characters)'
  957. if test -f 'rekall.card'
  958. then
  959.     echo shar: will not over-write existing file "'rekall.card'"
  960. else
  961. sed 's/^X//' << \SHAR_EOF > 'rekall.card'
  962. X% @(#) $Header: rekall.card,v 1.1 90/06/11 02:56:10 jef Exp $
  963. X%
  964. X% rekall.card - Rekall ID (from "Totall Recall")
  965. X%
  966. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  967. X
  968. X/rekall-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
  969. X/rekall-jobwidth 1.1 in def
  970. X/rekall-namewidth cardwidth cardmargin 2 mul sub rekall-jobwidth sub def
  971. X
  972. X/rekall-mottoheight 0.15 in def
  973. X/rekall-logowidth cardwidth cardmargin 2.5 mul sub photowidth sub def
  974. X/rekall-logoheight photoheight cardmargin 1.5 mul sub rekall-mottoheight sub 2 div def
  975. X/rekall-pixelshigh 9 def
  976. X/rekall-pixelheight rekall-logoheight rekall-pixelshigh div def
  977. X/rekall-pixelswide rekall-logowidth rekall-pixelheight div cvi def
  978. X/rekall-pixelwidth rekall-logowidth rekall-pixelswide div def
  979. X/rekall-pixelfrac 0.8 def
  980. X/rekall-rekallwidth rekall-logowidth def
  981. X/rekall-rekallheight rekall-logoheight def
  982. X/rekall-mottowidth rekall-logowidth def
  983. X
  984. X/rekall-logo {
  985. X    gsave
  986. X    cardmargin 1.5 mul photowidth add
  987. X      cardheight cardmargin sub rekall-logoheight sub
  988. X      translate
  989. X    0.05 setlinewidth
  990. X    0 0 moveto  rekall-logowidth rekall-logoheight square
  991. X    0 1 rekall-pixelshigh 1 sub {
  992. X        0 1 rekall-pixelswide 1 sub {
  993. X        2 copy rekall-pixelswide 2 div sub exch rekall-pixelshigh 2 div sub
  994. X          dup mul exch dup mul add sqrt  rekall-pixelshigh 2 div le
  995. X        {
  996. X            0.15
  997. X        } {
  998. X            0.7
  999. X        } ifelse
  1000. X        randuni gt {
  1001. X            2 copy rekall-pixelwidth mul exch rekall-pixelheight mul moveto
  1002. X            1 rekall-pixelfrac sub rekall-pixelwidth mul 2 div
  1003. X              1 rekall-pixelfrac sub rekall-pixelheight mul 2 div
  1004. X              rmoveto
  1005. X            rekall-pixelfrac rekall-pixelwidth mul
  1006. X              rekall-pixelfrac rekall-pixelheight mul
  1007. X              filledsquare
  1008. X        } if
  1009. X        pop
  1010. X        } for
  1011. X        pop
  1012. X    } for
  1013. X    grestore
  1014. X} def
  1015. X
  1016. X/rekall-rekall {
  1017. X    gsave
  1018. X    cardmargin 1.5 mul photowidth add
  1019. X      cardheight cardmargin sub photoheight sub rekall-mottoheight add cardmargin add
  1020. X      translate
  1021. X        0 0 moveto
  1022. X    /Helvetica-Bold findfont 0.50 in scalefont setfont
  1023. X    rekall-rekallwidth rekall-rekallheight (REKALL) showboxed
  1024. X    grestore
  1025. X} def
  1026. X
  1027. X/rekall-motto {
  1028. X    gsave
  1029. X    cardmargin 1.5 mul photowidth add
  1030. X      cardheight cardmargin 2 div sub photoheight sub
  1031. X      translate
  1032. X        0 0 moveto
  1033. X    /Helvetica-Oblique findfont 0.25 in scalefont setfont
  1034. X    rekall-mottowidth rekall-mottoheight ("For the memory of a lifetime.") showboxed
  1035. X    grestore
  1036. X} def
  1037. X
  1038. X/rekall-info {
  1039. X    cardmargin  cardmargin rekall-boxheight add  moveto
  1040. X    rekall-namewidth rekall-boxheight (NAME)
  1041. X    FirstName: ( ) LastName: strcat strcat diagbox
  1042. X    cardmargin  cardmargin  moveto
  1043. X    rekall-namewidth rekall-boxheight (SIGNATURE) ()  diagbox
  1044. X    cardwidth cardmargin sub rekall-jobwidth sub
  1045. X      cardmargin rekall-boxheight add  moveto
  1046. X    rekall-jobwidth rekall-boxheight (JOB CLASS.) (Implant Tech)  diagbox
  1047. X    cardwidth cardmargin sub rekall-jobwidth sub cardmargin  moveto
  1048. X    rekall-jobwidth rekall-boxheight (EMPLOYEE NO.)  4 randdigs  diagbox
  1049. X} def
  1050. X
  1051. X/rekall-card {
  1052. X    cardstart
  1053. X    black setgray
  1054. X    0 setlinewidth
  1055. X    cardticks
  1056. X    cardmargin  cardheight cardmargin sub photoheight sub  moveto
  1057. X    photowidth photoheight photo
  1058. X    rekall-logo
  1059. X    rekall-rekall
  1060. X    rekall-motto
  1061. X    rekall-info
  1062. X    cardend
  1063. X} def
  1064. X
  1065. Xrekall-card
  1066. SHAR_EOF
  1067. if test 3207 -ne "`wc -c < 'rekall.card'`"
  1068. then
  1069.     echo shar: error transmitting "'rekall.card'" '(should have been 3207 characters)'
  1070. fi
  1071. fi # end of overwriting check
  1072. echo shar: extracting "'una.card'" '(1597 characters)'
  1073. if test -f 'una.card'
  1074. then
  1075.     echo shar: will not over-write existing file "'una.card'"
  1076. else
  1077. sed 's/^X//' << \SHAR_EOF > 'una.card'
  1078. X% @(#) $Header: una.card,v 1.1 90/06/11 02:56:24 jef Exp $
  1079. X%
  1080. X% una.card - USENET News Agency ID
  1081. X%
  1082. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  1083. X
  1084. X/una-unasize 0.275 in def
  1085. X/una-infosize 0.13 in def
  1086. X/una-pressheight 0.6 in def
  1087. X/una-infowidth cardwidth cardmargin 3 mul sub una-pressheight sub def
  1088. X
  1089. X/una-logo {
  1090. X    gsave
  1091. X    /Helvetica findfont una-unasize scalefont setfont
  1092. X    cardmargin  cardheight cardmargin sub  translate
  1093. X    1 1.3 scale
  1094. X    0  una-unasize 0.72 mul neg  moveto
  1095. X    (USENET) show
  1096. X    0  una-unasize 1.72 mul neg  moveto
  1097. X    (NEWS) show
  1098. X    0  una-unasize 2.72 mul neg  moveto
  1099. X    (AGENCY) show
  1100. X    grestore
  1101. X    gsave
  1102. X    cardwidth cardmargin sub  cardmargin  translate
  1103. X    90 rotate
  1104. X    0 0 moveto
  1105. X    /Times-Bold findfont 0.50 in scalefont setfont
  1106. X    cardheight cardmargin 2 mul sub una-pressheight (PRESS) showboxed
  1107. X    grestore
  1108. X} def
  1109. X
  1110. X/una-text {
  1111. X    gsave
  1112. X    /Helvetica findfont una-infosize scalefont setfont
  1113. X    cardmargin  cardmargin  translate
  1114. X    0  una-infosize 3 mul  moveto
  1115. X    una-infowidth  FirstName: ( ) LastName: strcat strcat  showlimited
  1116. X    0  una-infosize 2 mul  moveto
  1117. X    una-infowidth  Address1:
  1118. X    Address2: length 0 gt { (, ) Address2: strcat strcat } if
  1119. X    showlimited
  1120. X    0  una-infosize  moveto
  1121. X    una-infowidth  CityStateZip:  showlimited
  1122. X    0  0  moveto
  1123. X    una-infowidth  E-mail:  showlimited
  1124. X    grestore
  1125. X} def
  1126. X
  1127. X/una-card {
  1128. X    cardstart
  1129. X    black setgray
  1130. X    0 setlinewidth
  1131. X    cardticks
  1132. X    cardwidth cardmargin 4 mul sub una-pressheight sub photowidth sub
  1133. X      cardheight cardmargin sub photoheight sub  moveto
  1134. X    photowidth photoheight photo
  1135. X    una-logo
  1136. X    una-text
  1137. X    cardend
  1138. X} def
  1139. X
  1140. Xuna-card
  1141. SHAR_EOF
  1142. if test 1597 -ne "`wc -c < 'una.card'`"
  1143. then
  1144.     echo shar: error transmitting "'una.card'" '(should have been 1597 characters)'
  1145. fi
  1146. fi # end of overwriting check
  1147. echo shar: extracting "'yoyo.card'" '(6374 characters)'
  1148. if test -f 'yoyo.card'
  1149. then
  1150.     echo shar: will not over-write existing file "'yoyo.card'"
  1151. else
  1152. sed 's/^X//' << \SHAR_EOF > 'yoyo.card'
  1153. X% @(#) $Header: yoyo.card,v 1.1 90/06/11 02:56:25 jef Exp $
  1154. X%
  1155. X% yoyo.card - Yoyodyne Propulsion Systems employee ID
  1156. X%
  1157. X% Copyright (C) 1990 by Jef Poskanzer.  All rights reserved.
  1158. X
  1159. X/yoyo-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
  1160. X/yoyo-numwidth yoyo-boxheight diagoffsetfactor mul photowidth add def
  1161. X/yoyo-namewidth cardwidth cardmargin 3 mul sub yoyo-numwidth sub def
  1162. X/yoyo-logoheight photoheight cardmargin sub def
  1163. X
  1164. X/yoyo-logodict 50 dict def
  1165. X/yoyo-logo { yoyo-logodict begin
  1166. X
  1167. X    /r3 3 sqrt def        % useful constants
  1168. X    /r3d2 r3 2 div def
  1169. X
  1170. X    /h  yoyo-logoheight  def    % height of triangle
  1171. X    /s  h r3d2 div  def        % side of triangle
  1172. X
  1173. X    /so2  s 2 div  def
  1174. X    /h1  .07 h mul  def        % height of first horiz line - below PROPUL
  1175. X    /h2  .15 h mul  def        % height of second horiz line - below YOYO
  1176. X    /h3  .3 h mul  def        % height of third horiz line - above YOYO
  1177. X    /r1  .12 s mul  def        % radius of larger circle
  1178. X    /r1m  .95 r1 mul  def    % a little less than r1
  1179. X    /h4  .55 h mul  def        % height of center of circle
  1180. X    /h5  h4 r1 .7 mul add  def    % height of center of rocket wake
  1181. X    /r2  .06 s mul  def        % radius of smaller circle
  1182. X    /step  .03 s mul  def    % size of little steps
  1183. X    /rocketrot  -13  def        % angle of rocket and tail
  1184. X    /wakewidth  .01 s mul  def    % line width of rocket wake
  1185. X    /wakexsize  .30 s mul  def    % x size of rocket wake
  1186. X    /wakeysize  .4 r1 mul  def    % y size of rocket wake
  1187. X    /wake1ysize  1.30 wakeysize mul  def
  1188. X    /wake3ysize  .70 wakeysize mul  def
  1189. X
  1190. X    /gray  .25  def
  1191. X
  1192. X    1 setlinecap
  1193. X
  1194. X    % Rocket wake part 2.
  1195. X    /rocketwake2 {
  1196. X    black setgray
  1197. X    wakewidth  setlinewidth
  1198. X    newpath
  1199. X    so2  h5  rocketrot  wakexsize  wakeysize  0  180  ellipser
  1200. X    stroke
  1201. X    } def
  1202. X
  1203. X    % Dark triangle.
  1204. X    /darktriangle {
  1205. X    0  0  moveto
  1206. X    so2  h  lineto
  1207. X    s  0  lineto
  1208. X    0  0  lineto
  1209. X    fill
  1210. X    } def
  1211. X
  1212. X    % White hollow.
  1213. X    /whitehollow {
  1214. X    white setgray
  1215. X    s  h1  moveto
  1216. X    so2  h1  lineto
  1217. X    so2  h2  lineto
  1218. X    .145 s mul neg  0  rlineto
  1219. X    0  1.5 h1 mul h2 sub  rlineto
  1220. X    .21 s mul  1.5 h1 mul  lineto
  1221. X    .21 s mul  h3  lineto
  1222. X    so2 r1 sub step sub  h4  lineto
  1223. X    so2 r1 add step add  h4  lineto
  1224. X    s .21 s mul sub  h3  lineto
  1225. X    s  h3  lineto
  1226. X    s  h1  lineto
  1227. X    fill
  1228. X    } def
  1229. X
  1230. X    % Weird-shaped dark area.
  1231. X    /darkarea {
  1232. X    so2  h3  moveto
  1233. X    r1m neg step neg add  0  rlineto
  1234. X    0  step  rlineto
  1235. X    step  0  rlineto
  1236. X    0  h4 h3 sub step sub  rlineto
  1237. X    2 r1m mul  0 rlineto
  1238. X    0  h4 h3 sub step sub neg  rlineto
  1239. X    step  0  rlineto
  1240. X    0  step neg  rlineto
  1241. X    fill
  1242. X    } def
  1243. X
  1244. X    % White circle.
  1245. X    /whitecircle {
  1246. X    white setgray
  1247. X    so2  h4  r1  0  360  arc
  1248. X    fill
  1249. X    } def
  1250. X
  1251. X    % White circular bite.
  1252. X    /whitebite {
  1253. X    white setgray
  1254. X    s .13 s mul sub  h1 2 div r2 add  r2  0  360  arc
  1255. X    fill
  1256. X    } def
  1257. X
  1258. X    % Rocket.
  1259. X    /rocket {
  1260. X    gsave
  1261. X    so2  h5  translate
  1262. X    rocketrot  rotate
  1263. X    0  wake3ysize neg  translate
  1264. X    newpath
  1265. X        .05 h mul  -.034 h mul  0  .17 h mul  .05 h mul  90  135  ellipser
  1266. X        .05 h mul   .034 h mul  0  .17 h mul  .05 h mul  225  270  ellipser
  1267. X    closepath
  1268. X    black setgray  fill
  1269. X    .06 h mul  0  0  .06 h mul  .035 h mul  0  360  ellipser
  1270. X    black setgray  fill
  1271. X    .06 h mul  0  0  .035 h mul  .040 h mul  0  360  ellipser
  1272. X    white setgray  fill
  1273. X    .07 h mul  0  0  .035 h mul  .040 h mul  0  360  ellipser
  1274. X    white setgray  fill
  1275. X    .08 h mul  0  0  .045 h mul  .045 h mul  0  360  ellipser
  1276. X    white setgray  fill
  1277. X    .030 h mul  0  0  .010 h mul  .010 h mul  0  360  ellipser
  1278. X    white setgray  fill
  1279. X    grestore
  1280. X    } def
  1281. X
  1282. X    % Rocket wake part 3.
  1283. X    /rocketwake3 {
  1284. X    wakewidth  setlinewidth
  1285. X    newpath
  1286. X    so2  h5  rocketrot  wakexsize  wake3ysize  277  360  ellipser
  1287. X    stroke
  1288. X    } def
  1289. X
  1290. X    % Rocket wake part 1.
  1291. X    /rocketwake1 {
  1292. X    newpath  .9 wakewidth mul  setlinewidth
  1293. X    so2  h5  rocketrot  wakexsize  wake1ysize  180  190  ellipser
  1294. X    stroke
  1295. X    newpath  .8 wakewidth mul  setlinewidth
  1296. X    so2  h5  rocketrot  wakexsize  wake1ysize  190  200  ellipser
  1297. X    stroke
  1298. X    newpath .7 wakewidth mul  setlinewidth
  1299. X    so2  h5  rocketrot  wakexsize  wake1ysize  200  210  ellipser
  1300. X    stroke
  1301. X    newpath .6 wakewidth mul  setlinewidth
  1302. X    so2  h5  rocketrot  wakexsize  wake1ysize  210  220  ellipser
  1303. X    stroke
  1304. X    newpath .5 wakewidth mul  setlinewidth
  1305. X    so2  h5  rocketrot  wakexsize  wake1ysize  220  230  ellipser
  1306. X    stroke
  1307. X    newpath .4 wakewidth mul  setlinewidth
  1308. X    so2  h5  rocketrot  wakexsize  wake1ysize  230  240  ellipser
  1309. X    stroke
  1310. X    newpath .3 wakewidth mul  setlinewidth
  1311. X    so2  h5  rocketrot  wakexsize  wake1ysize  240  250  ellipser
  1312. X    stroke
  1313. X    newpath .2 wakewidth mul  setlinewidth
  1314. X    so2  h5  rocketrot  wakexsize  wake1ysize  250  260  ellipser
  1315. X    stroke
  1316. X    newpath .1 wakewidth mul  setlinewidth
  1317. X    so2  h5  rocketrot  wakexsize  wake1ysize  260  270  ellipser
  1318. X    stroke
  1319. X    } def
  1320. X
  1321. X    % Logo text.
  1322. X    /yoyotext {
  1323. X    black setgray
  1324. X    /off1  h2 h1 sub .2 mul  def
  1325. X    so2 off1 add   h2 off1 add  moveto
  1326. X    /Helvetica-Oblique findfont  h3 h2 sub  scalefont  setfont
  1327. X    (YOYODYNE) show
  1328. X    /offset  h2 h1 sub .2 mul  def
  1329. X    so2 off1 add  h1 off1 add  moveto
  1330. X    /Helvetica-Oblique findfont  h2 h1 sub  scalefont  setfont
  1331. X    (PROPULSION SYSTEMS) show
  1332. X    h 1.7 mul  h 0.85 mul  moveto
  1333. X    /Helvetica-Oblique findfont  h 0.12 mul  scalefont  setfont
  1334. X    ("The Future Begins) showright
  1335. X    h 1.7 mul  h 0.7 mul  moveto
  1336. X    (Tomorrow") showright
  1337. X    } def
  1338. X
  1339. X    % Finally, actually draw something.
  1340. X    rocketwake2
  1341. X    gray setgray  darktriangle
  1342. X    whitehollow
  1343. X    gray setgray  darkarea
  1344. X    whitecircle
  1345. X    whitebite
  1346. X    rocket
  1347. X    black setgray  rocketwake3
  1348. X    black setgray  rocketwake1
  1349. X    yoyotext
  1350. X
  1351. Xend } def
  1352. X
  1353. X/yoyo-info {
  1354. X    cardmargin  cardmargin yoyo-boxheight add  moveto
  1355. X    yoyo-namewidth yoyo-boxheight (NAME)
  1356. X      (John ) FirstName: 0 1 getinterval (. ) LastName:
  1357. X      strcat strcat strcat  diagbox
  1358. X    cardmargin  cardmargin  moveto
  1359. X    yoyo-namewidth yoyo-boxheight (SIGNATURE) ()  diagbox
  1360. X    cardwidth cardmargin sub yoyo-numwidth sub
  1361. X      cardmargin yoyo-boxheight add  moveto
  1362. X    yoyo-numwidth yoyo-boxheight (EMPLOYEE NO.)  4 randdigs  diagbox
  1363. X    cardwidth cardmargin sub yoyo-numwidth sub cardmargin  moveto
  1364. X    yoyo-numwidth yoyo-boxheight (ISSUE DATE) (Nov 1 1938)  diagbox
  1365. X} def
  1366. X
  1367. X/yoyo-card {
  1368. X    cardstart
  1369. X    black setgray
  1370. X    0 setlinewidth
  1371. X    cardticks
  1372. X    cardwidth cardmargin sub photowidth sub
  1373. X      cardheight cardmargin sub photoheight sub  moveto
  1374. X    photowidth photoheight photo
  1375. X    gsave
  1376. X    cardmargin  cardheight cardmargin sub yoyo-logoheight sub  translate
  1377. X    yoyo-logo
  1378. X    grestore
  1379. X    yoyo-info
  1380. X    cardend
  1381. X} def
  1382. X
  1383. Xyoyo-card
  1384. SHAR_EOF
  1385. if test 6374 -ne "`wc -c < 'yoyo.card'`"
  1386. then
  1387.     echo shar: error transmitting "'yoyo.card'" '(should have been 6374 characters)'
  1388. fi
  1389. fi # end of overwriting check
  1390. echo shar: extracting "'zikzak.card'" '(3772 characters)'
  1391. if test -f 'zikzak.card'
  1392. then
  1393.     echo shar: will not over-write existing file "'zikzak.card'"
  1394. else
  1395. sed 's/^X//' << \SHAR_EOF > 'zikzak.card'
  1396. X% @(#) $Header: zikzak.card,v 1.1 90/06/11 02:56:27 jef Exp $
  1397. X%
  1398. X% zikzak.card - Zik Zak employee ID
  1399. X%
  1400. X% Copyright (C) 1990 by Jef Poskanzer and Ilsa Van Hook.  All rights reserved.
  1401. X
  1402. X/zikzak-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
  1403. X/zikzak-numwidth 0.9 in def
  1404. X/zikzak-namewidth cardwidth cardmargin 3 mul sub zikzak-numwidth sub def
  1405. X
  1406. X/zikzak-logowidth cardwidth cardmargin 2 mul sub photowidth sub def
  1407. X/zikzak-logoheight photoheight def
  1408. X/zikzak-kfsize 0.15 in def
  1409. X
  1410. X/zikzak-logo {
  1411. X    gsave
  1412. X    cardwidth cardmargin sub zikzak-logowidth sub
  1413. X      cardheight cardmargin sub zikzak-logoheight sub  translate
  1414. X
  1415. X    zikzak-logowidth cardmargin 2 div moveto
  1416. X    /Helvetica-Bold findfont zikzak-kfsize scalefont setfont
  1417. X    (KNOW FUTURE) showright
  1418. X
  1419. X    newpath  0 0 moveto
  1420. X    zikzak-logowidth 1.1 mul 0 rlineto
  1421. X    0 zikzak-logoheight rlineto
  1422. X    zikzak-logowidth 1.1 mul neg 0 rlineto
  1423. X    closepath clip newpath
  1424. X
  1425. X    0.35 in 0 translate
  1426. X    12 dup scale
  1427. X    15 rotate
  1428. X
  1429. X    /leftedge -5 def
  1430. X    /rightedge 15 def
  1431. X
  1432. X    % the line leading into zik
  1433. X    leftedge 5.7 moveto  
  1434. X    0.9 5.7 lineto  .4 4.8 lineto  leftedge 4.8 lineto
  1435. X    closepath fill
  1436. X    % the line away from zik:
  1437. X    rightedge 3.5 moveto  
  1438. X    7.4 3.5 lineto  
  1439. X    7.4 2.6 lineto  
  1440. X    rightedge 2.6 lineto
  1441. X    closepath fill
  1442. X    % the line into zak:
  1443. X    leftedge 2.5 moveto  
  1444. X    2.4 2.4 lineto
  1445. X    1.9 1.5 lineto  
  1446. X    leftedge 1.5 lineto
  1447. X    closepath fill
  1448. X    % the line away from zak:
  1449. X    rightedge .2 moveto
  1450. X    9.5 .2 lineto
  1451. X    9.5 -.7 lineto
  1452. X    rightedge -.7 lineto
  1453. X    closepath fill
  1454. X
  1455. X    % the dot over zik's i:
  1456. X    3.8 5.3 .5 0 360 arc fill
  1457. X    % zik, proper, starting from upper left:
  1458. X    1.1 5.7 moveto
  1459. X    3.1 5.7 lineto
  1460. X    2.234 4.2 lineto
  1461. X    3.3 4.2 lineto        % i-bump
  1462. X    3.3 4.65 lineto
  1463. X    4.2 4.65 lineto
  1464. X    4.2 4.2 lineto
  1465. X    4.8 4.2 lineto        % k
  1466. X    4.8 5.7 lineto
  1467. X    5.7 5.7 lineto
  1468. X    5.7 4.571 lineto    %downstroke
  1469. X%    6.35 4.946 lineto    % 1st diagonal
  1470. X    6.55 5.062 lineto
  1471. X%    6.8 4.167 lineto
  1472. X    7.0 4.282 lineto
  1473. X    6.511 4.0 lineto    % 2nd diagonal
  1474. X    6.8 3.5 lineto
  1475. X    7.2 3.5 lineto
  1476. X    7.2 2.6 lineto
  1477. X    6.3 2.6 lineto
  1478. X    5.7 3.639 lineto
  1479. X    5.7 3.3 lineto
  1480. X    0.7 3.3 lineto
  1481. X    1.566 4.8 lineto
  1482. X    .6 4.8 lineto
  1483. X    closepath
  1484. X    fill
  1485. X
  1486. X    % the triangle over zak's A:
  1487. X    5.091 1.75 moveto
  1488. X    5.466 2.4 lineto
  1489. X    5.841 1.75 lineto
  1490. X    closepath
  1491. X    fill
  1492. X    % the triangle inside zak's A:
  1493. X    5.350 .9 moveto
  1494. X    5.466 1.1 lineto
  1495. X    5.581 .9 lineto
  1496. X    closepath
  1497. X    % zak, proper:
  1498. X    2.6 2.4 moveto
  1499. X    4.6 2.4 lineto
  1500. X    3.734 .9 lineto
  1501. X    4.6 .9 lineto
  1502. X    4.975 1.55 lineto        % 1st diagonal of A
  1503. X    5.957 1.55 lineto
  1504. X    6.332 .9 lineto            % A downstroke
  1505. X    6.9 .9 lineto
  1506. X    6.9 2.4 lineto            % K upstroke
  1507. X    7.8 2.4 lineto
  1508. X    7.8 1.271 lineto    %downstroke
  1509. X%    8.45 1.646 lineto    % 1st diagonal
  1510. X    8.65 1.762 lineto
  1511. X%    8.9 0.867 lineto
  1512. X    9.1 0.982 lineto
  1513. X    8.611 0.7 lineto    % 2nd diagonal
  1514. X    8.9 0.2 lineto
  1515. X    9.3 0.2 lineto
  1516. X    9.3 -.7 lineto
  1517. X    8.4 -.7 lineto
  1518. X    7.8 0.339 lineto
  1519. X    7.8 0 lineto        %end of k
  1520. X    2.2 0 lineto
  1521. X    3.066 1.5 lineto
  1522. X    2.1 1.5 lineto
  1523. X    closepath
  1524. X    eofill
  1525. X    grestore
  1526. X} def
  1527. X
  1528. X/zikzak-info {
  1529. X    cardmargin  cardmargin zikzak-boxheight add  moveto
  1530. X    zikzak-namewidth zikzak-boxheight (NAME)
  1531. X    FirstName: ( ) LastName: strcat strcat diagbox
  1532. X    cardmargin  cardmargin  moveto
  1533. X    zikzak-namewidth zikzak-boxheight (SIGNATURE) ()  diagbox
  1534. X    cardwidth cardmargin sub zikzak-numwidth sub
  1535. X      cardmargin zikzak-boxheight add  moveto
  1536. X    zikzak-numwidth zikzak-boxheight (EMPLOYEE NO.)
  1537. X      6 randdigs  diagbox
  1538. X    cardwidth cardmargin sub zikzak-numwidth sub cardmargin  moveto
  1539. X    zikzak-numwidth zikzak-boxheight (CONSUMER CODE)
  1540. X    randdig
  1541. X    (ABCDEFGHIJKLMNPQRSTUVWXYZ) dup randchar exch randchar    % no "O"
  1542. X    2 randdigs
  1543. X    strcat strcat strcat diagbox
  1544. X} def
  1545. X
  1546. X/zikzak-card {
  1547. X    cardstart
  1548. X    black setgray
  1549. X    0 setlinewidth
  1550. X    cardticks
  1551. X    cardmargin  cardheight cardmargin sub photoheight sub  moveto
  1552. X    photowidth photoheight photo
  1553. X    zikzak-logo
  1554. X    zikzak-info
  1555. X    cardend
  1556. X} def
  1557. X
  1558. Xzikzak-card
  1559. SHAR_EOF
  1560. if test 3772 -ne "`wc -c < 'zikzak.card'`"
  1561. then
  1562.     echo shar: error transmitting "'zikzak.card'" '(should have been 3772 characters)'
  1563. fi
  1564. fi # end of overwriting check
  1565. #    End of shell archive
  1566. exit 0
  1567.  
  1568.  
  1569.