1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
% Copyright 1988 Michael Urban
% Everyone is granted permission to copy, modify and redistribute
% this file, provided that a currently-dated copy of this
% copyright notice is included in the copy.
% License is granted to produce fonts based on the information
% in this file, provided that such fonts are redistributed
% without charge to any third party.
% SCCS ID @(#)telcor.mf 1.1 10/1/86
def telco (expr posn, stemtop, stembottom) =
begingroup;
save x,y,stem;
path stem;
y0 = stemtop*h;
lft x0 = posn;
y1 = h; z1-z0=whatever*dir(seriftilt);
x3 = x0; y3 = -stembottom*d;
y4 = -d; z3-z4=whatever*dir(180-seriftilt);
stem = z1..tension 3.0..z0{down}..z3{down}..z4;
draw stem;
bowpoint := stem intersectionpoint
((-infinity,bowstart)--(infinity, bowstart));
barpoint := stem intersectionpoint
((-infinity,0)--(infinity, 0));
penlabels(0,1,2,3,4);
endgroup;
enddef;
def nutelco (expr posn, stemtop, stembottom) =
begingroup;
save x,y,stem;
path stem;
y0 = stemtop*h;
rt x0 = posn;
y1 = h; z1-z0=whatever*dir(seriftilt);
x3 = x0; y3 = -stembottom*d;
y4 = -d; z3-z4=whatever*dir(seriftilt);
stem = z1..tension 3.0..z0{down}..z3--z4;
draw stem;
bowpoint := stem intersectionpoint
((-infinity, xht-bowstart)--(infinity, xht-bowstart));
if y0 > xht :
barpoint := stem intersectionpoint
((-infinity, xht)--(infinity, xht));
else :
barpoint := z0;
fi ;
penlabels(0,1,3,4);
endgroup;
enddef;
|