Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_3_19910112
-
metafont/sym.mf
There are no other files named sym.mf in the archive.
pa)).slant-2pu);
cpen; lft10x2=round 2.5u; x2=x3=r-x1;
top10y2=h; .5[y2,y3]=y1; y2-y1=(good10 .5[m,h])-(good10 a);
w10 draw 2..1..1..3; % diagonals
x4=x1; x5=x2; y4=y5; bot10y4=2a-h;
draw 4..5; % bar
fi.
if eqv0: "Equivalence or congruence sign";
call charbegin(eqv,18,0,0,px-pe+prt/2+pa,px-pe+prt/2-pa,(pa+ph-px).slant-.5pu);
cpen; lft10x1=round u; x3=x5=x1; x2=x4=x6=r-x1;
y1=y2; y3=y4=a; y5=y6; y1-y3=y3-y5=round(m-e);
w10 draw 1..2; % upper bar
draw 3..4; % middle bar
draw 5..6; % lower bar
fi.
if sim0: "Similarity sign";
call charbegin(sim,18,0,0,.5(px-pe)+pa,0,pa.slant-.5pu);
vpen; top10y1=round(a+.5(m-e)+eps); top10y1-bot10y2=round(m-e);
lft10x3=round u; y5=.5[y1,y2]; y3=y2; y4=y1; x4=r-x3; x5=r-x5;
call `a zdraw(3,1,5,2,4,w10,w10+deltaw,7.5u/(e-m)); % stroke
fi.
if infinity0: "Infinity";
call charbegin(infinity,18,0,0,px,0,.5px.slant-.5pu);
new w98,w99; w99=round .25[w6,w7]; w98=2[w1,w2];
vpen; top99y2=m+oo; bot99y1=-oo; y2=y4; y1=y3;
x1=lft2x2; rt2x3=x4; y5=y6=y7=.5[y1,y2];
lft0x7=round u; rt0x5=round(r-u); x6=.5[x7,x5];
new ss,mss; % reciprocal slope at center
if w0=w98: mss=ss; ss=-u/m;
else: if fixwidth0: mss=.75ss; ss=-1.5u/m;
else: mss=.75ss; ss=-6u/m;
fi;
fi;
call `a zdraw(7,4,6,1,5,w99,w98,ss); % lower right and upper left strokes
w99 draw 5{0,1}..2{-1,0}..6{mss,-1}..3{-1,0}..
7{0,1}; % upper right and lower left strokes
fi.
if forall0: "Universal quantifier";
call charbegin(forall,10,0,0,ph,0,ph.slant);
cpen; lft10x1=0; x2=good10 .5r=.5[x1,x3];
top10y1=h; y3=y1; bot10y2=-o; y4=y5=good10m;
new aa,bb; x4=aa[x1,x2]; y4=aa[y1,y2]; x5=bb[x3,x2]; y5=bb[y3,y2];
w10 draw 1..2..2..3; % diagonals
draw 4..5; % bar
fi.
if exists0: "Existential quantifier";
call charbegin(exists,10,0,0,ph,0,ph.slant-.5pu);
cpen; lft10x1=round u; rt10x2=round(r-u); x3=x5=x2; x4=x6-.25u=x1;
top10y1=h; bot10y4=0; y2=y1; y5=y6=.5[y1,y3]; y3=y4;
w10 draw 1..2..2..3..3..4; % upper bar, stem, lower bar
draw 5..6; % middle bar
fi.
if not0: "Logical NOT";
call charbegin(not,12,0,0,px,0,.5[pe,px].slant-.5pu);
cpen; lft10x1=round u; x2=x3=r-x1;
y1=y2=good10 .5[e,m]; y2-y3=1.2(m-e);
w10 draw 1..2..2..3; % bar and stem
fi.
if sharp0: "Sharp symbol (number sign or hash mark)";
call charbegin(sharp,15,0,0,ph,ph-2pa,(pa+.5(px-pe)).slant-1.5pu);
cpen; lft10x1=round u; x3=x1; x2=x4=r-x1;
y1=y2; y3=y4; y1-y3=round(m-e); .5[y1,y3]=a;
w10 draw 1..2; % upper bar
draw 3..4; % lower bar
x5-2u=x1; x8+2u=x2; x6-x5=x8-x7; x6-x7=fixwidth[0,-3u];
y5=y7; y6=y8; top10y6=h; .5[y5,y6]=a;
draw 5..6; % left diagonal
draw 7..8; % right diagonal
fi.
if dollar0: "Dollar sign";
call charbegin(dollar,9,0,0,ph+pb,pb,ph.slant-.5pu);
new w99; w99=round .3[w0,w4];
hpen; top0y1=h+oo; bot0y5=-oo;
x1=x3=x5=good10 .5r; y3=.52h; lft99x2=round u; x4=r-x2;
y6=y8=.5[y5,y3]; y7=y9=.5[y1,y3];
cpen; lft3x8=lft0x6=lft99x2; rt3x9=rt0x7=rt99x4;
w3 draw 8; % lower bulb
draw 9; % upper bulb
hpen; w0 draw 6{0,-1}..5{1,0}; % lower left stroke
draw 7{0,1}..1{-1,0}; % upper right stroke
call `a sdraw(1,2,3,4,5,w99,w9,-h/(50u)); % middle stroke
cpen; x10=x11=x3; top10y10=h+b; bot10y11=-b;
w10 draw 10..11; % stem
fi.
if at0: "At sign";
call charbegin(at,14,0,0,ph,0,.5ph.slant+.5pw-.5pu);
if fudge1: new w0,w1; % lines will be thinner in fudged styles
w0=round(fudge.fudge.pixels.pw+blacker);
w1=round(fudge.fudge.pixels.pwi+blacker);
fi;
hpen; x1=x8=x10=.5r; x2=good1 4u; x3=x4=x5=r-x2;
lft0x9=round u; x7=x11=x12=r-x9; x6=5/12[x5,x7];
top0y8=h+oo; bot0y10=-oo; y9=y10;
y1=good6 .8[y10,y8]; y2=y3=y6=good6 .2[y10,y8];
y7=.5[y10,y8]; y11=good6 .1[y10,y8]; y12=.9[y10,y8];
y4=.8[y2,y1]; y5=2/3[y7,y6];
call `a darc(1,2,w1); % left part of inner bowl
call `b darc(1,3,w0); % right part of inner bowl
draw |w1|4..|w1#|5{0,-1}..|w0#|6{1,0}..7{0,1}; % stem and link
call `c arc(8,7,w0); % right part of outer bowl
call `d darc(8,9,w0); % left part of outer bowl
w0 draw 10{1,0}..11(..12); % point
if fudge1: new w0,w1; % restore normal sizes in fudged styles
w0=round(pixels.pw+blacker); w1=round(pixels.pwi+blacker);
fi;
fi.
if rslash0: "Reverse slash";
call charbegin(rslash,9,0,0,ph+pb,ph+pb-2pa,0);
cpen; lft10x2=round u; x2=r-x1;
top10y2=h+b; .5[y1,y2]=a;
w10 draw 1..2; % diagonal
fi.
if cdot0: "Period raised to axis height";
call charbegin(cdot,5,0,0,3.5pu+pa,0,0);
cpen; new w99; w99=round 1.1w3;
x1=good99 .5r; y1=a; w99 draw 1; % dot
fi.
if int0: "Integral sign";
call charbegin(int,9,0,0,ph,pd,0);
hpen; rt2x1=rt0x2=round(r-u); y1=y2;
lft2x9=lft0x8=round u; y8=y9;
cpen; bot2y9=-.9d; y8-y7=y3-y1;
hpen; x3=r-2.5u; x7=2.5u;
top0y3=h; bot0y7=-d;
x5=good1 .5r; y5=.5[y3,y7];
x4=x5+.5u; y4=y5+1/3(y3-y7);
x6=x5-.5u; y6=y5-1/3(y3-y7);
cpen; w2 draw 1; % upper bulb
draw 9; % lower bulb
hpen; draw |w0|2{0,1}..|w0#|3{-1,0}..|.5[w0,w1]|4{x6-x4,y6-y4}..
|w1#|5..|.5[w0,w1]|6{x6-x4,y6-y4}..|w0#|7{-1,0}..8{0,1}; % stem
fi.
if diamond0: "Diamond operator";
call charbegin(diamond,9,0,0,3.5pu+pa,3.5pu-pa,0);
new aa; aa=3.75u; % an attempt to make this `go with' the circle
cpen; x8=good10(.5r); lft10x6=round(x8-aa);
top10y8=round(a+aa); y6=a;
x6+x2=r; .5[y8,y4]=a; y2=y6; x4=x8;
w10 draw 6..8..8..2..2..4..4..6; % bowl
fi.
if lbrace0: "Left brace";
call charbegin(lbrace,9,0,0,ph+pb,ph+pb-2pa,(ph+pb).slant+.5pw-pu);
hpen; x2=x3=x5=x6=good1 .5r; x1-x2=x2-x4=3u+eps; x1=x7;
top0y1=h+b; y4=.5[y1,y7]=.5[y2,y6]=.5[y3,y5]=good6 a;
y1-y2=y3-y4=(y1-y4)/4;
draw |w0#|1{3(x2-x1),y2-y1}..|w1#|2{0,-1}..|w1#|3{0,-1}..
|w0#|4{3(x4-x3),y4-y3}; % upper stem
draw |w0#|7{3(x6-x7),y6-y7}..|w1#|6{0,1}..|w1#|5{0,1}..
|w0#|4{3(x4-x5),y4-y5}; % lower stem
fi.
if rbrace0: "Right brace";
call charbegin(rbrace,9,0,0,ph+pb,ph+pb-2pa,(ph+pb).slant+.5pwi-4pu);
hpen; x2=x3=x5=x6=good1 .5r; x1-x2=x2-x4=-3u-eps; x1=x7;
top0y1=h+b; y4=.5[y1,y7]=.5[y2,y6]=.5[y3,y5]=good6 a;
y1-y2=y3-y4=(y1-y4)/4;
draw |w0#|1{3(x2-x1),y2-y1}..|w1#|2{0,-1}..|w1#|3{0,-1}..
|w0#|4{3(x4-x3),y4-y3}; % upper stem
draw |w0#|7{3(x6-x7),y6-y7}..|w1#|6{0,1}..|w1#|5{0,1}..
|w0#|4{3(x4-x5),y4-y5}; % lower stem
fi.
if vert0: "Vertical line (absolute value or length)";
call charbegin(vert,5,0,0,ph+pb,ph+pb-2pa,0);
cpen; x1=x2=good10 .5r; top10y1=h+b; .5[y1,y2]=a;
w10 draw 1..2; % stem
fi.
if under0: "Underbar suitable for < and >";
call charbegin(under,18,0,0,0,.5[px,ph]+prt/2-2pa+(px-pe),0);
y22=good10 .5[m,h]; .5[y22,y23]=good10 a; y1=y2=y23-(m-e);
cpen; lft10 x1=round 2.5u; x2=r-x1;
w10 draw 1..2; % bar
fi.
if squotes0: "Straight double quotes";
call charbegin(squotes,9,0,0,ph,0,ph.slant+.5pwiii-2.5pu);
new w99;
if w3<w0 sqrt 2: w99=round w0 sqrt 2;
else: w99=w3;
fi;
x1=x2=good99 3u; x3=x4=r-x1;
cpen; top99y1=h; y2=.5[e,m]; y3=y1; y4=y2;
call `a cdraw(1,2,99,0); % left stem
call `b cdraw(3,4,99,0); % right stem
fi.