[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Another prospective logo - Spanner, paintbrush, candle



Having thought about it for a bit, I've come up with at least one idea
for a logo.  There might be more later :-).  I'm not quite sure what
the current procedure is for this, so I'll post it here for now.

Below you will find a colour Encapsulated PostScript file.  I've put
it on the WWW at
  http://www.chiark.greenend.org.uk/~ian/debian-logos/

It consists of a spanner, a paintbrush and a candle, crossed three
ways.  They represent engineering, art and artistry, and freedom and
enlightenment, respectively.

Forgive the rather spartan presentation - that's because it's a logo,
rather than a pretty picture.  You'll also notice that there isn't any
text in it.  If this logo is chosen we should obviously decide where
and how to place the text near it.

You'll also notice that it fits nicely into a 32x32 colour or
grayscale icon.  (I didn't have time to do a mono icon, but it
shouldn't be hard.)

Oh, and it hasn't been anywhere near the GIMP, just
Emacs, GhostScript and pbmplus :-).

Ian.

%!PS-Adobe-3.0
%%Pages: 1
%%Creator: Ian Jackson version 1.0 :-)
%%DocumentSuppliesResources: procset IanJackson_DLogoTricross_Procs
%%BoundingBox: 31 179 556 680
%%EndComments
%%BeginProlog
%%BeginResource: procset IanJackson_DLogoTricross_Procs

/margin 1.1 def

/spannerhead {
% draws a filled spanner head, with opening to bottom, radius
% 1.9*20, for a spanner whose end-of-rectangle is at 0 0
%  argument: theta, angle to rotate by
	gsave mark				% theta mark
		20 dup scale
		.5 1.9				% theta mark yc r
		0 -1.3  translate
		3 index rotate
		0  2 index neg  translate
		dup dup mul 1 sub sqrt		% theta mark yc r yc+ye
		2 index sub  neg		% theta mark yc r -ye
		dup -1 exch moveto
		-1 0.5 lineto
		0 1.277 lineto
		1 0.5 lineto
		dup 1 exch lineto
		pop				% theta mark yc r
		dup  2 index 1 add		% theta mark yc r r yc+1
		atan				% theta mark yc r a=atan(r/(yc+1))
		0  3 index  3 index  3 index neg  180 5 index add
						% theta mark yc r a 0 r 90-a 180+a
		arc				% theta mark yc r a
		closepath fill
	cleartomark pop grestore
} def
/spanner1 {
% draws a filled spanner in current colour with ends centered 0 -100 and 1 100
	150
	dup 100 exch div  dup scale
	gsave
		dup 20 exch scale
		-1 -1 moveto
		1 -1 lineto
		1 1 lineto
		-1 1 lineto
		closepath fill
	grestore
	gsave
		dup 0 exch translate
		1 -1 scale
		-30 spannerhead
		grestore
	gsave
		dup neg 0 exch translate
		0 spannerhead
	grestore
	pop
} def
/spanner {
% like spanner1 but in colour with a bit of border
	gsave
		margin dup scale
		1 1 1 setrgbcolor
		spanner1
		grestore
	gsave
		1 0 0 setrgbcolor
		spanner1
	grestore
} def

/brushhandle {
		0 -100 moveto
		15 -100  15 40  15 50  curveto
		15 60  20 100  5 100  curveto
		-5 100  lineto
		-20 100  -15 60  -15 50  curveto
		-15 40  -15 -100  0 -100 curveto
		closepath fill
} def
/brush {
	gsave
		1.2 dup scale
		0 -20 translate
		0.75 1 scale

		gsave
			1 1 1 setrgbcolor
			margin dup scale
			brushhandle
		grestore

		0 0 0 setrgbcolor
		brushhandle

		0 0.75 0 setrgbcolor
		0 98 translate
		1.1 1.25 scale
		0 0 moveto
		10 0  10 10  10 15  curveto
		10 20  7 35  0 40  curveto
		-7 35  -10 20  -10 15  curveto
		-10 10  -10 0  0 0  curveto
		closepath fill
	grestore
} def

/candle {
	gsave
		0 0 1 setrgbcolor
		1 0.35 scale
		15 -300 moveto
		0 240  15  0 180  arc
		0 -300  15  180 0  arc
		closepath fill
		
	grestore
	gsave
		1 .9 0 setrgbcolor
		0 85 translate
		1.1 1.35 scale
		0 0 moveto
		10 0  10 10  10 15  curveto
		10 20  7 35  0 40  curveto
		0 35  -10 20  -10 15  curveto
		-10 10  -10 0  0 0  curveto
		closepath fill
	grestore
} def

%%EndResource
%%EndProlog
%%BeginSetup
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
	gsave
		300 400 translate 2 2 scale
		candle
		60 rotate brush
		-120 rotate spanner
	grestore
	showpage
%%Trailer
%%EOF


Reply to: