summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/bookhands/iminu.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/bookhands/iminu.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/bookhands/iminu.mf738
1 files changed, 738 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/bookhands/iminu.mf b/Master/texmf-dist/fonts/source/public/bookhands/iminu.mf
new file mode 100644
index 00000000000..039ba01916c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bookhands/iminu.mf
@@ -0,0 +1,738 @@
+%%
+%% This is file `iminu.mf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% inslrmin.dtx (with options: `maj')
+%%
+%% Copyright 1999 Peter R. Wilson
+%%
+%% This program is provided under the terms of the
+%% LaTeX Project Public License distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt.
+%%
+%% Author: Peter Wilson (CUA)
+%% now at: peter.r.wilson@boeing.com
+%%
+
+cmchar "IMIN letter A";
+beginchar("A", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+path pth[];
+pair pr[];
+pickup quill;
+n1 := w - 2pcshiftx -jut; % effective letter width
+x1 = pcshiftx + 2/3n1; top y1=h;
+rt x2 = pcshiftx + n1; bot y2=0;
+
+z16 = 1/6[z2,z1];
+rt x6 = x16; y6=y16;
+
+lft x4 = pcshiftx; y4 = 1/2h;
+
+pth1 := z1{down}..z2;
+pr1 := direction 1 of pth1;
+z20 = z2 shifted -10pr1;
+
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+else:
+ % draw stem
+ draw pth1;
+ draw_roundserif(2,20,srad);
+ % draw bowl
+ draw z1{-pdir}..z4{down}..z6{pdir};
+fi
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,100);
+endchar; % end "A"
+
+cmchar "IMIN letter B";
+beginchar("B", 2sb#+caprat*hstretch*(3/4x_height#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+path pth[];
+pcshiftx := sb;
+pickup quill;
+n1:=w-2pcshiftx; % actual letter width
+n2:=h/ascratio; % top of bowl
+lft x1 = pcshiftx+jut; top y1=h;
+lft x3 = pcshiftx; y3=1/2n2;
+rt x5 = w-pcshiftx; y5=y3;
+x4 = 1/2[x3,x5]; bot y4=0;
+x6=x4; top y6=n2;
+pth1 := z1..z3{down}..z4{right}.. z5{up};
+z98=(0,3/4n2); z99=(w,y98);
+pth2 := z98--z99;
+z7 = pth1 intersectionpoint pth2;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z3{down}..z4{right}..z5{up}..z6{left}..z7{-pdir};
+draw_flatserif(1,7,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,100);
+endchar; % end "B"
+
+cmchar "IMIN letter C";
+beginchar("C", 2sb#+caprat*hstretch*(5/8x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+n1:=w-2pcshiftx; % actual letter width
+n2:=6/5w-2pcshiftx; % width of full bowl
+x1=pcshiftx + 1/2n1; top y1 = h;
+lft x2 = pcshiftx; y2 = 1/2h;
+x3 = x1; bot y3 = 0;
+rt x4 = w-pcshiftx; y4 = 1/4h;
+x24 = x4; y24 = 3/4h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z24..z1{left}..z2{down}..z3{right}..z4{pdir};
+ductus:=false;
+penlabels(1,2,3,4,5,6,14,16,17,18,100);
+endchar; % end "C"
+
+cmchar "IMIN letter D";
+beginchar("D", 2sb#+caprat*hstretch*(3/4x_height#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+path pth[];
+pcshiftx := sb;
+pickup quill;
+lft x1=pcshiftx; top y1=h;
+rt x3 = w-pcshiftx; y3 = 1/2h/ascratio;
+x4 = 1/2[x1,x3]; bot y4 = 0;
+z5=(x1,y3);
+z98=(0,h/ascratio); z99=(w,y98); pth2 := z98--z99;
+pth1 := z1{-ppdir}..z3{down}..z4{left};
+z6 = pth1 intersectionpoint pth2;
+if ductus:
+ pickup stylus;
+fi
+draw z1{-ppdir}..z3{down}..z4{left}..z5{up}..z6{pdir};
+ductus:=false;
+penlabels(0,1,2,3,4,5,6,7,8,100);
+endchar; % end "D"
+
+cmchar "IMIN letter E";
+beginchar("E", sb#+caprat*hstretch*(5/4x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+path pth[];
+pickup quill;
+n1 := w-pcshiftx; % actual letter width
+n2 := 4/8n1; % width of bowl
+x1 = pcshiftx + 5/8n2; top y1=h;
+lft x2 = pcshiftx; y2 = 1/2h;
+x3 = pcshiftx + 1/2n2; bot y3 = 0;
+rt x4 = pcshiftx + n2; y4 = 1/4h;
+z98=(0,3/8h); z99=(w,y98);
+pth1 := z98--z99;
+pth2 := z1{left}..z2{down}..z3{right};
+z7 = pth1 intersectionpoint pth2;
+rt x9 = w-pcshiftx; y9 = 3/4h;
+z8=1/2[z7,z9];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z7{pdir}..z1{left}..z2{down}..z3{right}..z4{pdir};
+draw z7{pdir}..z8{right}..z9{pdir};
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,100);
+endchar; % end "e"
+
+cmchar "IMIN letter F";
+beginchar("F", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*(x_height#), desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; y2=-1/2d;
+lft x20=0; bot y20=-d;
+%% bottom bar
+z4=(rt x1,-thin); rt x6=w-pcshiftx; y6=y4+2thin; z5=1/2[z4,z6];
+%% top bar
+x7= x1; bot y7 = 1/2h;
+rt x9= w-pcshiftx; y9 = 1/2[y7,y1];
+x8 = 2/3[x7,x9]; top y8 = h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw z2{down}..z20{-pdir};
+draw_flatserif(1,2,srad);
+draw z4{dir(45)}..z5{right}..z6{dir(45)}; % bottom bar
+draw z7..z8..z9; % top bar
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,100);
+endchar; % end "F"
+
+cmchar "IMIN letter G";
+beginchar("G", 2sb#+caprat*hstretch*(x_height#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+path pth[];
+pair vec[];
+pcshiftx := sb;
+pickup quill;
+%% top bar
+lft x1=pcshiftx; top y1=h; rt x2=w-pcshiftx; top y2=h;
+x3=1/2[x1,x2]; bot y3=1/8h;
+rt x5 = w-pcshiftx; y5 = -1/2d;
+x6 = x3; bot y6 = -d;
+x7 = 1/2[x1,x3]; y7 = y5;
+x8=x3; y8 = -y3;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+ draw z1--z2; % top bar
+ draw pth1; draw pth2; % curves
+ draw rt z8--z9; % diagonal
+else:
+ draw z1--z2;
+ draw z2--z3;
+ draw z3{pdir}..z5{down}..z6{left}..z7{up}..z8{pdir};
+ draw_roundserif(1,2,srad);
+fi
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,100);
+endchar; % end "G"
+
+cmchar "IMIN letter H";
+beginchar("H", 2sb#+caprat*hstretch*(7/8x_height#+jut#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+numeric n[];
+%% stem
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; bot y2=0;
+%% bowl
+z3=1/2[z2,z1];
+rt x5 = w-pcshiftx; y5=y3;
+x4=1/2[x3,x5]; top y4 = h/ascratio;
+lft x6=x4; bot y6=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw_flatserif(1,2,srad);
+draw_roundserif(2,1,srad);
+draw z3{pdir}..z4..z5..z6{-pdir};
+
+ductus:=false;
+penlabels(1,2,3,4,5,6,100);
+endchar; % end "H"
+
+cmchar "IMIN letter I";
+beginchar("I", 2sb#+caprat*hstretch*(thick#+2jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; bot y2=0;
+%%ductus:=true;
+draw_tstem(1,2,srad);
+draw_flatserif(1,2,srad);
+draw_roundserif(2,1,srad);
+ductus:=false;
+penlabels(1,2,100);
+endchar; % end "i"
+
+cmchar "IMIN letter J";
+beginchar("J", sb#+caprat*hstretch*(3/8x_height#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% stem
+rt x1 = w-pcshiftx; top y1 = h;
+x2=x1; y2=-1/2d;
+%% bottom hook
+lft x3 = 0; bot y3 = -d;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1--z2; % stem
+draw_flatserif(1,2,srad);
+draw z2{down}..z3{-pdir}; % hook
+ductus:=false;
+penlabels(1,2,3,100);
+endchar; % end "J"
+
+cmchar "IMIN letter K";
+beginchar("K", 2sb#+caprat*hstretch*(x_height#+jut#),
+ caprat*asc_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; y2=-1/2d;
+lft x20=pcshiftx; bot y20=-d;
+%% top arm
+z3=(x1,1/2h/ascratio);
+rt x5=w-pcshiftx; y5=1/2[y3,y4];
+x4=1/2[x3,x5]; top y4=h/ascratio;
+%% lower arm
+x7=x5; bot y7=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw z2{down}..z20{-pdir};
+draw_flatserif(1,2,srad);
+draw z3..z4{right}..z5; % upper arm
+draw z3..{right}z7; % lower arm
+ductus:=false;
+penlabels(1,2,3,4,5,100);
+endchar; % end "K"
+
+cmchar "IMIN letter L";
+beginchar("L", 2sb#+caprat*hstretch*(3/4x_height#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+lft x2=pcshiftx; y2=1/5h;
+x1=x2+jut; top y1=h;
+rt x4=w-pcshiftx; y4=1/5h;
+x3=1/2[x2,x4]; bot y3=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1{down}..z2..z3{right}..z4;
+draw_flatserif(1,2,srad);
+ductus:=false;
+penlabels(1,2,3,4,100);
+endchar; % end "L"
+
+cmchar "IMIN letter M";
+beginchar("M", 2sb#+caprat*hstretch*(x_height#+2jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+path pth[];
+pickup quill;
+%% left stem
+lft x1=pcshiftx+jut; top y1=h;
+x2=x1; bot y2=0;
+%% start of bowl
+x13=x1; y13=3/4h;
+%% bottom of right and middle stems
+rt x6 = w -pcshiftx - jut; y6=y2;
+z4 = 1/2[z2,z6];
+%% top of middle and right stems
+x3=x4; y3=y1;
+x5=x6; y5=y13;
+%% top of bowls
+x14=2/3[x13,x3]; top y14 = h;
+x33=x4; y33=y13;
+x34=2/3[x33,x5]; y34 = y14;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % left half
+draw_flatserif(1,2,srad);
+draw_roundserif(2,1,srad);
+draw z13{pdir}..z14{right}..z33{down}--z4;
+draw_roundserif(4,3,srad);
+draw z33{pdir}..z34{right}..z5{down}--z6;
+draw_roundserif(6,5,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,13,14,33,34,100);
+endchar; % end "M"
+
+cmchar "IMIN letter N";
+beginchar("N", 2sb#+caprat*hstretch*(3/4x_height#+2jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+%% left stem
+lft x1=pcshiftx+jut; top y1=h;
+x2=x1; bot y2=0;
+%% right stem
+rt x3=w-pcshiftx-jut; y3=y1;
+z4=(x3,y2);
+%% bar
+z5=3/8[lft z2, lft z1]; z6=2/8[rt z4,rt z3];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % left stem
+draw_flatserif(1,2,srad);
+draw_roundserif(2,1,srad);
+draw_tstem(3,4,srad); % right stem
+draw_flatserif(3,4,srad);
+draw_roundserif(4,3,srad);
+draw z5{right}..z6{right}; % bar
+ductus:=false;
+penlabels(1,2,3,4,5,6,100);
+endchar; % end "N"
+
+cmchar "IMIN letter O";
+beginchar("O", 2sb#+caprat*hstretch*(3/4x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+lft x1=pcshiftx; rt x3=w-pcshiftx; y1=y3=h/2;
+x2=x4=w/2; top y2=h+o; bot y4=-o;
+draw z1..z2..z3..z4..cycle;
+z5=(pcshiftx,-o);
+obowl(5, w-2pcshiftx, h+2o);
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+ draw obfirst; draw obsecond; draw obouter; draw obinner;
+else:
+%% fill obouter; unfill obinner;
+fi
+ductus:=false;
+penlabels(1,2,3,4,5,100);
+endchar; % end "O"
+
+cmchar "IMIN letter P";
+beginchar("P", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; bot y2=-1/2d;
+lft x20 = pcshiftx; bot y20 = -d;
+%% bowl % from "h"
+z3=3/4[(x1,0),z1];
+rt x5 = w-pcshiftx; y5=y3;
+x4=1/2[x3,x5]; top y4 = h;
+lft x6=x4; bot y6=0;
+
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw_flatserif(1,2,srad);
+draw z2{down}..z20{-pdir};
+draw z3{pdir}..z4..z5..z6{-pdir}; % bowl (from h)
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,100);
+endchar; % end "P"
+
+cmchar "IMIN letter Q";
+beginchar("Q", 2sb#+caprat*hstretch*(3/4x_height#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% right stem
+rt x1=w-pcshiftx; top y1=h;
+x2=x1; bot y2=-1/2d;
+x20 = x1-jut; bot y20=-d;
+%% bowl
+z3=1/4[(x1,0),z1];
+lft x5=pcshiftx; y5=y3;
+x4=1/2[x3,x5]; bot y4=0;
+x6=x1-jut; top y6=h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad);
+draw z2{down}..z20{-pdir}; % stem
+draw_flatserif(1,2,srad);
+draw z3{-pdir}..z4{left}..z5{up}..z6{pdir};
+ductus:=false;
+penlabels(0,1,2,3,4,5,6,7,8,100);
+endchar; % end "Q"
+
+cmchar "IMIN letter R";
+beginchar("R", sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; bot y2=-1/2d;
+lft x20 = pcshiftx; bot y20 = -d;
+%% bowl % almost a "p" bowl
+z3=3/4[(x1,0),z1];
+rt x5 = w-pcshiftx; y5=y3;
+x4=1/2[x3,x5]; top y4 = h;
+x100=x1; bot y100 = 0;
+lft x6= rt x100; y6=y100;
+
+rt x26=w-pcshiftx; y26=-1/6d;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw_flatserif(1,2,srad);
+draw z2{down}..z20{-pdir};
+draw z3{pdir}..z4..z5..z6{-pdir}; % bowl (from h)
+draw z6{-ppdir}..z26{pdir}; % leg
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,100);
+endchar; % end "R"
+
+cmchar "IMIN letter S";
+beginchar("S", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*asc_height#, desc_depth#);
+adjust_fit(0,0);
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+jut; top y1=h/ascratio; bot y2=-1/2d;
+lft x20=pcshiftx; bot y20=-d;
+%% flick
+x4=x2; y4 = 1/2h/ascratio;
+rt x6=w-pcshiftx; y6 = 2/3h;
+x5 = 2/3[x4,x6]; top y5=h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw z2{down}..z20{-pdir};
+draw_flatserif(1,2,srad);
+draw z4{up}...z5{right}...z6;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,11,17,20,26,27,28,100);
+endchar; % end "S"
+
+cmchar "IMIN letter T";
+beginchar("T", 2sb#+caprat*hstretch*(5/4x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% bar
+lft x1 = pcshiftx; top y1=h; rt x2=w-pcshiftx; bot y2=h;
+n1 := w; % width of bowl
+n2 := h; % height of bowl
+z3=1/2[z1,z2];
+lft x4 = pcshiftx + 1/8n1; y4 = 1/2h;
+x5=x3; bot y5 = 0;
+rt x6 = pcshiftx + 3/4n1; top y6 = 1/4h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1{pdir}..z3..z2{pdir}; % bar
+draw z3..z4{down}..z5{right}..z6{pdir};
+ductus:=false;
+penlabels(1,2,3,4,5,6,11,12,100);
+endchar; % end "T"
+
+cmchar "IMIN letter U";
+beginchar("U", 2sb#+caprat*hstretch*(5/8x_height#+2jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% left stem
+lft x1 = pcshiftx + jut; top y1 = h;
+x13=x1; y13=1/3h;
+rt x3=w-pcshiftx-jut; y3=y1;
+x4=x3; bot y4=0;
+z33=1/4[z4,z3]; % start of bowl
+x14=1/3[x1,x3]; bot y14=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1--z13{down}..z14{right}..z33{pdir};
+draw_flatserif(1,13,srad);
+draw_tstem(3,4,srad); % right stem
+draw_flatserif(3,4,srad);
+draw_roundserif(4,3,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,11,13,14,16,33,100);
+endchar; % end "U"
+
+cmchar "IMIN letter V";
+beginchar("V", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+%% left stem
+lft x1 = pcshiftx + jut; top y1 = h;
+x13=x1; y13=1/3h;
+rt x3=w-pcshiftx-jut; y3=y1;
+x4=x3; bot y4=0;
+z33=1/4[z4,z3]; % start of bowl
+x14=1/3[x1,x3]; bot y14=0;
+rt x23=w-pcshiftx; y23=3/4h;
+lft x26=x14; top y26=h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1--z13{down}..z14{right}; % left stem
+draw_flatserif(1,13,srad);
+draw z14{pdir}..z23{up}..z26;
+ductus:=false;
+penlabels(1,2,3,4,5,11,13,14,23,26,100);
+endchar; % end "V"
+
+cmchar "IMIN letter W";
+beginchar("W", 2sb#+caprat*hstretch*(x_height#+2jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+%% left stem
+lft x1 = pcshiftx + jut; top y1 = h;
+x13=x1; y13=1/3h;
+rt x5=w-pcshiftx-jut; y5=y1;
+x6=x5; bot y6=0;
+z53=1/4[z6,z5]; % start of bowl
+z3 = 1/2[z1,z5];
+z33=(x3,y13);
+x14=1/3[x1,x3]; bot y14=0;
+x34=1/3[x3,x5]; y34=y14;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1--z13{down}..z14{right}..z33{pdir}; % left
+draw_flatserif(1,13,srad);
+draw z3--z33{down}..z34{right}..z53{pdir}; % middle
+draw_flatserif(3,33,srad);
+draw_tstem(5,6,srad); % right stem
+draw_flatserif(5,6,srad);
+draw_roundserif(6,5,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,11,13,14,33,34,53,16,100);
+endchar; % end "W"
+
+cmchar "IMIN letter X";
+beginchar("X", 2sb#+caprat*hstretch*(x_height#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+n1 := w-2pcshiftx; % total width
+n2 := thick; % triangle side
+%% diag top left to bottom right
+lft x1=pcshiftx; bot y1=2/3h;
+x2=pcshiftx+1/7n1; top y2=h;
+x5=pcshiftx+11/14n1; bot y5=-1/4d;
+rt x6=pcshiftx+n1; top y6=1/6h;
+z25 = 1/3[z2,z5];
+%% diag bottom left to top right
+%%x10=x1; bot y10=-d;
+lft x10 = -w + 2pcshiftx; bot y10=-d;
+x50=x5; top y50=h;
+%%rt x60=x5; bot y60=2/3h;
+rt x60 = w -pcshiftx; bot y60=2/3h;
+x40=pcshiftx+8/14n1; y40=h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z2{right}..z5{right}..z6; % top left to bottom right
+draw z10{1/2pdir}..z25..z50{right}..z60; % bottom left to top right
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,10,40,50,60,100);
+endchar; % end "X"
+
+cmchar "IMIN letter Y";
+beginchar("Y", 2sb#+caprat*hstretch*(5/8x_height#+jut#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := u;
+pickup quill;
+%% left stem
+lft x1 = pcshiftx + jut; top y1 = h;
+x13=x1; y13=1/3h;
+rt x3=w-pcshiftx; y3=y1;
+x4=x3; bot y4=0;
+z33=1/4[z4,z3]; % start of bowl
+x14=1/3[x1,x3]; bot y14=0;
+z50=(x3,-1/2d);
+x60=x14; bot y60=-d;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1--z13{down}..z14{right}..z33{pdir};
+draw_flatserif(1,13,srad);
+draw_tstem(3,50,srad); % right stem
+draw z50{down}..z60{-pdir};
+draw_flatserif(3,4,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,10,100);
+endchar; % end "Y"
+
+cmchar "IMIN letter Z";
+beginchar("Z", 2sb#+caprat*hstretch*(x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+%% top bar
+n10 := w-2pcshiftx; % letter width
+lft x1=pcshiftx; top y1=h;
+rt x2= w-pcshiftx; bot y2=y1;
+%% diagonal
+x3=x1; bot y3=0;
+%% bowl
+x4=3/4[x1,x2]; top y4 = 1/2h;
+x6=x4; bot y6 = 0;
+rt x5 = w-pcshiftx; y5 = 1/2[y4,y6];
+x7=1/2[x3,x5]; y7 = 1/2[y6,y5];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1{right}..z2{right}; % top bar
+draw_roundserif(1,2,srad);
+draw z2--z3; % diagonal
+draw z3..z4{right}..z5{down}..z6{left}..z7;
+ductus:=false;
+penlabels(1,2,3,4,5,6,10o,10i,20o,20i,100);
+endchar; % end "Z"
+