perm filename ITALD.MF[1,3] blob sn#520988 filedate 1980-07-07 generic text, type C, neo UTF8
C00001 00001
C00002 00002	% This file contains the ten digits, as well as `&' and `?',
C00003 00003	"Italic ampersand"
C00005 00004	"Italic numeral 0"
C00006 00005	"Italic numeral 1"
C00007 00006	"Italic numeral 2"
C00009 00007	"Italic numeral 3"
C00011 00008	"Italic numeral 4"
C00012 00009	"Italic numeral 5"
C00014 00010	"Italic numeral 6"
C00016 00011	"Italic numeral 7"
C00017 00012	"Italic numeral 8"
C00018 00013	"Italic numeral 9"
C00020 00014	"Italic question mark"
C00022 ENDMK
% This file contains the ten digits, as well as `&' and `?',
% in the so-called italic style.
% Codes \¬046, \¬060--\¬071, and \¬077 are used.
"Italic ampersand";
call charbegin('046,13,0,0,ph,0,0);
hpen; rt3x1=rt0x2=round .5(r+u); y1=y2=.5[m,h];
x3=4.5u; top0y3=h+o;;
lft1x4=round 1.25u; top0y4=round .5[e,m]; x7=x3;
rt0x6=round 6u; y6=y4; bot0y7=m;
lft2x8=round u; x9=7u; y8=.5[y7,y9]; bot0y9=-o;
rt0x10=round(r-1.5u); y10=e;
w0 draw 2{0,1}..3{-1,0}; 	% shoulder
call `a darc(3,4,w1);	% upper bowl
call `b darc(7,6,w0);	% loop
call `c arc(7,8,w2); call `d arc(9,8,w2);	% lower bowl
call `e arc(9,10,w0);	% link
x11=9u; y11=.5[e,h];
rt3x13=rt11x12=round(r-2u); y12=y13;
rt0x14=round(r-5.5u); y14=.5[e,m];
cpen; top2y13=h; bot2y16=bot6y15=round e;
w3 draw 1; w2 draw 13; draw 16;	% bulbs
hpen; w0 draw 10{0,1}..11{2(x11-x10),y11-y10};	% stem
w11 draw 12{0,-1}..11{2(x14-x12),y14-y12}..14{0,-1}..15{1,0}.	% arms
"Italic numeral 0";
% (Same as in the roman font, except for spacing.)
call charbegin(`0,9,0,0,phh,pd,phhh.slant-.5pu);
if fixwidth=0: new save; save=sqrttwo; new sqrttwo;
	sqrttwo=sqrt(1.23114413save);	% the constant is $2↑{3/10}$
hpen; x2=good2 1.25u;
x1=r-x1;	% axis of left-right symmetry
x3=r-x2; top0y1=hhh+o; bot0y2=-o; y3=y2;
call `a darc(1,2,w2); call `b darc(1,3,w2);	% bowl
if fixwidth=0: new sqrttwo; sqrttwo=save;
"Italic numeral 1";
call charbegin(`1,9,0,0,phhh,pd,phhh.slant-.5pu);
hpen; x1=x2=good2 .5r; top2y1=hhh+o; bot2y2=0;
w2 draw 1..2;	% stem
call `a serif(2,2,1,-3);
call `b serif(2,2,1,3);	% serif
top0y3=round .8hhh; x3=lft2x1-2.5u-eps;
y4=y1; rt2x1=rt0x4; y5=1.2hhh; x4=x5;
lpen#; w2 draw (5..)4..3{-1,0};	% erase excess
hpen; w0 draw (5..)4..3{-1,0}.	% point
"Italic numeral 2";
call charbegin(`2,9,0,0,phhh,pd,phhh.slant-.5pu);
hpen; x0=u; y0=.5[m,hhh]; x1=3u; y1=y0; x2=good0 3.5u; y2=.25[m,hhh];
x3=2u; bot0y3=round .5[e,m];
x4=good0 u; y4=m; x5=.5r; top0y5=hhh+o;
x9=good2(r-1.5u); lft2x9=lft0x8; rt2x9=rt0x10; y8=y10=.5[y7,y5];
x7=4u; y7=e; x6=good0 1.5u; bot0y6=-o;
x11=2.5u; y11=.4e;
vpen; bot8y13=-o=bot6y12; top8y13=top6y14; x12=x14=6.5u;
x15=good0(r-.5u); y15=2/3e;
hpen; w0 draw (0..)1..2{0,-1}..3{-1,0}..4{0,1}..5{1,0};	% shoulder
ddraw 5{1,0}..8{0,-1}..7{2(x7-x10),y7-y10},
	5{1,0}..10{0,-1}..7{2(x7-x10),y7-y10};	% bowl
draw 7{2(x7-x10),y7-y10}..6{0,-1};	% link
draw 6{0,1}..11{1,0};	% left part of bar
ddraw 11{1,0}..14{1,0}..15{0,1}, 11{1,0}..12{1,0}..15{0,1}.	% bar
"Italic numeral 3";
call charbegin(`3,9,0,0,phhh,pd,phhh.slant-.5pu);
hpen; x0=u; y0=.5[m,hhh]; x1=3u; y1=y0; x2=good0 3.5u; y2=.5[y1,y3];
y7=y8=.52hhh; x3=2u; bot0y3=round .125[y7,hhh];
lft0x4=round u; y4=1/3[y3,y5];
x5=.5r; top0y5=hhh+o; rt1x6=round(r-u); y6=.75hhh; x7=.5r; x8=x7-u;
lft3x9=lft0x10=round .75u; y9=y10;
cpen; top3y9=.3hhh; w3 draw 9;	% bulb
hpen; bot0y11=-o; x11=.5[x10,x12]; rt2x12=round(r-u); y12=.25hhh;
w0 draw (0..)1..2{0,-1}..3{-1,0}..4{0,1}..5{1,0};	% shoulder
draw |w0#|5{1,0}..|w1#|6{0,-1}..|w0#|7{-1,0};	% upper bowl
draw 7..8;	% bar
draw |w0#|7{1,0}..|w2#|12{0,-1}..|w0#|11{-1,0};	% lower bowl
draw 11{-1,0}..10{0,1}.	% link
"Italic numeral 4";
call charbegin(`4,9,0,0,phhh,pd,phhh.slant-.5pu);
cpen; top1y1=hhh+o; x1=good1 5u; lft0x2=round .25u; bot6y2=0;
x3=2.75u; y3=.08hhh; x4=r-2u; y4=0; rt0x5=round(r-.25u); y5=.03hhh;
x6=x7=2/3r; top2y6=e; bot2y7=-d;
w1 draw 1;	% make end point round
w2 draw 6..7;	% stem
hpen; draw |w1#|1{0,-1}..|w0#|2{3(x2-x1),y2-y1};	% diagonal
w0 draw 2{x1-x2,y1-y2}..3{1,0}..4{1,0}..5{x5-x4,2(y5-y4)}.	% bar
"Italic numeral 5";
% (Same as in the roman font, except for spacing.)
call charbegin(`5,9,0,0,phhh,pd,phhh.slant-.5pu);
vpen; x1=good0 2u; top8y1=hhh+o; rt6x3=round(r-1.25u); top6y3=hhh+o;
x2=.5[x1,x3]; new w99; w99=round .75[w6,w8]; top99y2=round .95hhh;
x0=-.5u; x4=r+1.5u; y0=y4=1.5hhh;
draw (|w8|0..)1..|w99|2..|w6|3(..4);	% arm
hpen; x5=x6=x1; top0y5=hhh; top0y6=round .5hhh;
x7=.5r-.25u; top0y7=round .61803hhh; x9=x7-.25u; bot0y9=-o;
rt2x8=round(r-u); y8=.5[y7,y9];
w0 draw 5..6;	% stem
draw 6{x7-x6,3(y7-y6)}..7{1,0};	% left part of bowl
call `a arc(7,8,w2); call `b arc(9,8,w2);	% right part of bowl
lft0x10=lft3x11=round u; y10=y11=1/3 y6;
w0 draw 9{-1,0}..10{0,1};	% tail
cpen; w3 draw 11.	% bulb
"Italic numeral 6";
% (Same as in the roman font, except for spacing.)
call charbegin(`6,9,0,0,phhh,pd,phhh.slant-.5pu);
hpen; x1=good2 1.5u; x2=good2(r-1.5u);
new w99; w99=round .8[w0,w3];
cpen; top99y3=8/9hhh;
if y3<.8hhh: new y3; y3=.8hhh;
rt99x3=rt0x4=round(r-1.25u); y4=y3;
w99 draw 3;	% bulb
hpen; x20=good2(x1+.1u); x5=x6=x10=.5[x7,x2]; top0y5=hhh+o;
x11=.8[x5,x3]; y11=.8[y3,y5];
bot0y2=-o; top0y6=round .6hhh; y20=.5[y2,y6];
y7=y2=y10; rt0x7=rt2x20;
w0 draw 4{0,1}..11{x5-x4,y5-y4}..5{-1,0};	% shoulder
call `a darc(6,7,w0); call `b darc(6,2,w2);	% bowl
new w99; w99=.5[w0,w2];
rt99x8=rt0x22; x22=1/sqrttwo[x6,x7]; lft99x8=lft0x21; y21=y22=y8;
lft0x23=lft2x1; rt0x24=rt2x1;
y8=1/sqrttwo[y20,y7]; y23=y24=y1=.5[y5,y10];
call `c arc(5,1,w2);	% upper stroke
w0 ddraw  23{0,-1}..21{x6-x7,y7-y20}..10{1,0},
	24{0,-1}..22{x6-x7,y7-y20}..10{1,0}.	% lower stroke
"Italic numeral 7";
call charbegin(`7,9,0,0,phhh,pd,phhh.slant-.5pu);
new w99; w99=round(w2+deltaw);
cpen; x1=good99 5.5u; bot99y1=-o; x2=good0(r-.75u); top6y2=hhh+o;
x3=good0 .5u; y3=m; y8=good6 .5[m,hhh]; y4=y7=y2;
top8y6=top6y7; bot8y6=bot6y5; x5=x7=4u; x8=2/3r;
w99 draw 1; 	% make end point round
hpen; draw |w0#|2{2(x1-x2),y1-y2}..|w99#|1{0,-1};	% stem
w0 draw 4..3;	% serif
draw 8{1,0}..2{2(x2-x1),y2-y1};	% link
ddraw 3{x4-x3,y4-y3}..7{1,0}..8{1,0},
	3{x4-x3,y4-y3}..5{1,0}..8{1,0}.	% bar
"Italic numeral 8";
% (Same as in the roman font, except for spacing and weight.)
call charbegin(`8,9,0,0,phhh,pd,phhh.slant-.5pu);
new w98,w99,ss; w99=round 1/3[w0,w1];
hpen; lft99x1=round u; x2=r-x1;
lft99x3=round .75u; x4=r-x3; x5=r-x5=x6=x7;
top0y5=hhh+o; y6=.54hhh; bot0y7=-o;
if w6=w98: ss=0; y1=y2; y3=y4;
else: ss=hhh/(18u);	y2=y1+.02hhh; y3=y4-.02hhh;
call `a sdraw(5,1,6,4,7,w99,w98,-ss);	% upper left and lower right strokes
w99 draw 5{1,0}..2{0,-1}..6{-1,-.618ss}..
	3{0,-1}..7{1,0}.	% upper right and lower left strokes
"Italic numeral 9";
% (Same as in the roman font, except for spacing.)
call charbegin(`9,9,0,0,phhh,pd,phhh.slant-.5pu);
x1=good2(r-1.5u); x2=good2 1.5u;
new w99; w99=round .75[w0,w3];
cpen; bot99y3=.25e;
if y3>.5e: new y3; y3=.5e;
lft99x3=lft0x4=round 1.5u; y4=y3;
w99 draw 3;	% bulb
hpen; x20=good2(x1-.1u); x5=x6=x10=.5[x20,x2-u]; bot0y5=-o;
w0 draw 4{0,-1}..5{1,0};	% tail
top0y2=hhh+o; y6=e-oo; y20=.5[y2,y6];
y7=y10=y2; lft0x7=lft2x20;
call `a darc(6,7,w0); call `b darc(6,2,w2);	% bowl
new w99; w99=2/3[w0,w2];	% intermediate width in \\{darc} routine
x8=x9; lft99x8=lft0(1/sqrttwo[x6,x7]);
y8=1/sqrttwo [y20,y7]; y5-y9=y8-y7; y1=.5[y5,y10];
draw |w0#|5{1,0}..|w99|9{x7-x6,y7-y20}..|w2#|1{0,1}
	..|w99|8{x6-x7,y7-y20}..|w0#|10{-1,0}.	% stroke
"Italic question mark";
call charbegin('077,9,0,0,ph,0,0);
cpen; lft3x1=lft0x2=round u; y1=y2; bot3y1=m;
x3=x4=x6=x8=.5r; top6y3=h+o; y8=.5h; y6=good6 2/3e;
rt10x9=round(r-1.5u); lft10x7=round 3u;
x5=2/3r; top6y5=e; bot3y4=0;
w3 draw 4;	% dot
draw 1;	% bulb
hpen; w0 draw 2{0,1}..3{1,0};	% shoulder
call `a sdraw(3,9,8,7,6,w10,w8,(y3-y6)/(10u));	% stroke
draw 6{1,0}..5{0,1}.	% point