summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/mathabx/mathcallgreek.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/mathabx/mathcallgreek.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/mathabx/mathcallgreek.mf1105
1 files changed, 1105 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/mathabx/mathcallgreek.mf b/Master/texmf-dist/fonts/source/public/mathabx/mathcallgreek.mf
new file mode 100644
index 00000000000..3fa14501e45
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mathabx/mathcallgreek.mf
@@ -0,0 +1,1105 @@
+% mathematical symbols by Anthony Phan.
+% file: mathcallgreek.mf (calligraphic font)
+% last modification: May 16, 2005.
+
+%
+% UPPERCASE
+%
+
+let math_fit = do_math_fit;
+math_fitting := true;
+
+cmchar "Calligraphic Alpha";
+beginchar(hex"81",14.4u#,cap_height#,0);
+ italcorr .5u#;
+ adjust_fit(-.05w#,0); pickup cal.nib;
+ lft x5=.54w; x7=.9w;
+ top y5=h+.4cap_curve; bot y7=bot_flourish_line;
+ z6=.3[z7,z5]-bend;
+ pickup tilted.nib;
+ lft x1=.05w; x2=.2w; rt x4=x5;
+ y1=y2+.1h; bot y2=bot_flourish_line; top y4=h+.4cap_curve;
+ y3=y6; z3=whatever[z2,z4]+2bend;
+ draw\\(z1..tension 1.2..{right}z2) softjoin flex(z2,z3,z4); % left diagonal
+ pickup cal.nib;
+ erase fill\\(0,bot y5)--(w,bot y5)--(w,top y5)--(0,top y5)--cycle;
+ draw flex(z5,z6,z7) softjoin (z7--z7+cal.extension); % right diagonal
+ draw rt z3--z6; % bar
+ math_fit(.5u#-.1cap_height#*slant,ic#); labels(1,2,3,4,5,6,7);
+endchar;
+
+cmchar "Calligraphic Beta";
+beginchar(hex"82",9.9u#,cap_height#,0);
+ italcorr max(.8h#*slant-.1w#,.3h#*slant)+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ lft x1=lft x3=0; x4=.6[x2,x5]; rt x5=.9w; x6=.4w; rt x7=w;
+ x8=.4[x9,x7]; lft x9=rt x3;
+ top y1=h+o; bot y3=-o; z2=.3[z3,z1]+bend;
+ y4=y1; y5=.6[y6,y4]; y6=.55h; y7=.45[y8,y6]; bot y8=-o; y9=.1h;
+ draw z1-cal.extension--flex(z1,z2,z3); % stem
+ draw z2{up}...z4...z5{down}...{dir 200}z6{dir 10}
+ ...z7{down}...z8{left}...z9; % lobes
+ math_fit(.5u#,.3h#*slant+.5u#); labels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+cmchar "Calligraphic Gamma";
+beginchar(hex"83",13.5u#,cap_height#,0);
+ italcorr h#*slant+.5u#;
+ adjust_fit(-.1w#,-u#); pickup cal.nib;
+ x1=.5w; x3=.4w; lft x4=.1w; x5=x2+.35w; x6=.7[x1,x7]; rt x7=w;
+ top y1=top y6=h; z2=.5[z3,z1]+1.2bend;
+ bot y3=-o; y4=.1h; y5=y2; y7=.9h;
+ draw flex(z1,z2,z3) softjoin (z3...{x4-x3,5(y4-y3)}z4); % stem
+ draw z1-flourish_change{up}...(z1-(u,0))---z6...{down}z7; % upper bar
+ math_fit(0,.5ic#); labels(1,2,3,4,5,6,7);
+endchar;
+
+cmchar "Calligraphic Epsilon";
+beginchar(hex"85",8.5u#,cap_height#,0);
+ italcorr max(h#*slant-.1w#,.2h#*slant)+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ x1=.9[x3,x2]; rt x2=.9w; x3=.6[x4,x2]; lft x4=.05w;
+ x5=.7[x6,x2]; lft x6=0; x7=.5[x6,x8]; rt x8=w;
+ y1=y2-.1h; y2=.9h+o; top y3=h+o; y4=.5[y5,y3];
+ y5=.55h; y6=.6[y5,y7]; bot y7=-o; y8=.2h;
+ draw\\(z1{2(x2-x1),y2-y1}...z2)
+ softjoin (z2...z3{left}...z4{down}...{right}z5); % upper arc
+ draw z5{left}...z6{down}...z7{right}...z8; % lower arc
+ math_fit(.5u#-.2h#*slant,.2h#*slant+.5u#);
+ labels(1,2,3,4,5,6,7,8);
+endchar;
+
+cmchar "Calligraphic Zeta";
+beginchar(hex"86",10.4u#,cap_height#,0);
+ italcorr h#*slant+.5u#;
+ adjust_fit(0,0); pickup heavy_cal.nib;
+ lft x1=.05w; x2=.4w; rt x3=w; lft x7=0; x8=.8[x7,x9]; rt x9=1.1w;
+ top y1=58/70h; top y2=top y3=h; bot y7=bot y8=0; bot y9=15/70h;
+ z5=.55[z7,z3]+bend;
+ x10=x5-2.5u; x11=x5+2u; x12=.2[x3,x2]; x13=.2[x7,x8];
+ y10=y5; bot y11=y10-6/70h; y12=64/70h; y13=6/70h;
+ draw z1{up}...z2{right}...{right}z12...z3; % upper arm
+ draw flex(z3,z5,z7); % diagonal
+ draw z7...z13{right}...{right}z8...{up}z9; % lower arm
+ pickup light_cal.nib;
+ draw z10...z5{right}...{down}z11; % bar
+ math_fit(.5u#,.6ic#); labels(1,2,3,5,7,8,9,10,11,12,13);
+endchar;
+
+
+cmchar "Calligraphic Eta";
+beginchar(hex"87",12.2u#,cap_height#,0);
+ italcorr max(h#*slant-.2w#,.15h#*slant)+.5u#;
+ adjust_fit(4u#,0); pickup cal.nib;
+ lft x1=lft x3=.5u; rt x4=rt x6=.8w-.6u; rt x9=w;
+ top y1=top y4=h; bot y3=-.06h; bot y6=bot_flourish_line; y9=y6+.1h;
+ z2=.6[z3,z1]+bend; z5=.4[z6,z4]-bend;
+ path p[]; p1=flex(z1,z2,z3); p2=flex(z4,z5,z6);
+ p3=(-w,.45h)--(2w,.45h);
+ rt z7+2bend=p3 intersectionpoint p1; rt z8=p3 intersectionpoint p2;
+ draw (z1-flourish_change-bend{curl2}....z1-(u,0)---z1) softjoin p1; % left stem
+ draw p2 softjoin (z6{right}...{up}z9); % right stem
+ draw z7--z8; % bar
+ math_fit(.5u#-.8h#*slant,.15h#*slant+.5u#);
+ labels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+cmchar "Calligraphic Theta";
+beginchar(hex"88",12.6u#,cap_height#,0);
+ italcorr .7h#*slant+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ x1=.3w; lft x2=0; x3=.5w; rt x4=w; x5=.6w; lft x6=.27w;
+ top y1=top y5=h+o; y2=.55h; bot y3=-o; y4=.5h; y6=y2;
+ y9 = good.y 0.65h; y7 = y10 = good.y 0.35h; y8 = good.y 0.5h;
+ x7 = x6; x8 = 0.5w; x9 = x10 = w-x6;
+ draw z1...z2{down}...z3{right}...z4{up}...z5{left}...{down}z6
+ --z7{up}...z8{right}...z9{up}--z10;
+ math_fit(.5u#-.3h#*slant,ic#-.5u#);
+ labels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+cmchar "Calligraphic Iota";
+beginchar(hex"89",10.8u#,cap_height#,0);
+ italcorr max(h#*slant+.5cap_curve#-.2w#,.15h#*slant)+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ lft x0=0; x1=.9w; x2=x4=.5w; x5=.2w; x6=.8w; rt x7=1.05w;
+ y0=.8h; top y1=top y2=h; z3=.5[z4,z2]+bend;
+ bot y4=bot y5=bot y6=0; y7=.15h;
+ draw z0{up}...z2---z1; % upper bar
+ z8=.5[z2,z1];
+ draw z8{left}...z3{down}...{left}.5[z4,z5]; % stem
+ draw z5---z6...{up}z7; % lower bar
+ math_fit(.5u#-.8h#*slant,.15h#*slant+.5u#);
+ labels(0,1,2,3,4,5,6,7);
+endchar;
+
+cmchar "Calligraphic K";
+beginchar(hex"8A",11u#,cap_height#,0);
+ italcorr max(h#*slant-.2w#,.2h#*slant)+.5u#;
+ adjust_fit(0,.1w#); pickup cal.nib;
+ lft x1=lft x3=0; top y1=h+o; bot y3=-o; z2=.6[z3,z1]+bend;
+ draw z1-cal.extension--flex(z1,z2,z3); % stem
+ pickup light_cal.nib;
+ rt x4=.9w; x5=x4-.1w; x7=.8w; rt x8=1.1w;
+ y4=.9h; top y5=h+o; bot y7=-o; y8=.2h-o;
+ (lft z6)t_=z2.t_+penoffset up of pen_[cal.nib];
+ draw z4{up}...{left}z5..tension atleast 2..{down}z6
+ ..tension atleast 3 and atleast 2..z7{right}...{up}z8; % diagonals
+ math_fit(.5u#,.2h#*slant+.5u#); labels(1,2,3,4,5,6,7,8);
+endchar;
+
+cmchar "Calligraphic Lambda";
+beginchar(hex"8B",14.4u#,cap_height#,0);
+ italcorr .5u#;
+ adjust_fit(-.05w#,0); pickup cal.nib;
+ lft x5=.54w; x7=.9w;
+ top y5=h+.4cap_curve; bot y7=bot_flourish_line;
+ z6=.3[z7,z5]-bend;
+ pickup tilted.nib;
+ lft x1=.05w; x2=.2w; rt x4=x5;
+ y1=y2+.1h; bot y2=bot_flourish_line; top y4=h+.4cap_curve;
+ y3=y6; z3=whatever[z2,z4]+2bend;
+ draw\\(z1..tension 1.2..{right}z2) softjoin flex(z2,z3,z4); % left diagonal
+ pickup cal.nib;
+ erase fill\\(0,bot y5)--(w,bot y5)--(w,top y5)--(0,top y5)--cycle;
+ draw flex(z5,z6,z7) softjoin (z7--z7+cal.extension); % right diagonal
+ math_fit(.5u#-.1cap_height#*slant,ic#); labels(1,2,3,4,5,6,7);
+endchar;
+
+cmchar "Calligraphic Mu";
+beginchar(hex"8C",19.8u#,cap_height#,0);
+ italcorr max(h#*slant-u#,.75cap_curve#)+.5cap_curve#+.5u#;
+ adjust_fit(-.1w#,0); pickup med_cal.nib;
+ (z20)t_=(z5)t_+penoffset down of currentpen
+ =(z4)t_+penoffset down of pen_[tilted.nib];
+ z6=.3[z7,z5]-bend; z9=.3[z8,z10]+.5bend; z12=.3[z13,z11]-bend;
+ x7=.5[x2,x13]; bot y7=.05h; top y5=h+o;
+ (z0)t_=(z7)t_+penoffset right of currentpen
+ =(z8)t_+penoffset right of pen_[tilted.nib];
+ pickup cal.nib;
+ (z30)t_=(z11)t_+penoffset up of currentpen
+ =(z10)t_+penoffset up of pen_[tilted.nib];
+ x13=w; bot y13=bot_flourish_line;
+ pickup tilted.nib;
+ lft x1=.1w; x2=.2w; x4=.2[x2,x7]; x10=.8[x7,x13];
+ y1=.05h+y2; bot y2=bot_flourish_line; top y10=h+o;
+ z3=whatever[z2,z4]+2bend; y3=y6;
+ draw\\(z1..tension1.2..{right}z2) softjoin flex(z2,z3,z4); % left stem
+ erase fill z20--(.5w,y20)--(.5w,top y4)--(x20-4u,top y4)--cycle;
+ pickup med_cal.nib;
+ draw flex(z5,z6,z7); % left diagonal
+ pickup cal.nib;
+ draw flex(z11,z12,z13) softjoin (z13--z13+cal.extension); % right stem
+ pickup tilted.nib;
+ path p; p=flex(z8,z9,z10);
+ erase fill z0--(x0,y0-.5h)--(x9,y0-.5h)--subpath(1,0) of p--cycle;
+ erase fill z30--(x30,y30+.5h)--(x9,y30+.5h)--subpath(1,2) of p--cycle;
+ draw p; % right diagonal
+ math_fit(.5u#-.05h#*slant,ic#);
+ labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,20,30);
+endchar;
+
+cmchar "Calligraphic Nu";
+beginchar(hex"8D",9u#,cap_height#,0);
+ italcorr h#*slant+.5u#;
+ adjust_fit(2u#,2.5u#); pickup med_cal.nib;
+ (z0)t_=(z5)t_+penoffset down of currentpen
+ =(z4)t_+penoffset down of pen_[tilted.nib];
+ (z20)t_=(z7)t_+penoffset up of currentpen
+ =(z8)t_+penoffset up of pen_[tilted.nib];
+ z6=.3[z7,z5]-bend; rt z7=(w,0); top y5=h+o;
+ pickup tilted.nib;
+ lft x1=x2-2u; x2=-u; x4=0; x10=w; rt x11=w+3u;
+ y1=y2+.05h; bot y2=bot_flourish_line;
+ y3=y6; z3=whatever[z2,z4]+2bend;
+ y10=h; z9=.7[z8,z10]-.5bend; bot y11=h;
+ draw\\(z1..tension1.2..{right}z2) softjoin flex(z2,z3,z4); % left stem
+ draw flex(z8,z9,z10)...{right}z11; % right stem
+ pickup med_cal.nib;
+ erase fill z0--(.5w,y0)--(.5w,1.5h)--(x0-4u,1.5h)--cycle;
+ erase fill z20--(.5w,y20)--(.5w,-.5h)--(x20+4u,-.5h)--cycle;
+ draw flex(z5,z6,z7); % diagonal
+ math_fit(.5u#-.05h#*slant,.3h#*slant);
+ labels(0,1,2,3,4,5,6,7,8,9,10,11,20);
+endchar;
+
+cmchar "Calligraphic Omicron";
+beginchar(hex"8F",12.6u#,cap_height#,0);
+ italcorr .7h#*slant+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ x1=.3w; lft x2=0; x3=.5w; rt x4=w; x5=.6w; lft x6=.27w;
+ top y1=top y5=h+o; y2=.55h; bot y3=-o; y4=.5h; y6=y2;
+ path p; p=z1...z2{down}...z3{right}...z4{up}...z5{left}...{down}z6;
+ draw subpath(0,4.8) of p; % bowl
+ math_fit(.5u#-.3h#*slant,ic#-.5u#);
+ labels(1,2,3,4,5,6);
+endchar;
+
+%
+% a revoir
+%
+
+cmchar "Calligraphic Pi";
+beginchar(hex"90",13u#,cap_height#,0);
+ italcorr h#*slant+.5u#;
+ adjust_fit(0,-.5u#);
+ pickup heavy_cal.nib;
+ x1=x3-0.03w; x3=.3w;
+ lft x4=0; x5=.25w; x6=.85w; rt x7=1.05w;
+ top y1=h; y4=3/4h; top y5=top y6=h; top y7=1.05h;
+ draw z4{curl 2}...z5{right}...z6{right}...{up}z7; % arms
+ pickup tilted.nib;
+ bot y3=-.1h;
+ z2=.3[z3,z1]+bend;
+ top y0=y1; x0=x2;
+ draw z0---z2...z3; % left stem
+ pickup cal.nib;
+ x8 = 0.75w; x10 = 0.9w;
+ top y8=y1; bot y10=bot_flourish_line;
+ z9=.3[z10,z8]-bend;
+ draw flex(z8,z9,z10) softjoin (z10--z10+cal.extension); % right stem
+ math_fit(.5u#-5/7h#*slant,-u#); labels(1,2,3,4,5,6,7);
+endchar;
+
+cmchar "Calligraphic Rho";
+beginchar(hex"91",9u#,cap_height#,0);
+ italcorr .8h#*slant+.5u#;
+ adjust_fit(4u#,0); pickup cal.nib;
+ lft x1=lft x3=0; x4=x6=.3[x1,x5]; rt x5=w;
+ top y1=top y4=h; y3=-o; y5=.55[y6,y4]; bot y6=.3h;
+ z2=.5[z3,z1]+bend;
+ draw flex(z1,z2,z3); % stem
+ draw z1{left}...{down}z1-flourish_change; % swash
+ draw z1---z4...z5{down}...{left}z6; % lobe
+ math_fit(.5u#-.8h#*slant,.5ic#); labels(1,2,3,4,5,6);
+endchar;
+
+cmchar "Calligraphic Tau";
+beginchar(hex"93",13u#,cap_height#,0);
+ italcorr h#*slant+.5u#;
+ adjust_fit(0,-.5u#); pickup heavy_cal.nib;
+ x1=.47w; x3=.5w; lft x4=0; x5=.25w; x6=.85w; rt x7=1.05w;
+ top y1=h; bot y3=-.1h; y4=3/4h; top y5=top y6=h; top y7=1.05h;
+ z2=.3[z3,z1]+bend;
+ top y0=y1; x0=x2;
+ z8=(2u,.2h);
+ draw z0---z2...z3; % stem
+ draw z4{curl 2}...z5{right}...z6{right}...{up}z7; % arms
+ math_fit(.5u#-5/7h#*slant,-u#); labels(1,2,3,4,5,6,7);
+endchar;
+
+cmchar "Calligraphic Chi";
+beginchar(hex"96",11.4u#,cap_height#,0);
+ italcorr h#*slant+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ lft x1=.08w; lft x2=.2w; x4-x3=x2-x1; rt x4=w;
+ h-y1=y4=1/9h; top y2=h; bot y3=0;
+ draw z1{up}....z2{right}
+ ... .2[z2+(.1w,0),z3-(.1w,0)]---.8[z2+(.1w,0),z3-(.1w,0)]
+ ...{right}z3....{up}z4; % left diagonal
+ x5=x6-u; rt x6=w; lft x7=0; x8=x7+u;
+ top y5=h; y6=.85h; y7=h-y6; bot y8=0;
+ draw z5{right}...z6{down}
+ ..tension atleast 3..{down}z7...{right}z8; % right diagonal
+ math_fit(.5u#,1/7h#*slant+.5u#); labels(1,2,3,4,5,6,7,8);
+endchar;
+
+%
+% LOWERCASE
+%
+
+let math_fit = ignore_math_fit;
+math_fitting := false;
+
+% just look at italic corection and math fitting
+cmchar "Calligraphic alpha";
+beginchar(hex"A1", 11u#, x_height#, 0);
+ italcorr max(0.15x_height#*slant+0.5lower_cal_width#,
+ x_height#*slant+0.5lower_cal_width#-2u#) if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ top y1 = vround 0.98h;
+ bot y2 = bot y5 = -oo;
+ top y4 = x_height+oo;
+ y3 = 0.5[y2, y4];
+ y6 = good.y 7/8[x_height, y5];
+ x1 = x5 = good.x(w-2.5u);
+ x3 = good.x 1.25u;
+ x6 = w; x2 = x4 = 0.5[x3, 6.5u];
+ draw z1{down}...z2 left_to_up z3 up_to_right z4...z5{right}...z6;
+ %
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1, 2, 3, 4, 5, 6);
+endchar;
+
+% just look at italic corection and math fitting
+cmchar "Calligraphic beta";
+beginchar(hex"A2", 8u#, asc_height#, desc_depth#);
+ italcorr max(.8h#*slant-.1w#, .5x_height#*slant)+.5u#;
+ adjust_fit(0, 0);
+ % see es-zet
+ pickup lower_cal.nib;
+ x2-x1=hround 0.5u; x2 = good.x 1.5u; x4 = .6[x2, x5];
+ x5 = good.x(0.9w-1.25u); lft x6 = x2; x7 = good.x(w-1.25u);
+ x8 = .4[x9, x7]; lft x9 = rt x2;
+ bot y1 = -d-eps; y2 = 0.5x_height;
+ top y4 = h+oo; y5 = .6[y6, y4]; y6 = .55h; y7 = .45[y8, y6];
+ bot y8 = -oo; y9 = .1h;
+% draw z1-cal.extension--flex(z1, z2, z3); % stem
+ draw z1...z2{up}...z4...z5{down}...{dir 200}z6{dir 10}
+ ...z7{down}...z8{left}...z9; % lobes
+ %
+ math_fit(.5u#, .3h#*slant+.5u#);
+ labels(1, 2, 3, 4, 5, 6, 7, 8, 9);
+endchar;
+
+% just look at math fitting
+cmchar "Calligraphic gamma";
+beginchar(hex"A3", 10u#, x_height#, desc_depth#);
+ italcorr h#*slant;
+ adjust_fit(0, 0);
+ pickup lower_cal.nib;
+ x1 = good.x 0; x3 = good.x(w-3.4u);
+ x2 = max(1.25u, 0.5[x1, x3]);%0.5[x1, x3];
+ x5 = good.x 3.8u;
+ x4=2/3[x3, x5];
+ rt x6 = hround(w-0.5u);
+ top y2 = x_height+oo; y1 = good.y 7/8[0, y2]; bot y4 = -d-eps;
+ y3 = y5 = 0.825[y2, y4]; top y6=vround 0.98 h;
+ draw z1...z2{right}... z3 down_to_left z4 left_to_up z5...z6{up};
+ math_fit(.5u#, .3h#*slant+.5u#);
+ labels(1, 2, 3, 4, 5, 6);
+endchar;
+
+cmchar "Calligraphic epsilon";
+beginchar(hex"A5", 8u#,x_height#,0);
+ italcorr max(h#*slant-.1w#,.2h#*slant)+.5u#;
+ adjust_fit(0,0); pickup lower_cal.nib;
+ rt x2 = hround(w-1.1u); x3=.6[x4,x2]; x4=good.x(1.5u);
+ x5=.7[x6,x2]; x6= good.x 1.25u; x7=.5[x6,x8]; x8 = good.x w;
+ x1=good.x 0.6[x5, x2];
+ %y1=y2-.1h;
+ y2=.9h+oo; top y3=h+oo; y4=.5[y5,y3];
+ y5=good.y .55h; y6=.5[y5,y7]; bot y7=-oo; y8=good.y 1/4x_height;
+ y1 = good.y 0.6[y5, y3];
+ draw\\(z1{2(x2-x1),y2-y1}...z2)
+ softjoin (z2...z3{left}...z4 down_to_right z5); % upper arc
+ draw z5{left}...z6 down_to_right z7...z8; % lower arc
+ math_fit(.5u#-.2h#*slant,.2h#*slant+.5u#);
+ labels(1,2,3,4,5,6,7,8);
+endchar;
+
+cmchar "The letter eta";
+beginchar(hex"A7", 9u#, x_height#, desc_depth#);
+ italcorr max(0.15x_height#*slant+0.5lower_cal_width#,
+ 0.75x_height#*slant+0.5lower_cal_width#);
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ x1 = 0; x3 = x4 = good.x 2.5u; bot y4 = -oo;
+ x6 = x7 = good.x(w-1.5u); bot y7 = -d-eps;
+ draw hook_in(1, 2, 3)---z4;
+ draw ital_arch(4, 5, 6)...z7{down};
+ %
+ math_fit(-2/3x_height#*slant+0.5hair#+0.5u#, ic#);
+ labels(1, 2, 3, 4, 5, 6, 7, 8);
+endchar;
+
+cmchar "The letter theta";
+beginchar(hex"A8", 8u#, asc_height#, 0);
+ italcorr .7asc_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ %
+ pickup lower_cal.nib;
+ top y1 = h+oo; bot y3 = -oo; y2 = y4 = 0.5[y1, y3];
+ x2 = good.x 1.25u; x4 = good.x(w-1.25u); x1 = x3 = 0.5[x2, x4];
+ z5 = z1; x6 = good.x 0.2[x2, x4]; x7 = 0.7[x2, x4];
+ y6 = 0.8[y3, y5]; y7 = good.y 0.43[y3, y5];
+ save p; path p; p = z1 left_to_down z2 down_to_right
+ z3 right_to_up z4 up_to_left z5 left_to_down z6...z7{right}...z4;
+ draw subpath (1.75, 12) of p;
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+cmchar "The letter theta (variant)";
+beginchar(hex"BA", 9.5u#, asc_height#, 0);
+ italcorr .7asc_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ %
+ pickup lower_cal.nib;
+ bot y5 = -oo; top y7 = h+oo; y6 = 0.5[y5, y7];
+ y4 = 0.7[y5, 0.57x_height];
+ y8 = 0.8[y5, y7]; y9 = good.y 0.43[y5, y7];
+ top y10 = x_height+oo; y10 := good.y 7/8[0, y10];
+ x1 = 0; x3 = good.x 2.5u;
+ x6 = good.x(w-1.75u);
+ x5 = x7 = 0.5[x3, x6];
+ x8 = good.x 0.2[x3, x6]; x9 = 0.75[x3, x6]; x10 = good.x w;
+ draw hook_in(1,2,3)...
+ z5{right} ... z6 up_to_left z7 left_to_down z8...z9{right}...z10;
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+cmchar "The letter kappa";
+beginchar(hex"A9", 9u#, x_height#, 0);
+ italcorr max(0.2x_height#*slant+0.1w#,
+ 0.95x_height#*slant-0.1w#+0.5u#);
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ top y1 = h; bot y2 = -oo; x1 = x2 = good.x 1.5u;
+ draw z1-cal.extension--z1--z2;
+ %
+ rt x4 = .9w; x5 = x4-.1w; x7 = .8w; rt x8 = 1.1w;
+ y4 = .9x_height; top y5 = x_height+oo; bot y7 = -oo; y8 = .2x_height-oo;
+ (lft z6)t_ = (x2, 0.4x_height).t_+penoffset up of pen_[lower_cal.nib];
+ draw z4{up}...{left}z5..tension atleast 2..{down}z6
+ ..tension atleast 3 and atleast 2..z7{right}...{up}z8; % diagonals
+ %
+ math_fit(0, 1/3x_height#*slant+0.5hair#+0.5u#);
+ labels(1, 2, 3, 4, 5, 6, 7, 8);
+endchar;
+
+cmchar "Calligraphic mu";
+beginchar(hex"AB", 9u#, x_height#, desc_depth#);
+ italcorr max(0.15x_height#*slant+0.5lower_cal_width#,
+ x_height#*slant+0.5lower_cal_width#-2u#);
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ x1 = x2 = x3 = good.x 1.5u;
+ x4 = 0.5[x2, x5]; x5 = x6 = x7 = good.x(w-2.5u); x9 = w;
+ bot y1 = -d-eps; top y2 = h;
+ y3 = 0.7[y4, y5]; bot y4 = -oo; y5 = 0.57h; top y6 = h;
+ draw z1..z2;
+ draw z3 down_to_right z4...z5{up};
+ draw z6..hook_out(7, 8, 9);
+ %
+ math_fit(-2/3x_height#*slant+0.5hair#+0.5u#, ic#);
+ labels(1, 2, 3, 4, 6, 7, 8, 9);
+endchar;
+
+%cmchar "Calligraphic nu";
+% beginchar(hex"AC", 9u#, x_height#, 0);
+% italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+% if math_fitting: -0.5u# fi; % same as "o"
+% adjust_fit(0, 0);
+% %
+% pickup lower_cal.nib;
+% x1 = good.x 0; x2 = 0.5[x1,x3]; x3 = x4-.25(y3-y4);
+% x4 = good.x 0.5w; x5 = good.x(w-1.25u); x6 = good.x(w-2u);
+% top y2 = x_height+oo; y1 = good.y 7/8[0, y2];
+% y3 = .57x_height;%3/4x_height;
+% bot y4 = -oo; y5 = 0.57h; top y6 = h+oo;
+% draw z1...z2{right}...z3---z4;
+% draw z4{(x5-x4), 1/3(y5-y4)}...z5{up}...z6;
+% %
+% math_fit(-2/3x_height#*slant+0.5hair#+0.5u#, ic#);
+% labels(1, 2, 3, 4, 5, 6);
+% endchar;
+
+cmchar "Calligraphic nu";
+beginchar(hex"AC", 8u#, x_height#, 0);
+ italcorr 0.8x_height#*slant;
+ adjust_fit(0, 0.5u#);
+ %
+ pickup lower_cal.nib;
+ x1 = 0; top y1 = h; z3 = (.48w, 0);
+ z0.t_ = z2.t_+penoffset down of currentpen
+ = z3.t_+penoffset down of pen_[tilted.nib];
+ draw z1{right}..tension atleast 1 and infinity..z2; % left diagonal
+ pickup tilted.nib;
+ rt x4 = w; x5 = x4-.2w; top y4 = .8h; top y5 = h;
+ path p; p = z3..tension atleast 3 and 1..{up}z4;
+ erase fill z0--(x0, y0-0.5h)--(x4, y0-0.5h)--(x4+eps, y4)--reverse p--cycle;
+ draw p...{left}z5; % right diagonal
+ %
+ math_fit(-2/3x_height#*slant+0.5hair#+0.5u#, 2/3ic#);
+ labels(0, 1, 2, 3, 4, 5);
+endchar;
+
+cmchar "The letter omicron";
+beginchar(hex"AF", 9u#, x_height#, 0);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ %
+ pickup lower_cal.nib;
+ top y1 = h+oo; bot y3 = -oo; y2 = y4 = 0.5[y1, y3];
+ x2 = good.x 1.25u; x4 = good.x(w-1.25u); x1 = x3 = 0.5[x2, x4];
+ draw z1 left_to_down z2 down_to_right
+ z3 right_to_up z4 up_to_left z1;
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1, 2, 3, 4);
+endchar;
+
+cmchar "Calligraphic pi";
+beginchar(hex"B0", 9u#, x_height#, 0);
+ italcorr x_height#*slant+0.5u# if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ top y2 =top y4= h; y2-y1 = vround 0.2h; top y3 = 0.98h;
+ x1 = good.x u; x2 = 3.5u; x3=good.x(w-2.5u); rt x4=w;
+ draw z1...z2{right}...z3{right}...z4;
+ top y9 = vround 0.98h; x9 = x10 = good.x(w-2.5u); x12 = w;
+ draw z9..hook_out(10, 11, 12);
+ bot y6=-oo; x5=0; x6=0.5[x5,x2]; y5-y6=vround 0.1h;
+ z7=0.3[z6,z2];
+ draw z5...z6{right}...z2{up};
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1, 2, 3, 4, 5, 6, 7, 8,9,10,11,12);
+endchar;
+
+cmchar "The letter rho";
+beginchar(hex"B1", 8u#, x_height#, desc_depth#);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ % like letter "b"
+ pickup lower_cal.nib;
+ bot y1 = -d-eps; y2 = 0.5x_height; bot y5 = -oo;
+ y4 = 0.5x_height; top y3 = x_height+oo;
+ x1 = x2 = good.x 1.5u; x3 = 0.5[x2, x4];
+ x4 = good.x(w-1.25u); x5 = 0.5[x2, x4];
+ draw z1..z2{up}
+ ...z3{right}...z4{down}...z5{left}...z2{up};
+ %
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(0, 1, 2, 3, 4, 5);
+endchar;
+
+cmchar "The letter rho (variant)";
+beginchar(hex"BD", 8u#, x_height#, desc_depth#);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ % like letter "b"
+ pickup lower_cal.nib;
+ bot y1 = -d-eps; y2 = 0.5x_height; bot y5 = -oo;
+ y4 = 0.5x_height; top y3 = x_height+oo;
+ rt x1 = w; x2 = good.x 1.5u; x3 = 0.5[x2, x4];
+ x4 = good.x(w-1.25u); x5 = 0.5[x2, x4];
+ draw z1...(x5, good.y 0.25[y1, y5]){left}...z2{up}
+ ...z3{right}...z4{down}...z5{left}...z2{up};
+ %
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(0, 1, 2, 3, 4, 5);
+endchar;
+
+cmchar "Calligraphic upsilon";
+beginchar(hex"B4", 9u#, x_height#, 0);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi; % same as "o"
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ x1 = 0; x3 = good.x(2.80u); x4 = good.x(2.3u);
+ x5 = 0.5[x4, x6]; x6 = good.x(w-1.25u); x7 = good.x(w-2u);
+ y4 = 0.7[y5, y6]; bot y5 = -oo; y6 = 0.57h; top y7 = h+oo;
+ draw hook_in(1, 2, 3)...z4 down_to_right z5...z6{up}...z7;
+ %
+ math_fit(-2/3x_height#*slant+0.5hair#+0.5u#, ic#);
+ labels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+cmchar "The letter phi";
+beginchar(hex"B5", 11u#, asc_height#, asc_depth#);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi; % same as "o"
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ %
+ pickup lower_cal.nib;
+ top y1 = x_height+oo; bot y3 = -oo; y2 = y4 = 0.5[y1, y3];
+ x2 = good.x 1.25u; x4 = good.x(w-1.25u); x1 = x3 = 0.5[x2, x4];
+ draw z1 left_to_down z2 down_to_right
+ z3 right_to_up z4 up_to_left z1;
+ pickup fine_cal.nib;
+ x5= x6 =good.x 0.5w; top y5 =h+eps; bot y6=-d-eps;
+ draw z5..z6;
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1, 2, 3, 4, 5, 6);
+endchar;
+
+cmchar "The letter phi (variant)";
+beginchar(hex"BF", 11u#, x_height#, desc_depth#);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi;
+ adjust_fit(0, 0);%(-0.25u#, -0.25u#);
+ %
+ pickup lower_cal.nib;
+ top y1 = h+oo; bot y3 = -oo; y2 = y4 = 0.5[y1, y3];
+ x2 = good.x 1.25u; x4 = good.x(w-1.25u); x1 = x3 = 0.5[x2, x4];
+ x5 = 0.5[x6,x4]; x6 = x7 = good.x 0.5[x2, x4];
+ y5 = y1; y6 = 0.5[y3, y5]; bot y7 = -d-eps;
+ save p; path p; p = z1 left_to_down z2 down_to_right
+ z3 right_to_up z4 up_to_left z5 left_to_down z6..z7;
+ draw subpath (.75, 12) of p;
+ math_fit(-.3x_height#*slant+0.5curve#-u#, ic#);
+ labels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+cmchar "Calligraphic chi";
+beginchar(hex"B6",11u#,x_height#,desc_depth#);
+ italcorr h#*slant+.5u#;
+ adjust_fit(0,0); pickup cal.nib;
+ lft x1=.08w; lft x2=.2w; x4-x3=x2-x1; rt x4=w;
+ h-y1=d+y4=1/9(h+d); top y2=h; bot y3=-d-eps;
+ draw z1{up}....z2{right}
+ ... .2[z2+(.1w,0),z3-(.1w,0)]---.8[z2+(.1w,0),z3-(.1w,0)]
+ ...{right}z3....{up}z4; % left diagonal
+ x5=x6-u; rt x6=w; lft x7=0; x8=x7+u;
+ top y5=h; y6=.85[-d,h]; y7=h-d-y6; bot y8=-d-eps;
+ draw z5{right}...z6{down}
+ ..tension atleast 3..{down}z7...{right}z8; % right diagonal
+ math_fit(.5u#,1/7h#*slant+.5u#); labels(1,2,3,4,5,6,7,8);
+endchar;
+
+cmchar "Calligraphic psi";
+beginchar(hex"B7", 11u#, asc_height#, desc_depth#);
+ italcorr .7x_height#*slant+0.5lower_cal_width#-u#
+ if math_fitting: -0.5u# fi; % same as "o"
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ x1 = 0; x3 = good.x(2.80u); x4 = good.x(2.3u);
+ x5 = 0.5[x4, x6]; x6 = good.x(w-1.25u); x7 = good.x(w-2u);
+ y4 = 0.7[y5, y6]; bot y5 = -oo; y6 = 0.57x_height; top y7 = x_height+oo;
+ draw hook_in(1, 2, 3)...z4 down_to_right z5...z6{up}...z7;
+ pickup fine_cal.nib;
+ x8 = x9 = good.x(0.5[2.5u, w-1.5u]); top y8 = h+eps; bot y9 = -d-eps;
+ draw z8..z9;
+ %
+ math_fit(-2/3x_height#*slant+0.5hair#+0.5u#, ic#);
+ labels(1, 2, 3, 4, 5, 6, 7, 8, 9);
+endchar;
+
+endinput.
+
+
+%
+% GREEK LOWERCASE
+%
+
+apprr:=apprl:=hround u;
+beginchar(oct"241", 10u#, x_height#, 0);
+ "The letter alpha";
+ italcorr x_height#*slant-0.5u#;
+ pickup lower_cal.nib;
+ top y1 = h+eps; top y5 = h+u_o; bot y2 = -d_o; bot y6 = -eps;
+ 0.5[y3, y4] = 0.5[y2, y5]; y4-y3 = loop_squareness*(y5-y2);
+ lft x3 = lft x4 = apprl-ho; rt x1 = rt x6 = w-apprr+eps;
+ x2 = x5 = 0.375[x3, x6];
+ draw z1 hang_to z2 left_to_up z3..z4 up_to_right z5
+ hook_to z6; labels(1, 2, 3, 4, 5, 6);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"242", 8u#, asc_height#, desc_depth#);
+ "The letter beta";
+ italcorr 0.8asc_height#*slant-u#+ho#;
+ pickup lower_cal.nib;
+ bot y1 = -d; top y5 = x_height; top y3 = h+u_o; bot y7 = -d_o;
+ 0.5[y4', y4] = 0.5[y5, y3]; 0.5[y6', y6] = 0.5[y7, y5]; y8 = hook_h;
+ y4-y4' = loop_squareness*(y3-y5);
+ y6-y6' = loop_squareness*(y5-y7); y2 = y4';
+ lft x1 = apprl; x1 = x2 = x8; rt x4+hround 0.5u = rt x6 = w-apprr+ho;
+ x3 = 0.55[x2, x4]; x7 = 0.5[x8, x6]; lft x5 = rt x1+hround u;
+ x4 = x4'; x6 = x6';
+ draw z1..z2 up_to_right z3 right_to_down z4..z4' down_to_left z5
+ &z5 right_to_down z6..z6' down_to_left z7 left_to_up z8;
+ labels(1, 2, 3, 4, 4', 5, 6, 6', 7, 8);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"243", 8u#, x_height#, desc_depth#);
+ "The letter gamma";
+ italcorr x_height#*slant;
+ pickup lower_cal.nib; numeric a; a = 0.60;
+ top y1 = top y7 = h+eps; bot y4 = -d-d_o; y3 = y5 = 0.2[y4, y1];
+ lft x1 = apprl-hround 0.5u; rt x7 = w-apprr+hround 0.5u;
+ x5-x1 = x7-x3 = hround 1.5u; x4 = 0.5[x3, x5];
+ x2 = a[x1, x3]; x6 = a[x7, x5]; y2 = a[y3, y1]; y6 = a[y5, y7];
+ draw z1...z2{z3-z1}...z3 down_to_left
+ z4 left_to_up z5...z6{z7-z5}...z7;
+ labels(1, 2, 3, 4, 5, 6, 7);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"244", 8u#, asc_height#, 0);
+ "The letter delta";
+ italcorr 0.9asc_height#*slant-u#;
+ pickup lower_cal.nib;
+ top y1 = top y2 = h; y5 = good.x x_height; bot y8 = -d_o;
+ rt x7-ho = rt x1+hround 0.5u = w-apprr;
+ lft x9+ho = lft x3+eps = apprl;
+ x5 = x8 = 0.5[x9, x7]; x2 = 0.4[x3, x1];
+ slope := -h/17u;
+ ellipse_set(2, 3, 4, 5); ellipse_set(8, 7, 6, 5);
+ y7 = y9; y10 = y6; x6-x5 = x5-x10;
+ draw z1{x2-x1, 2(y2-y1)}
+ ..z2 left_to_down z3 ...z4---z6...z7
+ down_to_left z8 left_to_up z9...z10---z5;
+ labels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"245", 7u#, x_height#, 0);
+ "The letter epsilon";
+ italcorr x_height#*slant-0.5u#;
+ pickup lower_cal.nib;
+ top y1 = h; bot y4 = -d_o; y6 = y7 = good.y 0.51[y4, y1];
+ y2-y3 = loop_squareness*(y1-y4); y5 = good.y 0.15h;
+ y6 = 2/3[y3, y2]; x4 = 0.55[x2, x5];
+ rt x1 = rt x7+hround 0.5u = rt x5-hround 0.5u = w-apprr;
+ lft x2 = apprl-ho; x2 = x3 = x6;
+ draw z1 left_to_down z2..z3 down_to_right z4 hook_to z5;
+ draw z6..z7; labels(1, 2, 3, 4, 5, 6, 7);
+ math_fit(0, ic#);
+endchar;
+
+ % ???
+
+beginchar(oct"245", 7u#, x_height#, 0);
+ "The letter variant epsilon";
+ italcorr x_height#*slant-0.5u#;
+ pickup lower_cal.nib;
+ top y2 = h+u_o; bot y6 = -d_o;
+ y3 = 0.5[y2, y4]; y5 = 0.5[y4, y6]; y7 = hook_h;
+ y1 = good.y 0.9[y6, y2]; y4 = good.y 0.5[y7, y1];
+ rt x1 = rt x4+hround 1.5u = rt x7-hround 0.5u = w-apprr;
+ lft x3 = lft x5 = apprl-ho; x2 = 0.6[x3, x1]; x6 = 0.5[x5, x7];
+ draw z1{x2-x1, 3(y2-y1)}
+ ...z2 left_to_down z3 down_to_right z4
+ &z4 left_to_down z5 down_to_right z6 hook_to z7;
+ labels(1, 2, 3, 4, 5, 6, 7);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"246", 8u#, asc_height#, desc_depth#);
+ "The letter zeta";
+ italcorr x_height#*slant-0.5u#;
+ pickup lower_cal.nib;
+ top y1 = h; top y2 = top y3 = top y4 = vround(y1-0.25(h-x_height));
+ bot y6 = bot y7 = 0; bot y9 = -d;
+ y5 = 0.3[y6, y4]; y8 = 0.5[y9, y7];
+ lft x1 = apprl+hround 1.5u; lft x5 = apprl-ho;
+ rt x3 = w-apprr-hround u; rt x8 = w-apprr+ho;
+ x2 = 0.7[x1, x3];
+ x4 = 0.85[x5, x3];
+ x6-x5 = x8-x7 = 0.4(x8-x5);
+ x9 = good.x(0.5[x5, x8]);
+ draw z1 down_to_right z2..z3&z3..z4 left_to_down z5
+ down_to_right z6...z7right_to_down z8 down_to_left z9;
+ labels(range 1 thru 9);
+ math_fit(0, ic#);
+endchar;
+
+
+
+ % ?
+
+beginchar(oct"251", 12u#, asc_height#, 0);
+ "The letter variant theta";
+ italcorr 0.7asc_height#*slant-1.5u#+ho#;
+ pickup lower_cal.nib;
+ lft x1 = lft x3-hook_w = apprl-hround 0.5u;
+ x2 = 1/3[x3, x1];
+ rt x5 = lft x3+hround(6u)+ho;
+ x4 = 0.5[apprl, w-apprr]; x6 = 0.5[x3, x5];
+ x7 = good.x 0.2[x3, x5];
+ x9-x8 = 0.5hook_w;
+ rt x9 = w-apprr+hround 0.5u;
+ y1+hook_h = top y2-eps = x_height; bot y4 = -d_o; top y6 = h+u_o;
+ y5 = y8 = good.y 0.5[y4, y6]; y3 = 0.25[y2, y4]; y7 = 0.7[y5, y6];
+ y8-y9 = vround hook_h;
+ draw z1 hang_to z2 right_to_down z3 down_to_right
+ z4 right_to_up z5 up_to_left z6 left_to_down
+ z7 down_to_right z8 right_to_down z9;
+ labels(1, 2, 3, 4, 5, 6, 7, 8, 9);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"252", 2.5u#+curve#, x_height#, 0);
+ "The letter iota";
+ italcorr x_height#*slant-2u#;
+ pickup lower_cal.nib; rt x1 = w-apprr-hround 1.5u; top y1 = h+eps;
+ draw right_hook1;
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"253", 8u#, x_height#, 0);
+ "The letter kappa";
+ italcorr max(0.2x_height#*slant+0.1w#,
+ 0.95x_height#*slant-0.1w#+0.5u#);
+ adjust_fit(0, 0);
+ %
+ pickup lower_cal.nib;
+ top y1 = h; bot y2 = -oo; x1 = x2 = good.x 1.5u;
+ draw z1-cal.extension--z1--z2;
+ %
+ rt x4 = .9w; x5 = x4-.1w; x7 = .8w; rt x8 = 1.1w;
+ y4 = .9x_height; top y5 = x_height+oo; bot y7 = -oo; y8 = .2x_height-oo;
+ (lft z6)t_ = (x2, 0.4x_height).t_+penoffset up of pen_[lower_cal.nib];
+ draw z4{up}...{left}z5..tension atleast 2..{down}z6
+ ..tension atleast 3 and atleast 2..z7{right}...{up}z8; % diagonals
+ %
+ math_fit(0, 1/3x_height#*slant+0.5hair#+0.5u#);
+ labels(1, 2, 3, 4, 5, 6, 7, 8);
+endchar;
+
+ % ?
+
+beginchar(oct"253", 10u#, x_height#, 0);
+ "The letter variant kappa";
+ italcorr x_height#*slant-0.75u#;
+ pickup lower_cal.nib;
+ top y1 = top y4-u_o = h; bot y3+d_o = bot y6 = 0;
+ y2 = h-y5 = 1/3[y1, y6];
+ lft x1 = apprl-hround 0.5u-eps;
+ rt x6 = w-apprr+hround 0.5u+eps;
+ x3-x1 = x6-x4 = hround 0.75u;
+ x2-x1 = x6-x5 = hround 2.55u+eps;
+ draw z1 right_to_down z2...{z3-z4}z3
+ --z4{z3-z4}...z5 down_to_right z6;
+ labels(1, 2, 3, 4, 5, 6);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"254", 8u#, asc_height#, 0);
+ "The letter lambda";
+% no italic correction
+ pickup lower_cal.nib;
+ top y1 = h+eps; bot y2 = bot y3 = -eps;
+ top y4 = max(x_height, 0.5h);;
+ apprl-lft x3 = rt x2-(w-apprr) = hround 0.5u-eps;
+ x4 = 0.5[x2, x3]; z1 = whatever[z2, z4];
+ draw z1..z2; draw z3..z4; labels(1, 2, 3, 4);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"255", 8u#, x_height#, desc_depth#);
+ "The letter mu";
+ italcorr x_height#*slant-1.5u#;
+ pickup lower_cal.nib;
+ top y1a = h+eps; bot y1b = -d-eps; lft x1a = lft x1b = apprl;
+ draw z1a..z1b;
+ x2a = x1a; rt x2c = rt x2d = w-apprr; x2b = 0.5[x2a, x2c];
+ bot y2b = -d_o; top y2d = h+eps;
+ y2a = 0.5[y2d, y2b]; y2c = 2/3[y2d, y2b];
+ draw z2a down_to_right z2b right_to_up z2c..z2d;
+ labels(1a, 1b, 2a, 2b, 2c, 2d);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"256", 7u#, asc_height#, 0);
+ "The letter nu";
+ italcorr 0.7asc_height#*slant-0.5u#+ho#;
+ pickup lower_cal.nib;
+ top y1 = x_height+eps;
+ bot y2 = -d_o; top y4 = h+eps; y3 = 0.5[y2, y4];
+ lft x1 = apprl-hround 0.5u; rt x3 = w-apprr+ho;
+ x2 = x4 = good.x 0.5[x1, x3];
+ draw z1--z2{2(x3-x2), y3-y2}...z3{up}
+ ...{x4-x3, (1-superness)*(y4-y3)}z4;
+ labels(1, 2, 3, 4);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"257", 8u#, asc_height#, desc_depth#);
+ "The letter xi";
+ italcorr x_height#*slant-.5u#;
+ pickup lower_cal.nib;
+ top y1 = h; top y2 = top y3 = top y4 = vround(y1-0.25(h-x_height));
+ top y6 = top y7 = top y8 = vround 0.5h; bot y10 = bot y11 = 0; bot y13 = -d;
+ y5 = 0.5[y6, y4]; y9 = 0.4[y10, y8]; y12 = 0.5[y13, y11];
+ lft x1 = apprl+hround 1.5u; lft x5 = apprl; lft x9 = apprl-ho;
+ rt x3 = rt x7 = w-apprr-hround u; rt x12 = w-apprr+ho;
+ x2 = 0.7[x1, x3];
+ x4 = 0.85[x5, x3];
+ x6 = 0.7[x5, x7];
+ x8 = 0.8[x9, x7];
+ x10-x9 = x12-x11 = 0.4(x12-x9);
+ x13 = good.x 0.5[x9, x12];
+ draw z1 down_to_right z2..z3&z3..z4 left_to_down z5
+ down_to_right z6..z7&z7..z8 left_to_down z9 down_to_right z10
+ ...z11 right_to_down z12 down_to_left z13;
+ labels(range 1 thru 13);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"261", 9u#, x_height#, desc_depth#);
+ "The letter pi";
+ italcorr x_height#*slant;
+ pickup lower_cal.nib;
+ top y1 = h; y1 = y2 = y3 = y5; bot y4 = bot y6 = -eps;
+ lft x1 = apprl-eps-hround 0.5u;
+ rt x2 = w-apprr+eps+hround 0.5u;
+ x3 = x4; x5 = x6; x3-x1 = x2-x5;
+ x3 = good.x 0.25[apprl, w-apprr];
+ draw z1..z2; draw z3..z4; draw z5..z6;
+ labels(1, 2, 3, 4, 5, 6);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"262", 8u#, x_height#, desc_depth#);
+ "The letter rho";
+ italcorr 0.7x_height#*slant-0.5u#+ho#;
+ pickup lower_cal.nib; set_loop1(right); draw_loop1(right);
+ bot y2 = -d-eps; x2 = x1c; draw z1c..z2; labels(2);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"263", 8u#, x_height#, desc_depth#);
+ "The letter variant rho";
+ italcorr 0.7x_height#*slant-0.5u#+ho#;
+ pickup lower_cal.nib; set_loop1(right); draw_loop1(right);
+ bot y3 = bot y4 = -d; y2 = 0.5[y1c, y3];
+ x2 = x1c; rt x4 = w-apprr+eps; x3 = 0.5[x2, x4];
+ draw z1c..z2 down_to_right z3..z4; labels(2, 3, 4);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"264", 9u#, x_height#, 0);
+ "The letter sigma";
+ italcorr x_height#*slant;
+ save loop_right; loop_right = apprr+hround u;
+ pickup lower_cal.nib; set_loop1(both); draw_loop1(both);
+ rt x3 = w-apprr+hround 0.5u+eps; top y3 = h;
+ z2 = 0.5[z1b, z3];
+ draw z1b...z2{(z3-z2) yscaled 2}...z3; labels(2, 3);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"265", 7u#, x_height#, comma_depth#);
+ "The letter variant sigma";
+ italcorr x_height#*slant-0.5u#;
+ pickup lower_cal.nib;
+ top y2 = h+u_o; bot y7 = -d-d_o; bot y4 = bot y5 = 0;
+ y2-y1 = vround 0.06h; y8-y7 = vround 0.08h;
+ y3 = 0.45[y4, y2]; y6 = 0.5[y7, y5];
+ lft x3 = apprl-ho; rt x1-eps = rt x6-ho = w-apprr;
+ x2 = 0.7[x3, x1]; x4 = 0.45[x3, x6]; x5 = 0.55[x3, x6];
+ x7 = 0.7[x3, x6]; x8 = good.x x4;
+ draw z1{x2-x1, 2(y2-y1)}
+ ...z2 left_to_down z3 down_to_right z4
+ ...z5right_to_down z6 down_to_left z7 hook_to z8;
+ labels(1, 2, 3, 4, 5, 6, 7, 8);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"266", 8u#, x_height#, desc_depth#);
+ "The letter tau";
+ italcorr x_height#*slant;
+ center_stem(3, 4);
+ top y1 = h; y1 = y2 = y3; bot y4 = -eps;
+ lft x1 = apprl-eps-hround 0.5u;
+ rt x2 = w-apprr+eps+hround 0.5u;
+ draw z1..z2; draw z3..z4;
+ labels(1, 2, 3, 4);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"267", 8u#, x_height#, 0);
+ "The letter upsilon";
+ italcorr x_height#*slant-0.5u#;
+ pickup lower_cal.nib;
+ top y1 = top y5 = h+eps; bot y3 = -d_o; y2 = y4 = 0.5[y3, y1];
+ lft x1 = lft x2 = apprl; rt x4 = rt x5 = w-apprr; x3 = 0.5[x1, x5];
+ draw z1..z2 down_to_right z3 right_to_up z4..z5;
+ labels(1, 2, 3, 4, 5);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"270", 10u#, cap_height#, desc_depth#);
+ "The letter phi";
+ italcorr 0.7x_height#*slant-0.5u#+ho#;
+ pickup lower_cal.nib; set_loop1(both); draw_loop1(both);
+ top y2 = h+eps; bot y3 = -d-eps; x2 = x3 = good.x 0.5[apprl, w-apprr];
+ draw z2..z3; labels(2, 3);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"271", 10u#, x_height#, desc_depth#);
+ "The letter variant phi";
+ italcorr 0.7x_height#*slant-0.5u#+ho#;
+ pickup lower_cal.nib;
+ top y1-eps = top y5-u_o = h; bot y3 = -d_o; bot y7 = -d-eps;
+ 0.5[y2, y2'] = 0.5[y3, y5]; y2-y2' = loop_squareness*(y1-y3);
+ y2 = y4; y2' = y4'; y6 = 2/3[y3, y5];
+ lft x2 = lft x2' = apprl-ho; rt x4 = rt x4' = w-apprr+ho;
+ x3 = x6 = x7 = good.x 0.5[x2, x4];
+ x5 = 1/3[x6, x4]; x1 = good.x 0.65[x2, x6];
+ draw z1 left_to_down z2..z2' down_to_right z3 right_to_up
+ z4'..z4 up_to_left z5 left_to_down z6..z7;
+ labels(1, 2, 2', 3, 4, 4', 5, 6, 7);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"272", 9u#, x_height#, desc_depth#);
+ "The letter chi";
+ italcorr x_height#*slant;
+ pickup lower_cal.nib;
+ top y1 = top y3 = h+eps; bot y2 = bot y4 = -d-eps;
+ lft x1+hround 0.25u = lft x4+hround 0.5u = apprl-eps;
+ rt x2-hround 0.5u = rt x3-hround 0.25u = w-apprr+eps;
+ draw z1..z2; draw z3..z4; labels(1, 2, 3, 4);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"273", 10u#, asc_height#, desc_depth#);
+ "The letter psi";
+ italcorr x_height#*slant-0.5u#;
+ center_stem(6, 7);
+ top y1 = top y5 = x_height+eps; bot y3 = -d_o; y2 = y4 = 0.5[y3, y1];
+ lft x1 = lft x2 = apprl; rt x4 = rt x5 = w-apprr; x3 = 0.5[x1, x5];
+ top y6 = h+eps; bot y7 = -d-eps;
+ draw z1..z2 down_to_right z3 right_to_up z4..z5;
+ draw z6..z7; labels(1, 2, 3, 4, 5, 6, 7);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"274", 12u#, x_height#, 0);
+ "The letter omega";
+ italcorr 0.7x_height#*slant-0.5u#+ho#;
+ pickup lower_cal.nib;
+ top y1 = top y9 = h+eps; bot y3 = bot y7 = -d_o; y2 = y8 = 0.5[y3, y1];
+ y4 = y6 = 0.5[y3, y1]; y5 = good.y 0.75[y3, y1]+eps;
+ lft x2 = apprl-ho; rt x8 = w-apprr+ho;
+ x1 = good.x(x2+1.2u); x9 = good.x(x8-1.2u);
+ x3 = 0.265[x2, x8]; x7 = 0.735[x2, x8]; x5 = good.x 0.5[x2, x8];
+ x4-x5 = x5-x6 = hround 0.7u+eps;
+ draw z1{3(x2-x1), y2-y1}
+ ...z2 down_to_right z3 right_to_up z4 up_to_left
+ z5 left_to_down z6 down_to_right z7 right_to_up z8
+ ...{3(x9-x8), y9-y8}z9;
+ labels(1, 2, 3, 4, 5, 6, 7, 8, 9);
+ math_fit(0, ic#);
+endchar;
+
+beginchar(oct"275", 14u#, x_height#, 0);
+ "The letter variant pi";
+ italcorr (x_height#+hook_h#)*slant;
+ pickup lower_cal.nib;
+ top y1 = top y9 = h; bot y3 = bot y7 = -d_o; y2 = y8 = 0.5[y3, y1];
+ y4 = y6 = 0.6[y3, y1]; y5 = good.y 0.7[y3, y1]+eps;
+ lft x2 = apprl+hround 2u-ho; rt x8 = w-apprr-hround 0.4u+ho;
+ x1 = good.x(x2+1.2u); x9 = good.x(x8-1.2u);
+ x3 = 0.265[x2, x8]; x7 = 0.735[x2, x8]; x5 = good.x 0.5[x2, x8];
+ x4-x5 = x5-x6 = hround 0.25u+eps;
+ draw z1{3(x2-x1), y2-y1}
+ ...z2 down_to_right z3 right_to_up z4 up_to_left
+ z5 left_to_down z6 down_to_right z7 right_to_up z8
+ ...{3(x9-x8), y9-y8}z9;
+ y10 = hang_h; top y11 = h; y11 = y12; y13 = y12;
+ apprl-lft x10 = rt x13-(w-apprr) = hround 0.5u;
+ x11 = min(x10+pi_hang_w, x1); x12 = max(x13-pi_hang_w, x9);
+ draw z10--z11..z12 right_to_up z13;
+ labels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
+ math_fit(0, ic#);
+endchar;