home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Garbo
/
Garbo.cdr
/
mac
/
source
/
fakeps.zoo
/
fake.1
next >
Wrap
Text File
|
1990-06-16
|
52KB
|
1,569 lines
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
# README
# fstocards
# utils.ps
# cards.ps
# flamer.card
# net23.card
# rekall.card
# una.card
# yoyo.card
# zikzak.card
# This archive created: Mon Jun 11 04:04:45 1990
# By: Jef Poskanzer (Paratheo-Anametamystikhood Of Eris Esoteric, Ada Lovelace Cabal)
export PATH; PATH=/bin:$PATH
echo shar: extracting "'README'" '(1340 characters)'
if test -f 'README'
then
echo shar: will not over-write existing file "'README'"
else
sed 's/^X//' << \SHAR_EOF > 'README'
X Fake ID Toolkit
X Distribution of 11jun90
X Previous distribution NONE
X
XContents:
X
X README this
X fstocards script to take a FaceSaver file and make a PostScript
X file with the face inserted into the .card files
X utils.ps general PostScript utilities
X cards.ps utilities specific to making fake ID's
X flamer.card a flamer's license
X net23.card Network 23 employee ID
X rekall.card Rekall employee ID
X subg.card Church of the SubGenius ID
X una.card Usenet News Agency press pass
X yoyo.card Yoyodyne Propulsion Systems employee ID
X zikzak.card ZikZak employee ID
X
XThe simplest thing to do with this package is: get your FaceSaver file
Xfrom uunet, and say "zcat yourface.Z | fstocards | lpr". Cut on the
Xtick marks with an xacto knife, and take the cards to a copy shop to be
Xlaminated. It should cost about a buck. Save money, laminate two
Xback-to-back.
X
XOther things to do: try using colored paper; paste in a real picture
Xinstead of a FaceSaver; look in cards.ps for some code to do
Xdifferent-sized cards; make new cards.
X
XFeedback is welcome; send bug reports, enhancements, checks, money
Xorders, etc. to the addresses below.
X
X Jef Poskanzer
X jef@well.sf.ca.us
X {ucbvax, lll-crg, sun!pacbell, apple, hplabs}!well!jef
SHAR_EOF
if test 1340 -ne "`wc -c < 'README'`"
then
echo shar: error transmitting "'README'" '(should have been 1340 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'fstocards'" '(1355 characters)'
if test -f 'fstocards'
then
echo shar: will not over-write existing file "'fstocards'"
else
sed 's/^X//' << \SHAR_EOF > 'fstocards'
X#!/bin/csh -f
X# @(#) $Header: fstocards,v 1.1 90/06/11 02:56:00 jef Exp $
X#
X# fstocards - turn a FaceSaver file into PostScript for a page of fake IDs
X#
X# Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X
Xif ( $#argv != 0 && $#argv != 1 && $#argv != 2 ) then
X echo "usage: fstocards [fsfile [cardfile]]"
X exit 1
Xendif
X
Xif ( $#argv == 0 ) then
X set fs=/tmp/fstocards$$
X rm -f $fs
X cat > $fs
Xelse
X set fs="$1"
Xendif
X
Xif ( $#argv == 2 ) then
X set cards="$2"
Xelse
X set cards=( *.card )
Xendif
X
X# Add initialization.
Xcat utils.ps cards.ps
X
Xforeach i ( $cards )
X # Add card.
X cat $i
X # Add image data.
X cat $fs
X # Add padding.
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
X echo '0000000000000000000000000000000000000000000000000000000000000000'
Xend
X
X# All done.
Xecho 'showpage'
Xif ( $#argv == 0 ) then
X rm -f $fs
Xendif
SHAR_EOF
if test 1355 -ne "`wc -c < 'fstocards'`"
then
echo shar: error transmitting "'fstocards'" '(should have been 1355 characters)'
fi
chmod +x 'fstocards'
fi # end of overwriting check
echo shar: extracting "'utils.ps'" '(8176 characters)'
if test -f 'utils.ps'
then
echo shar: will not over-write existing file "'utils.ps'"
else
sed 's/^X//' << \SHAR_EOF > 'utils.ps'
X%!PS
X% @(#) $Header: utils.ps,v 1.1 90/06/11 02:56:01 jef Exp $
X%
X% utils.ps - general PostScript utilities
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X%
X% This file defines:
X% in - turn inches to standard PostScript units (points)
X% black, white - for use with setgray
X% strcat - concatenate two strings
X% randrange - 2 ^ 31, range of the rand operator
X% randuni - return a random float in [ 0.0 .. 1.0 )
X% randchar - return a random character from a string
X% randdig - return a random digit as a string
X% randdigs - return N random digits as a string
X% square - draw a square from currentpoint to w, h
X% filledsquare - fill a square from currentpoint to w, h
X% pagewidth, pageheight - width and height of page
X% pagemargin - size of a comfortable margin around the edges
X% showcenter - show a text string centered on currentpoint
X% showright - show a text string right-justified to currentpoint
X% showboxed - show a text string with exactly a specified width and height
X% showlimited - show a text string with at most a specified width
X% showcenterlimited - showlimited that centers the string
X% showrightlimited - showlimited that right-justifies the string
X% facesaverimage - read an appended FaceSaver file and display it
X% photowidth, photoheight - default sizes for photo
X% photo - draw a face saver photo and a box at currentpoint with specified w&h
X% diagbox - draw a diagonal box at currentpoint with specified width and
X% height, and with specified title and contents
X% ellipser - draw a rotated ellipse
X
X
X% Use manual feed, if available.
X%{
X% statusdict begin
X% /manualfeed true def
X% end
X%} stopped pop
X
X% Check whether we are running NeWS or not.
X/currentprocess where /NeWS exch def
X% If NeWS, rotate by epsilon to ensure accurate font scaling.
XNeWS { 0.001 rotate } if
X
X
X/in { 72.27 mul } def
X/black 0 def
X/white 1 def
X
X% Concatenate two strings.
X/strcat { % str1 str2 -- str
X 2 copy % str1 str2 str1 str2
X length exch length % str1 str2 len2 len1
X dup 3 -1 roll add % str1 str2 len1 len
X string % str1 str2 len1 str
X dup 0 6 -1 roll putinterval % str2 len1 str
X dup 3 -1 roll 4 -1 roll putinterval % str
X} def
X
X/randrange 2147483648 def
X
X/randuni {
X rand randrange div
X} def
X
X/randchar { % str -- char
X dup length randuni mul cvi 1 getinterval
X} def
X
X/randdig { % -- digit
X (0123456789) randchar
X} def
X
X/randdigs { % N -- Ndigits
X () exch
X 1 exch 1 exch {
X pop
X randdig strcat
X } for
X} def
X
X/squarepath { % w h --
X 0 1 index rlineto % w h
X 1 index 0 rlineto % w h
X 0 exch neg rlineto % w
X neg 0 rlineto %
X} def
X
X/square {
X squarepath
X stroke
X} def
X
X/filledsquare {
X squarepath
X fill
X} def
X
X% Find size of page and define pageheight and pagewidth.
Xnewpath clippath pathbbox newpath % llx lly urx ury
X3 -1 roll % llx urx ury lly
Xsub % llx urx height
X/pageheight exch def % llx urx
Xexch sub % width
X/pagewidth exch def
X
X/pagemargin 0.5 in def
X
X
X% Some text display utils.
X
X/showcenter {
X dup stringwidth pop % get width of string
X 2 div % divide by two
X neg % make negative
X 0 rmoveto % back up
X show
X} def
X
X/showright {
X dup stringwidth pop % get width of string
X neg % make negative
X 0 rmoveto % back up
X show
X} def
X
X/showboxed { % deswid deshgt str
X gsave
X currentpoint translate
X newpath 0 0 moveto dup false charpath flattenpath
X pathbbox % deswid deshgt str llx lly urx ury
X 3 -1 roll % deswid deshgt str llx urx ury lly
X sub % deswid deshgt str llx urx strhgt
X 3 1 roll exch % deswid deshgt str strhgt urx llx
X sub exch % deswid deshgt str actwid acthgt
X 5 -2 roll % str actwid acthgt deswid deshgt
X 3 -1 roll % str actwid deswid desght acthgt
X div % str actwid deswid yscale
X 3 1 roll exch % str yscale deswid actwid
X div exch % str xscale yscale
X scale % str
X 0 0 moveto show
X grestore
X} def
X
X/showlimited { % maxwid str --
X gsave
X dup stringwidth pop dup % maxwid str wid wid
X 3 index gt { % maxwid str wid
X 2 index exch div 1 scale
X } {
X pop
X } ifelse
X show pop
X grestore
X} def
X
X/showcenterlimited { % maxwid str --
X gsave
X dup stringwidth pop dup % maxwid str wid wid
X 3 index gt { % maxwid str wid
X 2 index exch div 1 scale
X } {
X pop
X } ifelse
X showcenter pop
X grestore
X} def
X
X/showrightlimited { % maxwid str --
X gsave
X dup stringwidth pop dup % maxwid str wid wid
X 3 index gt { % maxwid str wid
X 2 index exch div 1 scale
X } {
X pop
X } ifelse
X showright pop
X grestore
X} def
X
X% Read an appended FaceSaver file and display it in a 1 x 1 box at (0,0).
X% Defines strings for the header lines it finds.
X
X/facesaverbuf 256 string def
X
X/facesaverimage {
X gsave
X % Read and parse header lines, tossing the ones we don't need.
X {
X % Read line.
X currentfile facesaverbuf readline not { errordict begin syntaxerror } if
X % Exit loop on blank line.
X dup length 0 eq { pop exit } if
X % Parse for lines we care about.
X token not {
X % token found only whitespace - ignore this line.
X } {
X % Stack has <rest> <header>.
X dup (PicData:) eq {
X % Found a PicData line.
X pop
X token not { errordict begin syntaxerror } if
X /PicDataWidth exch def
X token not { errordict begin syntaxerror } if
X /PicDataHeight exch def
X token not { errordict begin syntaxerror } if
X /PicDataBits exch def
X pop
X } {
X dup (Image:) eq {
X % Found an Image line.
X pop
X token not { errordict begin syntaxerror } if
X /ImageWidth exch def
X token not { errordict begin syntaxerror } if
X /ImageHeight exch def
X token not { errordict begin syntaxerror } if
X /ImageBits exch def
X pop
X } {
X % Line is nothing we're interested in - define a string.
X cvlit exch dup length string copy def
X } ifelse
X } ifelse
X } ifelse
X } loop
X grestore
X PicDataBits ImageBits ne { errordict begin syntaxerror } if
X gsave
X % Read and display the hex image data.
X 0 1 translate
X 1 -1 scale
X PicDataWidth PicDataHeight PicDataBits
X [ PicDataWidth 0 0 PicDataHeight neg 0 PicDataHeight ]
X { currentfile facesaverbuf readhexstring pop }
X image
X grestore
X} def
X
X
X/photowidth 0.9 in def
X/photoheight photowidth 4 mul 3 div def % 4/3:1 is the FaceSaver ratio
X
X/photo {
X /thisphotoheight exch def
X /thisphotowidth exch def
X gsave
X currentpoint translate
X thisphotowidth thisphotoheight scale
X facesaverimage
X grestore
X thisphotowidth 0 rlineto
X 0 thisphotoheight rlineto
X thisphotowidth neg 0 rlineto
X 0 thisphotoheight neg rlineto
X stroke
X} def
X
X% Draw a cute diagonal box at currentpoint with specified width and height,
X% with specified title and contents.
X/diagoffsetfactor .375 def % times height
X/diagfat 0.02 in def % width of fat lines
X/diagbox {
X /diagcontents exch def
X /diagtitle exch def
X /diagheight exch def
X /diagwidth exch def
X /diagoffset diagoffsetfactor diagheight mul def
X gsave
X currentpoint translate
X
X % Do box.
X 0 setlinewidth
X newpath
X 0 0 moveto
X diagwidth diagoffset sub 0 lineto
X diagwidth diagheight lineto
X diagoffset diagheight lineto
X stroke
X
X % Do fat end.
X 0 0 moveto
X diagfat 0 lineto
X diagoffset diagfat add diagheight lineto
X diagoffset diagheight lineto
X 0 0 lineto
X fill
X
X % Do title.
X diagoffset diagheight 0.15 mul add diagheight 0.8 mul moveto
X /Helvetica findfont diagheight 0.2 mul scalefont setfont
X diagtitle show
X
X % Do contents.
X diagwidth 2 div diagheight 0.3 mul moveto
X /Helvetica findfont diagheight 0.5 mul scalefont setfont
X diagwidth diagoffset 2 mul sub diagcontents showcenterlimited
X
X grestore
X} def
X
X% Canned ellipse routine, modified for rotation.
X/ellipserdict 9 dict def
Xellipserdict /mtrx matrix put
X/ellipser { ellipserdict begin
X /endangle exch def
X /startangle exch def
X /yrad exch def
X /xrad exch def
X /rot exch def
X /y exch def
X /x exch def
X /savematrix mtrx currentmatrix def
X x y translate
X rot rotate
X xrad yrad scale
X 0 0 1 startangle endangle arc
X savematrix setmatrix
Xend } def
X
SHAR_EOF
if test 8176 -ne "`wc -c < 'utils.ps'`"
then
echo shar: error transmitting "'utils.ps'" '(should have been 8176 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'cards.ps'" '(2342 characters)'
if test -f 'cards.ps'
then
echo shar: will not over-write existing file "'cards.ps'"
else
sed 's/^X//' << \SHAR_EOF > 'cards.ps'
X%!PS
X% @(#) $Header: cards.ps,v 1.1 90/06/11 02:56:04 jef Exp $
X%
X% cards.ps - set up PostScript environment for fake IDs
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X%
X% This file defines:
X% cardwidth, cardheight - sizes the card should be drawn to
X% cardmargin - card should leave this much space inside the above sizes
X% cardstart - all cards must start off by calling this
X% cardend - all cards must call this when they are through
X% cardticks - draws cut-marks that line up with cardwidth and cardheight
X
X
X% The card is defined in terms of these nominal sizes.
X/cardwidth 3.125 in def
X/cardheight 1.875 in def
X/cardmargin .05 in def
X
X
X% Un-comment one of the following groups to set the desired size of the card.
X
X% Wallet size.
X/actualwidth cardwidth def
X/actualheight cardheight def
X
X% Shirt-pocket size.
X%/actualwidth 3.5 in def
X%/actualheight 2.25 in def
X
X% Business-card size.
X%/actualwidth 3.5 in def
X%/actualheight 2 in def
X
X% Economy size.
X%/actualwidth 6.5 in def
X%/actualheight 4.5 in def
X
X
X% Define arrangement of cards on the page.
X
X/cardswide 2 def
X/cardshigh 4 def
X/cardslotwidth pagewidth pagemargin 2 mul sub cardswide div def
X/cardslotheight pageheight pagemargin 2 mul sub cardshigh div def
X
X/cardslot 0 def
X
X/cardstart {
X cardslot cardswide cardshigh mul ge {
X showpage
X /cardslot 0 def
X } if
X gsave
X cardslotwidth cardslot cardswide mod mul pagemargin add % dx
X cardslotheight cardslot cardswide idiv 1 add mul
X pageheight pagemargin sub exch sub % dx dy
X translate
X actualwidth cardwidth div actualheight cardheight div scale
X} def
X
X/cardend {
X grestore
X /cardslot cardslot 1 add def
X} def
X
X/cardtick 0.08 in def
X/cardticks {
X 0 0 moveto cardtick neg 0 rmoveto cardtick neg 0 rlineto stroke
X 0 0 moveto 0 cardtick neg rmoveto 0 cardtick neg rlineto stroke
X cardwidth 0 moveto cardtick 0 rmoveto cardtick 0 rlineto stroke
X cardwidth 0 moveto 0 cardtick neg rmoveto 0 cardtick neg rlineto stroke
X cardwidth cardheight moveto cardtick 0 rmoveto cardtick 0 rlineto stroke
X cardwidth cardheight moveto 0 cardtick rmoveto 0 cardtick rlineto stroke
X 0 cardheight moveto cardtick neg 0 rmoveto cardtick neg 0 rlineto stroke
X 0 cardheight moveto 0 cardtick rmoveto 0 cardtick rlineto stroke
X} def
SHAR_EOF
if test 2342 -ne "`wc -c < 'cards.ps'`"
then
echo shar: error transmitting "'cards.ps'" '(should have been 2342 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'flamer.card'" '(15076 characters)'
if test -f 'flamer.card'
then
echo shar: will not over-write existing file "'flamer.card'"
else
sed 's/^X//' << \SHAR_EOF > 'flamer.card'
X% @(#) $Header: flamer.card,v 1.1 90/06/11 02:56:05 jef Exp $
X%
X% flamer.card - License To Flame
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X
X/flamer-logowidth photowidth def
X/flamer-logoheight flamer-logowidth def
X/flamer-infosize 0.2 in def
X/flamer-textsize 0.25 in def
X/flamer-infowidth cardwidth cardmargin 2 mul sub def
X
X/flamer-logo {
X gsave
X cardwidth cardmargin sub flamer-logowidth sub
X cardheight cardmargin sub photoheight flamer-logoheight sub 2 div sub flamer-logoheight sub
X translate
X flamer-logowidth flamer-logoheight scale
X 229 227 1
X [ 229 0 0 -227 0 227 ]
X{<ffffffffffffffffffffffffff800001ffffffffffffffffffffffffffff
Xffffffffffffffffffffff80fffffc03ffffffffffffffffffffffffffff
Xfffffffffffffffffff07ffffffffc1fffffffffffffffffffffffffffff
Xfffffffffffffffe1fffc00003ffe1ffffffffffffffffffffffffffffff
Xffffffffffffe1ff8000000007ff1fffffffffffffffffffffffffffffff
Xffffffffff1ff000000000003fe1ffffffffffffffffffffffffffffffff
Xfffffff8ff00000000000001fe3fffffffffffffffffffffffffffffffff
Xffffc7f00001f8000000003fcfffffffffffffffffffffffffffffffffff
Xff3f80007ff800001f8003f1fffffffffffffffffffffffffffffffffff8
Xfc0008f71800007860007e7fffffffffffffffffffffffffffffffffe7e0
X0078c70800007070001f8fffffffffffffffffffffffffffffffff9f0000
X7047000000f0303003e3fffffffffffffffffffffffffffffffe7c007038
X07000000e0383e00f8fffffffffffffffffffffffffffffff9f000fc3803
X800001e0383f801e7fffffffffffffffffffffffffffffe7c0007e180380
X0001e03838e0079fffffffffffffffffffffffffffff9f00783f18038000
X01e078386001e7ffffffffffffffffffffffffffff7c01fc3fdc03800001
Xc07038000079fffffffffffffffffffffffffffcf007801bfc03800000c0
X707800003efffffffffffffffffffffffffff3c01f0019fc03800000e0f0
X7e00000f3fffffffffffffffffffffffffef000f00187e07e0000060e076
X000003dfffffffffffffffffffffffff9e0107100c3e0600000031c0e000
X0001e7ffffffffffffffffffffffff780703b00c1e000000000f00e00000
X007bfffffffffffffffffffffffef00783f80e00000000000001e0000000
X3dfffffffffffffffffffffff9c00783c18f00000000000003e00000000e
X7ffffffffffffffffffffff7800781c18c00007ffffe0000e000000007bf
Xffffffffffffffffffffef0007c1c380003ffffffff8000000000003dfff
Xffffffffffffffffff9c0007e0e78007ffc0000fff800000000fc0efffff
Xffffffffffffffff380c06e0fc003ff07ffff81ff80000003ee073ffffff
Xfffffffffffffef01f0670f003fe3fffffffe0ff000000783039ffffffff
Xfffffffffffdc07fc678c00fe3ffffffffff1fe0000070301effffffffff
Xfffffffffb803ff63f007fbffffffffffff1fc0000f018077fffffffffff
Xfffffff7000ffe3c01f9fffffffffffffe3f0000e03803bfffffffffffff
Xffffee07067e300fcfffffffffffffffcfc000e03841dfffffffffffffff
Xffdc0f871e003f7ffffffffffffffff9f000c07860efffffffffffffffff
Xb818030600f9ffffffe7e7e7fffffe7c00c078f077ffffffffffffffff70
X78018003e7fffff7e7e7e7efffff9f00e0f0f83bfffffffffffffffee0fc
X00c0079ffffff3e7f7e7efffffe78061e1ec1dfffffffffffffffdc1fe00
Xf01f7ffffbf3e7dbefc7dffff9e03fc3c60efffffffffffffffb818f00e0
X3dfffff9f4003800b7cffffef80f0787077ffffffffffffff7018780c0f3
Xfffdf9cf267e4c379fbfffbc000f83033fffffffffffffee0087c001ffff
Xfcf91f673dcef89fbfffcf001fe203bfffffffffffffcc0003c007bffffc
Xe59f77bdcefc9f3ffff780fcc001dfffffffffffffdc0001f00f7ffcfd04
Xef7365cef320bffffbc0780000efffffffffffffb83e00f81dfffcfbeced
X3301cdf737bf3ffef038001077ffffffffffff707e00707bfffe67dee233
X3cdc57378e3fff781800383bfffffffffffee0ff0060f7ff7e47cee7b37f
Xdbe773e67fffbc08007c1bfffffffffffdc1870001dfff3e39ee6ff3ffdf
Xf677847fffce0000fe1dfffffffffffdc3870003bfff193d067ff3ff9ffe
Xe5bc3cfff70001f30efffffffffffb87c7c0077fff619cff7ff3ff9ffec6
Xb911fffb8003c3077ffffffffff707e7fc0effff799cff3ff3ff9ffcff39
Xadfffdc007c1837ffffffffff601fff81dff9e7dcdff3ff3ff9ffdff33bd
Xfffee03fe183bfffffffffee007c303bffccfccfffbffbff9ff9fff3befb
Xff703e7181dfffffffffdc003e0077ffc03867ffbffbffbff9ffe67f73ff
Xb81c6000dfffffffffd8001f00efffe3b667ff9ffbffbffbffec1827ffdc
X0c0000efffffffffb8000fc1dfe7c3d7f3ffdffbffbffbffcfebcfffee04
X001867ffffffff70e00383bfe199cffbffdff9ff3ff3ff9fe397fff70000
X1837ffffffff60fc03077ff01ccff9ffcff9ff3ff7ff9ff7318ffb80003c
X3bfffffffee1ff800efff7dc7ffdffcff9ff3ff7ff3ff7305ffdc000fe1b
Xfffffffec1fff81dfffbce7ffcffeff9ff3fe7ff3ffe77dffdc001f61dff
Xfffffd80e3fc1bfffbe33ffeffeff9ff3feffe7ffce79ffee007c30fffff
Xfffb8061f83bfee7c39ffe7fe7f9ff3feffefff9cfdfff705fc306ffffff
Xfb00331077fe619fcfff7ff7fdff7fcffcfff383cfffb87ec187fffffff7
X001f10efff1e3fcfff3ff7fdff7fdffdffe3fb047ff83c61837ffffff600
X0e00dfff9e7fe7ffbff7fdff7fdff9ffe7fdf8ffdc184303ffffffee0f06
X01dffe4f7ff3ff9ff3fdff7f9ffbffcffcf1ffee180001bfffffec1f8383
Xbf9c677ff9ffdffbfdff7fbff7ff9ffde1fffe0c0001ffffffdc3f81837f
Xc179fffdffcffbfdff7fbfe7ff3fffccfff70e0030dfffffd87381877fdf
X7cfffeffeffbfdfe7f3feffe7fff9d67fb878070dfffffd8618006ffef9e
X7ffe7fe7fdfcfe7f7fcffefffe3da7ff8301f06fffffb0e1800fffefc73f
Xff3ff7fdfcfe7f7fdffcfffc73effdc003f06fffffb0f1801dffcf1f9fff
Xbff3fdfcfefe7f9ff9fff9c7effec00ff077ffff70ff801bffc37fcfffdf
Xfbfcfcfefeffbff3fff3f3effee1fce037ffff617f803bfd897fe7ffeff9
Xfefefefeff7fe7ffe7fde7ff60f1e03ffffee00fe037fe3c7ffbffe7fdfe
Xfefefcfe7fefff8ffd077f70e1c21bfffec003f877ff1e7ffdfff3fcfefe
Xfefdfeffdfff1ffd7c7fb043821bfffec000786ffec7fffefffbfeff7efe
Xfdfcffbffe7ffcf0ffb847871dfffdc30030effcf3ffff3ffdfe7f7efcf9
Xfdff3ffcfffde1ffd8071f0dfffd878010dffcfcffff9ffcff7f7efdfbf9
Xfe7ff9ffff84ffdc0ffd0dfffd860000df837e3fffcfffff3ffffffbfbfc
Xffe7fffe1cffec0fe00efffb860181bf87078fffe7ff7fbffffffff7fdff
Xcffff87907ee1f8006fffb0c00c1bfefc7e7fff3ffbffffffffff7fbff9f
Xfff1c3effe1e0006fffb0c38c3ffe79ff1fffdffdffffffffffff7ff7fff
Xc78fdff70800077ff70c30c37fefbffcfffeffffffffffffffe7feffff1f
Xe7dff70007837ff60fe0837fe0bfff3fff3fffffffffffffcff9fffc7ffb
Xdffb000fc37ff61ff086ffc63fffcfff9ffffffffffffffff3fff1fffbdf
Xfb839fc37ff61bff86fcffbffff7ffcfffffffffffffffe7ffc7fff00fff
X831ee3bfec007f06fc1ffffff9ffe7ffffffffffffffdfff1ffff3cffd83
X1c61bfec00070fff87fffffe7fffffffffffffffffbffe7ffff7fcfdc31c
X61bfec00030dfff0ffffff9ffffffffffffffffffff9ffffffe0ffc31c61
Xbfec00001dfffe1fffffffffffffffffffffffffe7fffffe0fffc31c60df
Xdc00001fffffc3fffffffffffffcfffffffffffffffff0fffec3fcc0dfd8
X0fc01bfffff9fffffffffffffb07ffffffffffffff07fffee1f800dfd83f
Xf01bfffffffffffffffffe03f9fffffffffffffc7fffffe0f000dfd87ff8
X1bc000007fff8007fffdf81effffff801fffffffffbfe00000dfd8707837
Xe7e17f8fff88787ffdec3e7ffffc70800001c0003f6000086fb0601c37e3
Xf00fcfff071f9ffc007e7ffff3c73fffe7ff3f3f7080186fb0c01c37f800
X47e001f30fefffc1ff3fffefb807ffcfc0007f70c1f86fb0c00837fc7e78
X40ff0f79f7fff9ff3fff9ff03c001f3800fff0fff86fb0f00877fe3fbef8
X00e07f6bfffdff3fff7ff0f7e000f3f1ffb0fff86fb0fff86fff01cc0007
X1e1f05fffdff3ffef8033cf007cc03ffb0ff886fb0fff86fff8400f800fe
X00fefffdff3ffdf7cde78000600fffb0410c6fb080f86fffe7cfc3c3fb87
Xcf7ffdffbffbff8e780c1fcf9fffb0438c7fb000186ffff1f03f000f407f
X7ffdafbffbe0373807c0107fffb8400c3f6000006ffff809f8f83cc3ff7f
Xfdef9ff9df3981f0ff80ffffb8601c376000006fffff0007fc0327cf7ff3
X5f0ff9fe0800fe0c1ffdfff87000376000006ffcfff01ff180e03e7fc7fb
Xdff9bc600f3fe33ffcffd8000037600000dffcfff800c73080fe7f91520f
Xf9a00033ce007ffcffd8000037600000dffcfffe0339fc10de7f000007f9
Xc019dcf100fffa7fd8000037600000dff87ffff9e3f9e0ff7ffffffffb78
X1de63f3bfffa7fd8000037600000dff97ffffc0007dc61980000006620ce
X71807ffffe7fd8000037600000dff17fffff8007fcc6600000001c106300
X01fffff67fd8000037600000dff17fffffff81f83470000000307181807f
Xfffff63fd8000037600000dff37ffffffff0e0eda000000031b1e00fffff
Xfff63fd8000037600000dff37ffffffffc1c1f800000000181783fffffff
Xf63fd8000037600000dff37ffffffffcf23ba00000000de181fffffffff6
X3fd8000037600000dff37ffffffffc0c87600000000f65e1fffffffff63f
Xd8000037600000dfd35ffffffffcfb876000000017827bfffffffff67fd8
X000037600000dfc34ffffffffe0740c0000000098381fffffffffa7fd800
X0037600000dfca8ffffffffe1e80c00000000c0dc3ffffffffea5fd80000
X37600000dfca8ffffffffe7da40c4663119016fbffffffffeacfd8000037
X600000dfc0affffffffe636c0446631180bb03ffffffffc88fd800003760
X0000ffc42ffffffffe0edd0446631182ddc7ffffffffcc0ff80000376000
X006f9037ffffffff3ddb44466311836e6fffffffffe44ff8000037600000
X6fc837ffffffff33bac4466311af770fffffffffe4cff80000376000006f
Xc837ffffffff0775a4466311359b9fffffffffe08fb80000773000006fc8
X37ffffffffce69a44663111ac81fffffffffa08fb800006fb000006fcc17
Xffffffffe1db7446631159203fffffffffa08fb000006fb000006fcc07ff
Xfffffff026d04663100001ffffffffffa09fb000006fb000006fe40fffff
Xfffffc00004663180007ffffffffffa21ff000006fb000c077e40fffffff
Xffff8000466318f87fffffffffffa21ff000006fb000c037f00fffffffff
Xfffcfc466318ffffffffffffffa03f7038006fb007c037f807ffffffffff
Xfff04663187ffffffffffffce07f601c006fb007c037fc03ffffffffffff
Xe24663193ffffffffffffcc0ff600f80dfd800e037fc03ffffffffffffd6
X4663111ffffffffffff940ffe01f80dfd800601bf001ffffffffffff6406
X23030ffffffffffff9507ee01c00dfd800001bf000fffffffffffec78623
X0397fffffffffffd717ee01800dfd800001bfc0dfffffffffffd87862303
X8bfffffffffffc537ec01001dfd800001ffc07fffffffffffb27462305a5
Xfffffffffffccaffc00001ffec00000dfc83fffffffffff68740600432ff
Xfffffffffc00fdc00001bfec00000dff99ffffffffffef06a0604b1a7fff
X1ffffffc01fd800001bfec00000fff89ffffffffffee4144614c0e7ff83f
Xfffffc87ff800001bfee00000eff8cffffffffffe5b3540366207fc03fff
Xfffd8fff800003fff6000006ff8efffffff003e32295036732ff007fffff
Xfb9fff0000037ff6000007ffc6fffffff080f7c11603431af8007ffffffb
X1fff0000037ff60000037fc77ffffff873f7a61ab10366f00e3ffffffb1f
Xff0000077fff0000037fc71ffffffe01f320dbb91960f071cffffff61ffe
X000006fffb000003ffe30fffffff073898c1b83c18e38fcfffffb63ffe00
X0006fffb000001bff30fffffff80ecd8c36a3ff81c7e7fffffb43fee0000
X0effff800001bff107ffffffe71d60636e31e0e3f3ffffffb47ffc00000d
Xfffd800000dff903fffffff3f120a36e6c08019ffffffea8ffdc00000dff
Xfd800000dff007fffffffffd0280604408fefffffffe21fff800001dffff
Xc000006fe00fffffff7ffe421e03060bfffffffffe00ffb800001bfffec0
X00006fe00ffffff87ffe7a1802067e0003fffffe42fff000001bfffec000
X0037f80effff8e7ffe78000206f40007fffffe06ff7000003fffff600000
X3ff80e7ffc3c00000002020460000ffffff600ffe0000037ffff6000001b
Xf9c61ffc0000000002720000000fffffe401fee0000037ffff7000001dff
Xe64fffc07fffe002000000000fffffc481fdc000006fffffb000000dffe3
X27fff87fffffc238e7fdffefffff040ffd8000006fffffb800000efff133
Xffff3ffffe61fe1dfe1fe7fffe4c7ffb800000ffffffd8000006ffd919ff
Xfffffff30bffe3fff007fffec8cffb000000dfffffd80006077fcc0dffff
Xfe7f98fffffc7fc1fffffd819ff7000001dfffffec000e03bfe004fffffc
X7cc7ffffff8e003ffff9001fee000001bfffffec001f01bfe002fffff24e
X3ffffffff1c007fffb011fec000003bffffff6007c01dfe002ffffee71ff
Xfffffffe3800fffa033fdc0fe0037ffffff700f000eff3017fffde0fffff
Xffffff47007ff4063fb80ffe077ffffffb00c0006ff1814fff303fffffff
Xffff78e1fff10c7ff00cfc06fffffffb8080c037f8c04ffe001fffffffff
Xff3f83ff6218ff700ecc0efffffffd8081c03bfc406ffc003fffffffffff
Xcfe7fda431fee007800dfffffffdc0c7001dfe0067fffffffffffffffff8
Xf7fb0023fdc003801dfffffffec07c000eff00237fffffffffffffffff13
Xf940c3fb8071801bfffffffee00018077ff0023ffffffffffffffffff3f8
X410ff780f0c037ffffffff70003c037fff003ffffffffffffffffffff880
X7fff01804077ffffffffb000fc03bffe01fffffffffffffffffffff80fff
Xee0300406fffffffffb8019801dffe00fffffffffffffffffffff801ffdc
X030000efffffffffdc071900efff003fffffffffffffffffff0019ffb803
X8101dfffffffffdc06398077ff0247fffffffffffffffffce003ff7001c3
X01bfffffffffee003f003bff8339fbffffffffffffffb3c00ffee011fe03
Xbffffffffff7003c001dfff31e71fffffffffffffda78ffffdc030fc077f
Xfffffffffb0078300e7fff8731ffffffffffff982e1fffff80783806ffff
Xfffffffb80707807bfff83d1cffffffffffc305c3fffef003c000effffff
Xfffffdc040f003dfffc0c1c00fffffff0071307fffde001e001dffffffff
Xfffee001c600effff060e7f7fffff8f8e001ffffbc0007003bffffffffff
Xffe003870073ffff10f0fdffffe7e1c007ffff780783c037ffffffffffff
X700f01803dfffe30380effffce038037fffde00fc18077ffffffffffffb8
X0601c01efffe0000001fffb0040707fffbc019c100efffffffffffffdc02
X03e0073fff010000001f00001fcffff78038c001dfffffffffffffee0007
X2003dfffc700008100180003ffffde001ff803bfffffffffffffe7000e20
X01e7ffee0f00008800030fffffbc018ff8077ffffffffffffff7003c0e00
X79ffff81e0000c803c1ffffef00387000efffffffffffffffb80380f003e
Xffffc03c00000fe03ffffbe00603801dfffffffffffffffdc0101c800fbf
Xfff0004300e000ffffef801c01c03dfffffffffffffffee00038c003efff
Xfc03c7fd7801ffffbe003c81807bffffffffffffffff70007c0000f9ffff
Xfffffe3ffffffefc000fc100f7ffffffffffffffffb801e40c003e7fffff
Xfffffffffff3f001870801efffffffffffffffffdc01c01e000f9fffffff
Xffffffffcfc001871803dfffffffffffffffffef00401d0003f3ffffffff
Xfffffe7e0001c39007bffffffffffffffffff78030398000fe7fffffffff
Xfff3f80001c1e00e7ffffffffffffffffffbc01c7180001fc7ffffffffff
X9fe000e1e1c01dfffffffffffffffffffce00061800007fc3ffffffff0ff
X0001f1f1003bfffffffffffffffffffe7001e18000007fe0fffff81ff800
X00ff7800f7ffffffffffffffffffffbc01c38000000fff800007ff800030
X7f3801efffffffffffffffffffffde007f007800007ffffffff00000f86f
X3003dfffffffffffffffffffffe7001e00fe000000fffffc000000fc2300
X077ffffffffffffffffffffff3c00000e6400000000000000000ce30001e
Xfffffffffffffffffffffffde0000060f80000000000000080cf18003dff
Xfffffffffffffffffffffe780000703f00000000000007c07f9800f7ffff
Xffffffffffffffffffffbc0002383b0000000000001c0073e001efffffff
Xffffffffffffffffffcf000318381c000000001f8c00418007bfffffffff
Xfffffffffffffffff7c003f8303c7f00000031ce8040001f7fffffffffff
Xfffffffffffffff9e000f0707c5f9f83c030c78060003dffffffffffffff
Xfffffffffffffef8000060cc1c1c8e4070c700c000f3ffffffffffffffff
Xffffffffffffbe0000e0fc1c1c0e0070c6000003efffffffffffffffffff
Xffffffffffcf8000e1fc181c0f0030c700000fbfffffffffffffffffffff
Xfffffffff3e000030c181f07c030c780003e7fffffffffffffffffffffff
Xfffffffcf800010e181801e038c60000f9ffffffffffffffffffffffffff
Xffffff3f00001e381808601f800007efffffffffffffffffffffffffffff
Xffffcfc0000038188c600600001fbfffffffffffffffffffffffffffffff
Xfff1f80000003f8fc0000000fcffffffffffffffffffffffffffffffffff
Xfe7f000000000000000007f3ffffffffffffffffffffffffffffffffffff
Xcfe0000000000000003f9ffffffffffffffffffffffffffffffffffffff1
Xfe00000000000003fcfffffffffffffffffffffffffffffffffffffffe3f
Xe000000000003fe7ffffffffffffffffffffffffffffffffffffffffc3ff
X8000000007fe3ffffffffffffffffffffffffffffffffffffffffffc3fff
X800007ffe1ffffffffffffffffffffffffffffffffffffffffffffe1ffff
Xfffffc3fffffffffffffffffffffffffffffffffffffffffffffff80ffff
Xf807ffffffffffffffffffffffffffffffffffffffffffffffffff800007
Xffffffffffffffffffffffffff0000000000000000000000000000000000
X000000000000000000000000000000000000000000000000000000000000
X0000000000000000000000000000000000000000000000000000>}
X image
X grestore
X} def
X
X/flamer-text {
X gsave
X cardmargin 2 mul photowidth add
X cardheight cardmargin sub photoheight sub translate
X /Helvetica-BoldOblique findfont flamer-textsize scalefont setfont
X 0 photoheight flamer-textsize sub moveto (LICENSED) show
X 0 photoheight 2 div flamer-textsize 2 div sub moveto (TO) show
X 0 0 moveto (FLAME) show
X grestore
X} def
X
X/flamer-info {
X gsave
X /Helvetica findfont flamer-infosize scalefont setfont
X cardmargin cardmargin translate
X 0 flamer-infosize 1.5 mul moveto
X flamer-infowidth FirstName: ( ) LastName: strcat strcat showlimited
X 0 0 moveto
X flamer-infowidth E-mail: showlimited
X grestore
X} def
X
X/flamer-card {
X cardstart
X black setgray
X 0 setlinewidth
X cardticks
X cardmargin cardheight cardmargin sub photoheight sub moveto
X photowidth photoheight photo
X flamer-logo
X flamer-text
X flamer-info
X cardend
X} def
X
Xflamer-card
SHAR_EOF
if test 15076 -ne "`wc -c < 'flamer.card'`"
then
echo shar: error transmitting "'flamer.card'" '(should have been 15076 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'net23.card'" '(3366 characters)'
if test -f 'net23.card'
then
echo shar: will not over-write existing file "'net23.card'"
else
sed 's/^X//' << \SHAR_EOF > 'net23.card'
X% @(#) $Header: net23.card,v 1.1 90/06/11 02:56:09 jef Exp $
X%
X% net23.card - Network 23 ID
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X
X/net23-netxxiiisize 0.15 in def
X/net23-logowidth photowidth def
X/net23-logoheight photoheight def
X/net23-logolinewidth 0.05 in def
X/net23-logolinemargin net23-logolinewidth 2 div def
X/net23-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
X/net23-numwidth net23-boxheight diagoffsetfactor mul net23-logowidth add def
X/net23-namewidth cardwidth cardmargin 3 mul sub net23-numwidth sub def
X
X/net23-logo {
X gsave
X net23-logolinewidth setlinewidth
X cardwidth cardmargin sub net23-logowidth sub
X cardheight cardmargin sub net23-logolinewidth 2 div sub translate
X 0 0 moveto net23-logowidth 0 rlineto stroke
X 0 net23-logolinewidth 2 div net23-logolinemargin add net23-netxxiiisize add neg translate
X /Helvetica-Bold findfont 0.25 in scalefont setfont
X 0 0 moveto net23-logowidth net23-netxxiiisize (NETWORK) showboxed
X 0 net23-logolinemargin net23-logolinewidth 2 div add neg translate
X 0 0 moveto net23-logowidth 0 rlineto stroke
X /Times-Bold findfont 0.25 in scalefont setfont
X /23size
X net23-logoheight net23-logolinewidth 4 mul sub net23-logolinemargin 6 mul sub
X net23-netxxiiisize 2 mul sub
X def
X 0 net23-logolinewidth 2 div net23-logolinemargin add 23size add neg translate
X 0 0 moveto net23-logowidth 23size (23) showboxed
X 0 net23-logolinemargin net23-logolinewidth 2 div add neg translate
X 0 0 moveto net23-logowidth 0 rlineto stroke
X 0 net23-logolinewidth 2 div net23-logolinemargin add net23-netxxiiisize add neg translate
X 0 0 moveto net23-logowidth net23-netxxiiisize (XXIII) showboxed
X 0 net23-logolinemargin net23-logolinewidth 2 div add neg translate
X 0 0 moveto net23-logowidth 0 rlineto stroke
X grestore
X} def
X
X/net23-info {
X cardmargin cardmargin net23-boxheight add moveto
X net23-namewidth net23-boxheight (NAME)
X FirstName: ( ) LastName: strcat strcat diagbox
X cardmargin cardmargin moveto
X net23-namewidth net23-boxheight (SIGNATURE) () diagbox
X cardwidth cardmargin sub net23-numwidth sub
X cardmargin net23-boxheight add moveto
X net23-numwidth net23-boxheight (EMPLOYEE NO.)
X 4 randdigs diagbox
X cardwidth cardmargin sub net23-numwidth sub cardmargin moveto
X net23-numwidth net23-boxheight (CREDIT RATING)
X (ABC) randchar (123) randchar strcat diagbox
X} def
X
X/net23-asseenontv {
X gsave
X newpath
X 0.5 0 moveto
X 0.05 0 0 0.05 0 0.5 curveto
X 0 0.95 0.05 1 0.5 1 curveto
X 0.95 1 1 0.95 1 0.5 curveto
X 1 0.05 0.95 0 0.5 0 curveto
X black setgray fill
X white setgray
X /Helvetica-Bold findfont 0.25 in scalefont setfont
X 0.1 0.7 moveto 0.8 0.2 (AS SEEN ON) showboxed
X 0.1 0.1 moveto 0.8 0.5 (TV) showboxed
X grestore
X} def
X
X/net23-card {
X cardstart
X black setgray
X 0 setlinewidth
X cardticks
X cardmargin cardheight cardmargin sub photoheight sub moveto
X photowidth photoheight photo
X net23-logo
X gsave
X cardmargin net23-logowidth add cardmargin 2 mul add
X cardheight cardmargin sub net23-logoheight sub cardmargin 3 mul add
X translate
X cardwidth cardmargin 2 mul sub net23-logowidth sub cardmargin 4 mul sub photowidth sub
X net23-logoheight cardmargin 6 mul sub
X scale
X net23-asseenontv
X grestore
X net23-info
X cardend
X} def
X
Xnet23-card
SHAR_EOF
if test 3366 -ne "`wc -c < 'net23.card'`"
then
echo shar: error transmitting "'net23.card'" '(should have been 3366 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'rekall.card'" '(3207 characters)'
if test -f 'rekall.card'
then
echo shar: will not over-write existing file "'rekall.card'"
else
sed 's/^X//' << \SHAR_EOF > 'rekall.card'
X% @(#) $Header: rekall.card,v 1.1 90/06/11 02:56:10 jef Exp $
X%
X% rekall.card - Rekall ID (from "Totall Recall")
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X
X/rekall-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
X/rekall-jobwidth 1.1 in def
X/rekall-namewidth cardwidth cardmargin 2 mul sub rekall-jobwidth sub def
X
X/rekall-mottoheight 0.15 in def
X/rekall-logowidth cardwidth cardmargin 2.5 mul sub photowidth sub def
X/rekall-logoheight photoheight cardmargin 1.5 mul sub rekall-mottoheight sub 2 div def
X/rekall-pixelshigh 9 def
X/rekall-pixelheight rekall-logoheight rekall-pixelshigh div def
X/rekall-pixelswide rekall-logowidth rekall-pixelheight div cvi def
X/rekall-pixelwidth rekall-logowidth rekall-pixelswide div def
X/rekall-pixelfrac 0.8 def
X/rekall-rekallwidth rekall-logowidth def
X/rekall-rekallheight rekall-logoheight def
X/rekall-mottowidth rekall-logowidth def
X
X/rekall-logo {
X gsave
X cardmargin 1.5 mul photowidth add
X cardheight cardmargin sub rekall-logoheight sub
X translate
X 0.05 setlinewidth
X 0 0 moveto rekall-logowidth rekall-logoheight square
X 0 1 rekall-pixelshigh 1 sub {
X 0 1 rekall-pixelswide 1 sub {
X 2 copy rekall-pixelswide 2 div sub exch rekall-pixelshigh 2 div sub
X dup mul exch dup mul add sqrt rekall-pixelshigh 2 div le
X {
X 0.15
X } {
X 0.7
X } ifelse
X randuni gt {
X 2 copy rekall-pixelwidth mul exch rekall-pixelheight mul moveto
X 1 rekall-pixelfrac sub rekall-pixelwidth mul 2 div
X 1 rekall-pixelfrac sub rekall-pixelheight mul 2 div
X rmoveto
X rekall-pixelfrac rekall-pixelwidth mul
X rekall-pixelfrac rekall-pixelheight mul
X filledsquare
X } if
X pop
X } for
X pop
X } for
X grestore
X} def
X
X/rekall-rekall {
X gsave
X cardmargin 1.5 mul photowidth add
X cardheight cardmargin sub photoheight sub rekall-mottoheight add cardmargin add
X translate
X 0 0 moveto
X /Helvetica-Bold findfont 0.50 in scalefont setfont
X rekall-rekallwidth rekall-rekallheight (REKALL) showboxed
X grestore
X} def
X
X/rekall-motto {
X gsave
X cardmargin 1.5 mul photowidth add
X cardheight cardmargin 2 div sub photoheight sub
X translate
X 0 0 moveto
X /Helvetica-Oblique findfont 0.25 in scalefont setfont
X rekall-mottowidth rekall-mottoheight ("For the memory of a lifetime.") showboxed
X grestore
X} def
X
X/rekall-info {
X cardmargin cardmargin rekall-boxheight add moveto
X rekall-namewidth rekall-boxheight (NAME)
X FirstName: ( ) LastName: strcat strcat diagbox
X cardmargin cardmargin moveto
X rekall-namewidth rekall-boxheight (SIGNATURE) () diagbox
X cardwidth cardmargin sub rekall-jobwidth sub
X cardmargin rekall-boxheight add moveto
X rekall-jobwidth rekall-boxheight (JOB CLASS.) (Implant Tech) diagbox
X cardwidth cardmargin sub rekall-jobwidth sub cardmargin moveto
X rekall-jobwidth rekall-boxheight (EMPLOYEE NO.) 4 randdigs diagbox
X} def
X
X/rekall-card {
X cardstart
X black setgray
X 0 setlinewidth
X cardticks
X cardmargin cardheight cardmargin sub photoheight sub moveto
X photowidth photoheight photo
X rekall-logo
X rekall-rekall
X rekall-motto
X rekall-info
X cardend
X} def
X
Xrekall-card
SHAR_EOF
if test 3207 -ne "`wc -c < 'rekall.card'`"
then
echo shar: error transmitting "'rekall.card'" '(should have been 3207 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'una.card'" '(1597 characters)'
if test -f 'una.card'
then
echo shar: will not over-write existing file "'una.card'"
else
sed 's/^X//' << \SHAR_EOF > 'una.card'
X% @(#) $Header: una.card,v 1.1 90/06/11 02:56:24 jef Exp $
X%
X% una.card - USENET News Agency ID
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X
X/una-unasize 0.275 in def
X/una-infosize 0.13 in def
X/una-pressheight 0.6 in def
X/una-infowidth cardwidth cardmargin 3 mul sub una-pressheight sub def
X
X/una-logo {
X gsave
X /Helvetica findfont una-unasize scalefont setfont
X cardmargin cardheight cardmargin sub translate
X 1 1.3 scale
X 0 una-unasize 0.72 mul neg moveto
X (USENET) show
X 0 una-unasize 1.72 mul neg moveto
X (NEWS) show
X 0 una-unasize 2.72 mul neg moveto
X (AGENCY) show
X grestore
X gsave
X cardwidth cardmargin sub cardmargin translate
X 90 rotate
X 0 0 moveto
X /Times-Bold findfont 0.50 in scalefont setfont
X cardheight cardmargin 2 mul sub una-pressheight (PRESS) showboxed
X grestore
X} def
X
X/una-text {
X gsave
X /Helvetica findfont una-infosize scalefont setfont
X cardmargin cardmargin translate
X 0 una-infosize 3 mul moveto
X una-infowidth FirstName: ( ) LastName: strcat strcat showlimited
X 0 una-infosize 2 mul moveto
X una-infowidth Address1:
X Address2: length 0 gt { (, ) Address2: strcat strcat } if
X showlimited
X 0 una-infosize moveto
X una-infowidth CityStateZip: showlimited
X 0 0 moveto
X una-infowidth E-mail: showlimited
X grestore
X} def
X
X/una-card {
X cardstart
X black setgray
X 0 setlinewidth
X cardticks
X cardwidth cardmargin 4 mul sub una-pressheight sub photowidth sub
X cardheight cardmargin sub photoheight sub moveto
X photowidth photoheight photo
X una-logo
X una-text
X cardend
X} def
X
Xuna-card
SHAR_EOF
if test 1597 -ne "`wc -c < 'una.card'`"
then
echo shar: error transmitting "'una.card'" '(should have been 1597 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'yoyo.card'" '(6374 characters)'
if test -f 'yoyo.card'
then
echo shar: will not over-write existing file "'yoyo.card'"
else
sed 's/^X//' << \SHAR_EOF > 'yoyo.card'
X% @(#) $Header: yoyo.card,v 1.1 90/06/11 02:56:25 jef Exp $
X%
X% yoyo.card - Yoyodyne Propulsion Systems employee ID
X%
X% Copyright (C) 1990 by Jef Poskanzer. All rights reserved.
X
X/yoyo-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
X/yoyo-numwidth yoyo-boxheight diagoffsetfactor mul photowidth add def
X/yoyo-namewidth cardwidth cardmargin 3 mul sub yoyo-numwidth sub def
X/yoyo-logoheight photoheight cardmargin sub def
X
X/yoyo-logodict 50 dict def
X/yoyo-logo { yoyo-logodict begin
X
X /r3 3 sqrt def % useful constants
X /r3d2 r3 2 div def
X
X /h yoyo-logoheight def % height of triangle
X /s h r3d2 div def % side of triangle
X
X /so2 s 2 div def
X /h1 .07 h mul def % height of first horiz line - below PROPUL
X /h2 .15 h mul def % height of second horiz line - below YOYO
X /h3 .3 h mul def % height of third horiz line - above YOYO
X /r1 .12 s mul def % radius of larger circle
X /r1m .95 r1 mul def % a little less than r1
X /h4 .55 h mul def % height of center of circle
X /h5 h4 r1 .7 mul add def % height of center of rocket wake
X /r2 .06 s mul def % radius of smaller circle
X /step .03 s mul def % size of little steps
X /rocketrot -13 def % angle of rocket and tail
X /wakewidth .01 s mul def % line width of rocket wake
X /wakexsize .30 s mul def % x size of rocket wake
X /wakeysize .4 r1 mul def % y size of rocket wake
X /wake1ysize 1.30 wakeysize mul def
X /wake3ysize .70 wakeysize mul def
X
X /gray .25 def
X
X 1 setlinecap
X
X % Rocket wake part 2.
X /rocketwake2 {
X black setgray
X wakewidth setlinewidth
X newpath
X so2 h5 rocketrot wakexsize wakeysize 0 180 ellipser
X stroke
X } def
X
X % Dark triangle.
X /darktriangle {
X 0 0 moveto
X so2 h lineto
X s 0 lineto
X 0 0 lineto
X fill
X } def
X
X % White hollow.
X /whitehollow {
X white setgray
X s h1 moveto
X so2 h1 lineto
X so2 h2 lineto
X .145 s mul neg 0 rlineto
X 0 1.5 h1 mul h2 sub rlineto
X .21 s mul 1.5 h1 mul lineto
X .21 s mul h3 lineto
X so2 r1 sub step sub h4 lineto
X so2 r1 add step add h4 lineto
X s .21 s mul sub h3 lineto
X s h3 lineto
X s h1 lineto
X fill
X } def
X
X % Weird-shaped dark area.
X /darkarea {
X so2 h3 moveto
X r1m neg step neg add 0 rlineto
X 0 step rlineto
X step 0 rlineto
X 0 h4 h3 sub step sub rlineto
X 2 r1m mul 0 rlineto
X 0 h4 h3 sub step sub neg rlineto
X step 0 rlineto
X 0 step neg rlineto
X fill
X } def
X
X % White circle.
X /whitecircle {
X white setgray
X so2 h4 r1 0 360 arc
X fill
X } def
X
X % White circular bite.
X /whitebite {
X white setgray
X s .13 s mul sub h1 2 div r2 add r2 0 360 arc
X fill
X } def
X
X % Rocket.
X /rocket {
X gsave
X so2 h5 translate
X rocketrot rotate
X 0 wake3ysize neg translate
X newpath
X .05 h mul -.034 h mul 0 .17 h mul .05 h mul 90 135 ellipser
X .05 h mul .034 h mul 0 .17 h mul .05 h mul 225 270 ellipser
X closepath
X black setgray fill
X .06 h mul 0 0 .06 h mul .035 h mul 0 360 ellipser
X black setgray fill
X .06 h mul 0 0 .035 h mul .040 h mul 0 360 ellipser
X white setgray fill
X .07 h mul 0 0 .035 h mul .040 h mul 0 360 ellipser
X white setgray fill
X .08 h mul 0 0 .045 h mul .045 h mul 0 360 ellipser
X white setgray fill
X .030 h mul 0 0 .010 h mul .010 h mul 0 360 ellipser
X white setgray fill
X grestore
X } def
X
X % Rocket wake part 3.
X /rocketwake3 {
X wakewidth setlinewidth
X newpath
X so2 h5 rocketrot wakexsize wake3ysize 277 360 ellipser
X stroke
X } def
X
X % Rocket wake part 1.
X /rocketwake1 {
X newpath .9 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 180 190 ellipser
X stroke
X newpath .8 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 190 200 ellipser
X stroke
X newpath .7 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 200 210 ellipser
X stroke
X newpath .6 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 210 220 ellipser
X stroke
X newpath .5 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 220 230 ellipser
X stroke
X newpath .4 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 230 240 ellipser
X stroke
X newpath .3 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 240 250 ellipser
X stroke
X newpath .2 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 250 260 ellipser
X stroke
X newpath .1 wakewidth mul setlinewidth
X so2 h5 rocketrot wakexsize wake1ysize 260 270 ellipser
X stroke
X } def
X
X % Logo text.
X /yoyotext {
X black setgray
X /off1 h2 h1 sub .2 mul def
X so2 off1 add h2 off1 add moveto
X /Helvetica-Oblique findfont h3 h2 sub scalefont setfont
X (YOYODYNE) show
X /offset h2 h1 sub .2 mul def
X so2 off1 add h1 off1 add moveto
X /Helvetica-Oblique findfont h2 h1 sub scalefont setfont
X (PROPULSION SYSTEMS) show
X h 1.7 mul h 0.85 mul moveto
X /Helvetica-Oblique findfont h 0.12 mul scalefont setfont
X ("The Future Begins) showright
X h 1.7 mul h 0.7 mul moveto
X (Tomorrow") showright
X } def
X
X % Finally, actually draw something.
X rocketwake2
X gray setgray darktriangle
X whitehollow
X gray setgray darkarea
X whitecircle
X whitebite
X rocket
X black setgray rocketwake3
X black setgray rocketwake1
X yoyotext
X
Xend } def
X
X/yoyo-info {
X cardmargin cardmargin yoyo-boxheight add moveto
X yoyo-namewidth yoyo-boxheight (NAME)
X (John ) FirstName: 0 1 getinterval (. ) LastName:
X strcat strcat strcat diagbox
X cardmargin cardmargin moveto
X yoyo-namewidth yoyo-boxheight (SIGNATURE) () diagbox
X cardwidth cardmargin sub yoyo-numwidth sub
X cardmargin yoyo-boxheight add moveto
X yoyo-numwidth yoyo-boxheight (EMPLOYEE NO.) 4 randdigs diagbox
X cardwidth cardmargin sub yoyo-numwidth sub cardmargin moveto
X yoyo-numwidth yoyo-boxheight (ISSUE DATE) (Nov 1 1938) diagbox
X} def
X
X/yoyo-card {
X cardstart
X black setgray
X 0 setlinewidth
X cardticks
X cardwidth cardmargin sub photowidth sub
X cardheight cardmargin sub photoheight sub moveto
X photowidth photoheight photo
X gsave
X cardmargin cardheight cardmargin sub yoyo-logoheight sub translate
X yoyo-logo
X grestore
X yoyo-info
X cardend
X} def
X
Xyoyo-card
SHAR_EOF
if test 6374 -ne "`wc -c < 'yoyo.card'`"
then
echo shar: error transmitting "'yoyo.card'" '(should have been 6374 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'zikzak.card'" '(3772 characters)'
if test -f 'zikzak.card'
then
echo shar: will not over-write existing file "'zikzak.card'"
else
sed 's/^X//' << \SHAR_EOF > 'zikzak.card'
X% @(#) $Header: zikzak.card,v 1.1 90/06/11 02:56:27 jef Exp $
X%
X% zikzak.card - Zik Zak employee ID
X%
X% Copyright (C) 1990 by Jef Poskanzer and Ilsa Van Hook. All rights reserved.
X
X/zikzak-boxheight cardheight cardmargin 2 mul sub photoheight sub 2 div def
X/zikzak-numwidth 0.9 in def
X/zikzak-namewidth cardwidth cardmargin 3 mul sub zikzak-numwidth sub def
X
X/zikzak-logowidth cardwidth cardmargin 2 mul sub photowidth sub def
X/zikzak-logoheight photoheight def
X/zikzak-kfsize 0.15 in def
X
X/zikzak-logo {
X gsave
X cardwidth cardmargin sub zikzak-logowidth sub
X cardheight cardmargin sub zikzak-logoheight sub translate
X
X zikzak-logowidth cardmargin 2 div moveto
X /Helvetica-Bold findfont zikzak-kfsize scalefont setfont
X (KNOW FUTURE) showright
X
X newpath 0 0 moveto
X zikzak-logowidth 1.1 mul 0 rlineto
X 0 zikzak-logoheight rlineto
X zikzak-logowidth 1.1 mul neg 0 rlineto
X closepath clip newpath
X
X 0.35 in 0 translate
X 12 dup scale
X 15 rotate
X
X /leftedge -5 def
X /rightedge 15 def
X
X % the line leading into zik
X leftedge 5.7 moveto
X 0.9 5.7 lineto .4 4.8 lineto leftedge 4.8 lineto
X closepath fill
X % the line away from zik:
X rightedge 3.5 moveto
X 7.4 3.5 lineto
X 7.4 2.6 lineto
X rightedge 2.6 lineto
X closepath fill
X % the line into zak:
X leftedge 2.5 moveto
X 2.4 2.4 lineto
X 1.9 1.5 lineto
X leftedge 1.5 lineto
X closepath fill
X % the line away from zak:
X rightedge .2 moveto
X 9.5 .2 lineto
X 9.5 -.7 lineto
X rightedge -.7 lineto
X closepath fill
X
X % the dot over zik's i:
X 3.8 5.3 .5 0 360 arc fill
X % zik, proper, starting from upper left:
X 1.1 5.7 moveto
X 3.1 5.7 lineto
X 2.234 4.2 lineto
X 3.3 4.2 lineto % i-bump
X 3.3 4.65 lineto
X 4.2 4.65 lineto
X 4.2 4.2 lineto
X 4.8 4.2 lineto % k
X 4.8 5.7 lineto
X 5.7 5.7 lineto
X 5.7 4.571 lineto %downstroke
X% 6.35 4.946 lineto % 1st diagonal
X 6.55 5.062 lineto
X% 6.8 4.167 lineto
X 7.0 4.282 lineto
X 6.511 4.0 lineto % 2nd diagonal
X 6.8 3.5 lineto
X 7.2 3.5 lineto
X 7.2 2.6 lineto
X 6.3 2.6 lineto
X 5.7 3.639 lineto
X 5.7 3.3 lineto
X 0.7 3.3 lineto
X 1.566 4.8 lineto
X .6 4.8 lineto
X closepath
X fill
X
X % the triangle over zak's A:
X 5.091 1.75 moveto
X 5.466 2.4 lineto
X 5.841 1.75 lineto
X closepath
X fill
X % the triangle inside zak's A:
X 5.350 .9 moveto
X 5.466 1.1 lineto
X 5.581 .9 lineto
X closepath
X % zak, proper:
X 2.6 2.4 moveto
X 4.6 2.4 lineto
X 3.734 .9 lineto
X 4.6 .9 lineto
X 4.975 1.55 lineto % 1st diagonal of A
X 5.957 1.55 lineto
X 6.332 .9 lineto % A downstroke
X 6.9 .9 lineto
X 6.9 2.4 lineto % K upstroke
X 7.8 2.4 lineto
X 7.8 1.271 lineto %downstroke
X% 8.45 1.646 lineto % 1st diagonal
X 8.65 1.762 lineto
X% 8.9 0.867 lineto
X 9.1 0.982 lineto
X 8.611 0.7 lineto % 2nd diagonal
X 8.9 0.2 lineto
X 9.3 0.2 lineto
X 9.3 -.7 lineto
X 8.4 -.7 lineto
X 7.8 0.339 lineto
X 7.8 0 lineto %end of k
X 2.2 0 lineto
X 3.066 1.5 lineto
X 2.1 1.5 lineto
X closepath
X eofill
X grestore
X} def
X
X/zikzak-info {
X cardmargin cardmargin zikzak-boxheight add moveto
X zikzak-namewidth zikzak-boxheight (NAME)
X FirstName: ( ) LastName: strcat strcat diagbox
X cardmargin cardmargin moveto
X zikzak-namewidth zikzak-boxheight (SIGNATURE) () diagbox
X cardwidth cardmargin sub zikzak-numwidth sub
X cardmargin zikzak-boxheight add moveto
X zikzak-numwidth zikzak-boxheight (EMPLOYEE NO.)
X 6 randdigs diagbox
X cardwidth cardmargin sub zikzak-numwidth sub cardmargin moveto
X zikzak-numwidth zikzak-boxheight (CONSUMER CODE)
X randdig
X (ABCDEFGHIJKLMNPQRSTUVWXYZ) dup randchar exch randchar % no "O"
X 2 randdigs
X strcat strcat strcat diagbox
X} def
X
X/zikzak-card {
X cardstart
X black setgray
X 0 setlinewidth
X cardticks
X cardmargin cardheight cardmargin sub photoheight sub moveto
X photowidth photoheight photo
X zikzak-logo
X zikzak-info
X cardend
X} def
X
Xzikzak-card
SHAR_EOF
if test 3772 -ne "`wc -c < 'zikzak.card'`"
then
echo shar: error transmitting "'zikzak.card'" '(should have been 3772 characters)'
fi
fi # end of overwriting check
# End of shell archive
exit 0