Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_3_19910112
-
metafont/zmsy10.mf
There are no other files named zmsy10.mf in the archive.
% font parameters
fontidentifier "ZMSY"; % for Dover
ptsize=10;
% to run:
% .r mf
% *mode=<mode>;
% *input zmsy10
% *end
% where mode is
% 0 for proofmode
% 1 for XGP
% 2 for Alphatype
% 3 for Dover
% 4 for Canon
% or -mode for magnified font. Also specify mag=<magnification>; (e.g., 1.1)
designsize ptsize; % ignore error messages you get with old MF!
if mode<0: mmode=-mode; new mode; mode=mmode; % negative modes assume \\{mag} is set
else: mag=1;
fi;
magnification mag;
if mode=0: proofmode; drawdisplay; titletrace;
pixels=18*mag; blacker=0; overcorr=1; % for initial design of characters
else: if mode=1: fntmode; tfxmode; no modtrace;
magnification (3.6/200/.013837)mag;
pixels=3.6mag; blacker=.6; overcorr=.4; % XGP, Versatec, Varian, etc.
else: if mode=2: crsmode; tfxmode; titletrace; no modtrace;
pixels=73.7973; blacker=5; overcorr=1; % Alphatype
else: if mode=3: ocmode; tfmmode; dotwdmode; no modtrace;
overcorr=.6;
pixels=384*.013837*mag; blacker=0.75; % Dover
else: if mode=4: chrmode; tfxmode; no modtrace;
pixels=240*.013837*mag;
blacker=.2; overcorr=.4; % Canon
else: input mode;
fi;
fi;
fi;
fi;
fi;
fontfacebyte 254-2*ptsize;
hresolution pixels; vresolution pixels.
pt=pixels;
% TRIANGLE Parameters (in raster units)
trlen=17; trhht=5; trbas=3; trmarg=3; w0=1.5;
trht=2trhht;
% trlen = Length;
% trhht = half the height;
% trbas = height from baseline
% Thus, top of triangle is 2trhht+trbas units from baseline
% trmarg = space on either side of triangle
% w0 = width of lines used
% ARROW LOOP Parameters
alvert=8pt; alhorz=13pt; alhgt=4pt; alhed=4.5pt; alart=23.5pt;
alhedb=alhgt-alhed; alhedt=alhgt+alhed;
% alvert = vertical radius of ellipse
% alhorz = horizontal radius of ellipse
% alhgt = height of center of ellipse from baseline
% alart = x posn of arrow start
% alhed = vertical difference between arrow start and center
% POINTER Parameters
lphht=2pt; lplen=5pt; lpbht=3pt;
% lphht = half height
% lplen = length of new triangle
% lpbht = center line height
% TURNSTILE Parameters
tht=6pt; twd=4pt; tlmarg=1pt;
% tht = height
% twd = width
% tmarg = space to left
maxht 60.
"triL"; % 'a
charcode `a;
x1=trmarg; y2=trbas; y1=trhht+trbas; x2=x3=trmarg+trlen; y3=trht+trbas;
cpen;
w0 draw 1..2;
w0 draw 1..3;
w0 draw 2..3;
charht (trbas+trht)/pt; charwd (2trmarg+trlen)/pt; chardp 0; chardw 2trmarg+trlen;
.
"triR"; % 'b
charcode `b;
x2=x3=trmarg; y2=trbas; y1=trhht+trbas; x1=trmarg+trlen; y3=trht+trbas;
cpen;
w0 draw 1..2;
w0 draw 1..3;
w0 draw 2..3;
charht (trbas+trht)/pt; charwd (2trmarg+trlen)/pt; chardp 0; chardw 2trmarg+trlen;
.
"circle"; % 'c
charcode `c; % CIRCLE
x1=11pt; y1=4pt; % Set x1 to desired radius
cpen; % Set y1 to desired height of center from baseline
2x1 draw 1;
cpen#;
2x1-1pt draw 1;
charht (x1+y1)/pt; charwd 2x1/pt; chardp x1-y1; chardw 2x1;
.
"ellipse"; % 'd
charcode `d; % ELLIPSE
x1=11pt; y2=4pt; x2=15pt; % Set x1 to desired vertical radius
hpenht 2x1; % Set x2 to desired horizontal radius
hpen; 2x2 draw 2; % Set y2 to height of center from baseline
hpenht 2x1-1pt;
hpen#; 2x2-1pt draw 2;
charht (x1+y2)/pt; charwd 2x2/pt; chardp (x1-y2)/pt; chardw 2x2;
.
"left top arrow loop"; % 'e
charcode `e; % LEFT ARROW LOOP (TOP)
x1=alhorz; x2=alart; y1=y2=alhgt; % x1 is horizontal radius
x6=alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 2x1 draw 1;
hpenht 2x6-1pt;
hpen#; 2x1-1pt draw 1;
rpenht 2x6;
rpen#; 2x1-x2+2pt draw 2;
x3=x2; y3=alhedt; x4=x3-3.5pt; x5=x3-1pt; y4=alhedt-1pt; y5=alhedt+3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd x2/pt; chardp (x6-y1)/pt; chardw x2;
.
"left bottom arrow loop"; % 'f
charcode `f; % LEFT ARROW LOOP (BOTTOM)
x1=alhorz; x2=alart; y1=y2=alhgt; % x1 is horizontal radius
x6=alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 2x1 draw 1;
hpenht 2x6-1pt;
hpen#; 2x1-1pt draw 1;
rpenht 2x6;
rpen#; (2x1-x2+2pt) draw 2;
x3=x2; y3=alhedb; x4=x3-3.5pt; x5=x3-1pt; y4=alhedb+1pt; y5=alhedb-3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd x2/pt; chardp (x6-y1)/pt; chardw x2;
.
"right bottom arrow loop"; % 'g
charcode `g; % RIGHT ARROW LOOP (BOTTOM)
x1=alart-alhorz; % center of ellipse
x2=0;
y1=y2=alhgt; % x1 is horizontal radius
x6=alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 2alhorz draw 1;
hpenht 2x6-1pt;
hpen#; 2alhorz-1pt draw 1;
lpenht 2x6;
lpen#; (alhorz-x1+2pt) draw 2;
x3=x2; y3=alhedb; x4=x3+3.5pt; x5=x3+1pt; y4=alhedb+1pt; y5=alhedb-3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd alart/pt; chardp (x6-y1)/pt; chardw alart;
.
"right top arrow loop"; % 'h
charcode `h; % RIGHT ARROW LOOP (TOP)
x1=alart-alhorz; % center of ellipse
x2=0;
y1=y2=alhgt; % x1 is horizontal radius
x6=alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 2alhorz draw 1;
hpenht 2x6-1pt;
hpen#; 2alhorz-1pt draw 1;
lpenht 2x6;
lpen#; (alhorz-x1+2pt) draw 2;
x3=x2; y3=alhedt; x4=x3+3.5pt; x5=x3+1pt; y4=alhedt-1pt; y5=alhedt+3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd alart/pt; chardp (x6-y1)/pt; chardw alart;
.
"right arrow head"; % 'i
charcode `i; % RIGHT ARROW HEAD
x1=y1=0;
x2=x3=-3pt;
y2=-y3=2pt;
cpen;
1pt draw 1..2;
1pt draw 1..3;
charht y2/pt; charwd 0; chardp y2/pt; chardw 0;
.
"left arrow head"; % 'j
charcode `j; % LEFT ARROW HEAD
x1=y1=0;
x2=x3=3pt;
y2=-y3=2pt;
cpen;
1pt draw 1..2;
1pt draw 1..3;
charht y2/pt; charwd 0; chardp y2/pt; chardw 0;
.
"left pointer"; % 'k
charcode `k; % LEFT POINTER
%drawdisplay;
x1=x2=0; x3=lplen;
y3=lpbht; y1=y3-lphht; y2=y3+lphht;
cpen;
3 draw 1..2;
3 draw 1..3;
3 draw 2..3;
charht y2/pt; charwd x3/pt; chardp 0; chardw x3;
.
"special right arrow"; % 'l
charcode `l; % SPECIAL CURLY RIGHT ARROW
%drawdisplay;
bz=1.5pt;
x1=0bz; x2=16bz; x3=21bz; x4=18bz; x5=14bz; x6=21bz; x7=36bz;
y1=0bz; y2=7bz; y3=8.5bz; y4=5bz; y5=1bz; y6=3bz; y7=9bz;
x8=28bz; x9=29bz;
y8=y7; y9=y7-6bz;
cpen;
3 draw 1..2..3..4..5..6..7;
3 draw 7..8;
3 draw 7..9;
charht y7/pt; charwd x7/pt; chardp 0; chardw x7;
.
"right pointer"; % 'm
charcode `m; % RIGHT POINTER
%drawdisplay;
x1=x2=lplen; x3=0;
y3=lpbht; y1=y3-lphht; y2=y3+lphht;
cpen;
3 draw 1..2;
3 draw 1..3;
3 draw 2..3;
charht y2/pt; charwd x1/pt; chardp 0; chardw x1;
.
"right solid pointer"; % 'n
charcode `n; % RIGHT SOLID POINTER
%drawdisplay;
x1=x2=lplen; x3=0;
y3=lpbht; y1=y3-lphht; y2=y3+lphht;
cpen;
3 ddraw 1..2,1..3;
charht y2/pt; charwd x1/pt; chardp 0; chardw x1;
.
"left solid pointer"; % 'o
charcode `o; % LEFT SOLID POINTER
%drawdisplay;
x1=x2=0; x3=lplen;
y3=lpbht; y1=y3-lphht; y2=y3+lphht;
cpen;
3 ddraw 1..2,1..3;
charht y2/pt; charwd x3/pt; chardp 0; chardw x3;
.
"turnstile 1"; % 'p
charcode `p; % SINGLE TURNSTILE
%drawdisplay;
x1=x2=x3=tlmarg; x4=tlmarg+twd;
y1=0; y2=tht; y3=y4=tht/2;
cpen;
1pt draw 1..2;
1pt draw 3..4;
charht y2/pt; charwd x4/pt; chardp 0; chardw x4;
.
"turnstile 2"; % 'q
charcode `q; % DOUBLE TURNSTILE
%drawdisplay;
x1=x2=x3=x5=tlmarg; x4=x6=tlmarg+twd;
y1=0; y2=tht; y3=y4=tht/3; y5=y6=(2*tht)/3;
cpen;
1pt draw 1..2;
1pt draw 3..4;
1pt draw 5..6;
charht y2/pt; charwd x4/pt; chardp 0; chardw x4;
.
"turnstile 3"; % 'r
charcode `r; % TRIPLE TURNSTILE
%drawdisplay;
x1=x2=x3=x5=x7=tlmarg; x4=x6=x8=tlmarg+twd;
y1=0; y2=tht; y3=y4=tht*3/4; y5=y6=tht/2; y7=y8=tht/4;
cpen;
1pt draw 1..2;
1pt draw 3..4;
1pt draw 5..6;
1pt draw 7..8;
charht y2/pt; charwd x4/pt; chardp 0; chardw x4;
.
"long ellipse"; % 's
proofmode;
charcode `s; % ELLIPSE
x1=11pt; y2=4pt; x2=20pt; % Set x1 to desired vertical radius
hpenht 2x1; % Set x2 to desired horizontal radius
hpen; 2x2 draw 2; % Set y2 to height of center from baseline
hpenht 2x1-1pt;
hpen#; 2x2-1pt draw 2;
charht (x1+y2)/pt; charwd 2x2/pt; chardp (x1-y2)/pt; chardw 2x2;
.
"big left top arrow loop"; % 't
charcode `t; % LEFT ARROW LOOP (TOP)
x1=1.5*alhorz; x2=1.5*alart; y1=y2=alhgt; % x1 is horizontal radius
x6=1.5*(alvert); % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 2x1 draw 1;
hpenht 2x6-1pt;
hpen#; 2x1-1pt draw 1;
rpenht 2x6;
rpen#; 2x1-x2+2pt draw 2;
x3=x2; y3=alhgt+1.5*alhed; x4=x3-3.5pt; x5=x3-1pt; y4=y3-1pt; y5=y3+3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd x2/pt; chardp (x6-y1)/pt; chardw x2;
.
"big left bottom arrow loop"; % 'u
charcode `u; % LEFT ARROW LOOP (BOTTOM)
x1=1.5*alhorz; x2=1.5*alart; y1=y2=alhgt; % x1 is horizontal radius
x6=1.5*alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 2x1 draw 1;
hpenht 2x6-1pt;
hpen#; 2x1-1pt draw 1;
rpenht 2x6;
rpen#; (2x1-x2+2pt) draw 2;
x3=x2; y3=alhgt-1.5*alhed; x4=x3-3.5pt; x5=x3-1pt; y4=y3+1pt; y5=y3-3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd x2/pt; chardp (x6-y1)/pt; chardw x2;
.
"big right bottom arrow loop"; % 'v
charcode `v; % RIGHT ARROW LOOP (BOTTOM)
x1=1.5*alart-1.5*alhorz; % center of ellipse
x2=0;
y1=y2=alhgt; % x1 is horizontal radius
x6=1.5*alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 3alhorz draw 1;
hpenht 2x6-1pt;
hpen#; 3alhorz-1pt draw 1;
lpenht 2x6;
lpen#; (1.5*alhorz-x1+2pt) draw 2;
x3=x2; y3=alhgt-1.5*alhed; x4=x3+3.5pt; x5=x3+1pt; y4=y3+1pt; y5=y3-3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd 1.5*alart/pt; chardp (x6-y1)/pt; chardw 1.5*alart;
.
"big right top arrow loop"; % 'w
charcode `w; % RIGHT ARROW LOOP (TOP)
x1=1.5*alart-1.5*alhorz; % center of ellipse
x2=0;
y1=y2=alhgt; % x1 is horizontal radius
x6=1.5*alvert; % x6 is vertical radius
% y1 is height of center of ellipse
% x2 is x posn of arrow start
hpenht 2x6;
hpen; 3alhorz draw 1;
hpenht 2x6-1pt;
hpen#; 3alhorz-1pt draw 1;
lpenht 2x6;
lpen#; (1.5*alhorz-x1+2pt) draw 2;
x3=x2; y3=alhgt+1.5*alhed; x4=x3+3.5pt; x5=x3+1pt; y4=y3-1pt; y5=y3+3.5pt;
cpen;
1pt draw 3..4;
1pt draw 3..5;
charht (x6+y1)/pt; charwd alart/pt; chardp (x6-y1)/pt; chardw alart;
.