summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/simpsons/burns.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/simpsons/burns.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/simpsons/burns.mf171
1 files changed, 0 insertions, 171 deletions
diff --git a/Master/texmf-dist/fonts/source/public/simpsons/burns.mf b/Master/texmf-dist/fonts/source/public/simpsons/burns.mf
deleted file mode 100644
index e60d2309bfe..00000000000
--- a/Master/texmf-dist/fonts/source/public/simpsons/burns.mf
+++ /dev/null
@@ -1,171 +0,0 @@
-% burns.mf by Raymond Chen (rjc@math.princeton.edu)
-
-% Monty Burns.
-
-pictureof(Burns, 24u#, 24u#, 0);
- pickup thinpen;
-
- localpath ear;
- ear = (8u, 15u) .. (6u, 15.9u) .. (4.4u, 14.5u) .. (5.5u, 12.4u) ..
- (6.7u, 12.8u);
- % We don't draw the ear until it's been clipped by Burns' sideburns.
-
- localpath head;
- z1h = (9u, 20.6u); % join point for Burns' hair
- z2h = (7u, 13u); % terminal join point for interpathing
- z1e = (12u, 15u); % beginning of Burns' eye
- z2e = (16u, 12u); % end of Burns' eye
- z3e = (20u, 14u); % where Burns' eyebrow might be
- z4e = (20.5u, 17u); % the forward lobe of his forehead
- labels(1h, 2h, 1e, 2e, 3e, 4e);
- head = postclip(
- z1e .. tension 3 and 1 ..
- z2e{dir -5} ..
- z3e ..
- z4e{up} ..
- (16 u, 21.8u) ..
- (12 u, 21.6u) ..
- z1h .. tension 1 and 2 ..
- ( 5.7u, 19 u) .. % inflection upwards slightly
- ( 3.7u, 16.5u){down} ..
-% ( 5 u, 14 u)
- z2h
- , ear);
-
-% Now split the head at z1h into the forehead and the hair.
-% Although the intersectiontimes should give us an integer, we round just
-% in case something got lost in translation.
-
- numeric t; t = round xpart(head intersectiontimes z1h);
- if t < 0: errmessage("Unable to find Burns' hairline"); fi
-
- localpath outerhair;
- outerhair = subpath(t, infinity) of head;
- head := subpath(0, t) of head;
-
- localpath innerhair; % the inner boundary of Burns' hair,
- % and his sideburns.
- innerhair =
- z1h{direction 0 of outerhair} ..
- (8.8u, 16u){down} ..
- (8.3u, 12.5u) ..
- (8u, 12.3u) .. tension 2 ..
- z2h .. tension 2 ..
- (8u, 16u) ..
- (8.5u, 18u) ..
- {up} z1h;
-
- draw preclip(ear, innerhair); % now the ear can be drawn
- drawtau( (5.2u, 14.5u), (6.7u, 15u), (6.1u, 13.4u), (6.3u, 15.5u) );
-
-% Now split innerhair at z2h.
-
- numeric t; t = round xpart(innerhair intersectiontimes z2h);
- if t < 0: errmessage("Unable to find Burns' sideburns"); fi
-
- localpath interhair;
- interhair = reverse subpath(t, length innerhair - .5) of innerhair;
- innerhair := subpath(0,t) of innerhair;
-
-% Now we can clip the innerhair so his sideburns stop at the hairline
- draw innerhair;
- draw preclip(interhair, innerhair);
-
-% Now what's left of Burns' hair can be drawn
- for i= 0 step .3 until .8:
- draw prepostclip(interpath(i, outerhair, interhair), innerhair, ear);
- endfor
-
- localpath beak;
- z1b = (17 u, 12.5u); % first two beak points
- z2b = (20.3u, 8.5u);
- % Beak contains an inflection point
- beak = z1b{(z2b-z1b) rotated -5} .. z2b ..
- (21.6u, 6 u) .. tension 1 and 3 ..
- (21.7u, 3.8u) .. tension 3 and 3 ..
- (20.3u, 5.3u) ..
- (18 u, 7 u) ..
- (17 u, 8 u){up} ..
- {right}(18.4u, 9 u);
-
- draw (reverse beak) hardjoin head;
-
-% Now Burns' right eye.
- draw subpath(0,1) of head;
- localpath eye_bottom;
- eye_bottom = z1e {direction 0 of head} ..
- (14.5u, 10.9u) .. {dir 40} z2e;
- draw eye_bottom;
-% The bag under Burns' eye.
- draw (subpath(.4, 1) of eye_bottom) shifted (-.3u, -.5u);
-
-% Burns' left eye.
- draw prepostclip(
- (18u, 10.5u) .. (19.8u, 12u) .. (19u, 13u),
- beak, head);
-
- localpath mouth;
- mouth = preclip(
- (18.5u, 7u) .. tension 1 and 2 ..
- (18u, 4.5u) .. tension 2 and 1 ..
- (10u, 7.8u) ..
- (8.2u, 7.5u), beak);
- draw mouth;
-
-if false:
- % back of neck
- localpath neck;
- neck = preclip(
- (9u, 7u){down} .. %tension .9 and 3 ..
- {-(1,1.5)}(7.2u, 0u), ear);
- draw neck;
-
-fi
-
- % Burns' fangs, err, teeth. Must be drawn after the chin.
- numeric n; n = 5; % number of teeth, minus 1
- % n points equally spaced.
- numeric t[];
-
- % The following wild macro makes t0 ... t[n] equally spaced.
-
- for i = 1 upto n: t[i] - t[i-1] = endfor whatever;
- t0 = 1.1; t[n] = 2;
-
- localpath teeth;
- teeth =
- for i = 1 upto n:
- hide( makelabel.top(decimal(i-1), point t[i-1] of mouth); )
- bend(60, point t[i-1] of mouth, point t[i] of mouth) &
- endfor
- bend(60, point 2 of mouth, point 3 of mouth);
- draw teeth;
-
- z1c = (13.3u, 5.5u); % the inner cavity of the chin
- z2c = (9.5u, 0u); % the bottom tip of the neck
- z3c = (5.5u, 4u); % the bottom of the back of the neck
- labels(1c, 2c, 3c);
-
- localpath neck;
- neck = prepostclip( (15u, 7u) .. z1c .. tension 2 .. z2c &
- bend(20, z2c, z3c) &
- z3c{dir 80}.. (6.4u, 13u), teeth, ear);
- draw neck;
-
- % Draw Burns' suit jacket
- draw z3c .. {curl5} (2.5u, 0u);
- draw z3c .. (6u, 0u);
-
- z1j = neck intersectionpoint ((0u, 3u) .. (24u, 3u));
- draw z1j .. (14.3u, 0u);
- draw z1j .. (11.4u, 0u);
-
-% Burns' age spots.
- localpath agespot;
- agespot = fullcircle xscaled 1.5 scaled .4u rotated -15;
- draw agespot shifted (12u, 19.5u);
- draw agespot shifted (10.4u, 17.4u);
- draw agespot shifted (12.8u, 15.8u);
-
- eyepos(Burns, 14.2u#, 12.1u#, 18.6u#, 12.0u#);
-endpicture;