Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.postscript > #4020
| From | David Newall <ghostscript@davidnewall.com> |
|---|---|
| Newsgroups | comp.lang.postscript |
| Subject | A lovely bumper-sticker |
| Date | 2026-03-29 23:14 +1100 |
| Organization | A noiseless patient Spider |
| Message-ID | <10qb540$1ihrm$1@dont-email.me> (permalink) |
%!PS
% copyright (c) 2026 davidnewall.com
% permission to reproduce is granted on condition that this copyright
% notice is included unaltered.
% I saw something very like this, decades ago, on the door of colleagues
% at SAIT.
% the least of things take the most work
% I drew this -- DN
/horn {
gsave
currentpoint 25 add translate .2 dup scale
0 setlinewidth
newpath
0 0 60 0 360 arc fill % bulb
5 0 translate % offset horn
% draw horn by halves
[false true]{
0 0 60 0 4 index{30 arc}{-30 arcn}ifelse
currentpoint exch 150 add exch 1 index 200 add
1 index 200 5 index{add}{sub}ifelse 100 arcto
2 copy dup mul exch dup mul add sqrt 3 1 roll exch atan
4 index not{360 sub}if 0 0 0 5 2 roll
7 index{arcn}{arc}ifelse
60 0 lineto pop pop gsave stroke grestore fill
}forall
% sound
250 0 translate 3 setlinewidth
10 10 30{0 0 3 -1 roll -60 60 arc stroke}for
grestore 50 0 rmoveto
} def
/Helvetica 90 selectfont
/m/moveto load def
/s/show load def
10 50 m
(PS ) s
gsave /ZapfDingbats 90 selectfont ( ) dup 0 16#AA put s currentpoint
grestore moveto
( {) s horn (} if) s showpage
Back to comp.lang.postscript | Previous | Next — Next in thread | Find similar
A lovely bumper-sticker David Newall <ghostscript@davidnewall.com> - 2026-03-29 23:14 +1100 Re: A lovely bumper-sticker Buzz McCool <buzz_mccool@yahoo.com> - 2026-04-01 15:06 -0700 Re: A lovely bumper-sticker Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-01 23:48 +0000
csiph-web