summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/bookhands/cminu.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/bookhands/cminu.mf787
1 files changed, 787 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf b/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf
new file mode 100644
index 00000000000..805ffa88127
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf
@@ -0,0 +1,787 @@
+%%
+%% This is file `cminu.mf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% carolmin.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 "CMIN 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 + 6/8n1; 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;
+
+z11 = point 3/13 of pth1; z15 = point 10/13 of pth1;
+lft x13 = pcshiftx; y13=1/4h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+else:
+ % draw stem
+ draw pth1;
+ draw_roundserif(1,2,srad);
+ draw_roundserif(2,20,srad);
+ % draw bowl
+%% draw z1{-pdir}..z4{down}..z6{pdir};
+ draw z11{-pdir}..z13{down}..z15{pdir};
+fi
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,100);
+endchar; % end "A"
+
+cmchar "CMIN letter B";
+beginchar("B", 2sb#+caprat*hstretch*(3/4x_height#+clubjut#),
+ 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
+%%ductus:=true;
+lft x1 = pcshiftx+clubjut; top y1=h;
+x3 = x1; 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;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z3{down}..z4{right}..z5{up}..z6{left}..z7{-pdir};
+draw_clubserif(1,3,0.75);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,100);
+endchar; % end "B"
+
+cmchar "CMIN 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 "CMIN letter D";
+beginchar("D", 2sb#+caprat*hstretch*(5/8x_height#+jut#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+path pth[];
+pcshiftx := sb;
+pickup quill;
+n1 = h/ascratio; % x-height
+rt x1=w-pcshiftx-jut; top y1=h;
+x2 = x1; bot y2=0;
+x3 = x1; y3 = 1/4n1;
+lft x5 = pcshiftx; y5=1/2n1;
+x4 = 1/2[x3,x5]; bot y4 = 0;
+x6=x4; top y6 = n1;
+x7=x3; y7=3/4n1;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad);
+%%draw_flatserif(1,2,srad);
+draw_clubserif(1,2,0.25);
+draw_roundserif(2,1,srad);
+draw z3..z4{left}..z5{up}..z6{right}..z7;
+ductus:=false;
+penlabels(0,1,2,3,4,5,6,7,8,100);
+endchar; % end "D"
+
+cmchar "CMIN letter E";
+beginchar("E", sb#+caprat*hstretch*(8/8x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+path pth[];
+pickup quill;
+n1 := w-pcshiftx; % actual letter width
+n2 := 6/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);
+z98=(0,2/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];
+
+z70 = z7 shifted 10pdir;
+z17 = whatever[z7,z70];
+%%x17 = w-pcshiftx;
+top y17 = h;
+
+rt x27=w-pcshiftx; top y27=h;
+%%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};
+%%draw z7--z17;
+draw z7--z27;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,17,70,100);
+endchar; % end "E"
+
+cmchar "CMIN letter F";
+beginchar("F", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ (asc_height#), 0);
+adjust_fit(0,0);
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+n1 := h/ascratio; % x-height
+%% stem
+lft x1=lft x2=pcshiftx+jut; top y1=n1; bot y2=0;
+%% flick
+x4=x2; y4 = 1/2n1;
+rt x6=w-pcshiftx; y6 = 2/3h;
+x5 = 2/3[x4,x6]; top y5=h;
+%% bar
+z14=1/2[z4,z1];
+rt x16 = w -pcshiftx; top y16 = 1/2[y14,y6];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw_flatserif(1,2,srad);
+draw_roundserif(2,1,srad);
+draw z4{up}...z5{right}...z6; % top
+draw z14{right}..z16{pdir}; % bar
+ductus:=false;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,14,15,16,100);
+endchar; % end "F"
+
+cmchar "CMIN letter G";
+beginchar("G", 2sb#+caprat*hstretch*(5/4x_height#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+path pth[];
+pair vec[];
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+n1 := 4/5w - 2pcshiftx; % width of top o
+%% top O
+x1 = x3 = pcshiftx + 1/2n1; top y1=h; bot y3=1/8h;
+lft x4 = pcshiftx; rt x2 = pcshiftx+n1; y2 = y4 = 1/2[y1,y3];
+
+%% top flick
+lft x11 = rt x1; y11=y1;
+rt x13 = w-pcshiftx; y13 = h;
+
+%% bottom
+z31=z3;
+x33 = w-pcshiftx; y33 = -1/2d;
+x35=x31; bot y35 = -d;
+rt x36 = lft x4; y36 = 1/2[y35,y33];
+
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z2..z3..z4..cycle; % top O
+draw z11{right}..z13{pdir}; % flick
+draw z31{right}..z33{down}..z35{left}..z36;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,11,12,13,31,32,33,34,35,36,100);
+endchar; % end "G"
+
+cmchar "CMIN letter H";
+beginchar("H", 2sb#+caprat*hstretch*(6/8x_height#+clubjut#),
+ 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;
+x6=1/2[x4,x5];
+bot y6=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+%%draw_flatserif(1,2,srad);
+draw_clubserif(1,2,0.5);
+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 "CMIN 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 "CMIN 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 "CMIN letter K";
+beginchar("K", 2sb#+caprat*hstretch*(7/8x_height#+clubjut#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+path pth[];
+numeric n[];
+pickup quill;
+%% stem
+n1 = h/ascratio; % x-height
+lft x1=lft x2=pcshiftx+clubjut;
+y1=h; bot y2=0;
+%% top arm
+%%z3=(x1,1/2n1);
+x3 = x1; top y3 = 1/2n1;
+rt x5=5/8[x1,w-pcshiftx]; top y5=n1;
+x4=1/2[x3,x5]; top y4=n1;
+pth1 := z3{pdir}..z5{up};
+%% lower arm
+pth2 := (rt x1,0)--(rt x1,h);
+z13 = pth1 intersectionpoint pth2;
+pickup threequarterquill;
+lft x14 = x13; bot y14 = y13;
+rt x7=w-pcshiftx; bot y7=0;
+pickup quill;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad); % stem
+draw_clubserif(1,2,0.5);
+draw_roundserif(2,1,srad);
+draw pth1; % upper arm
+pickup threequarterquill;
+%%draw z14{down}..z7{-ppdir}; % lower arm
+%%draw z14{down}..z7; % lower arm
+draw z14{-ppdir}..z7{right}; % lower arm
+pickup quill;
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,13,14,100);
+endchar; % end "K"
+
+cmchar "CMIN letter L";
+beginchar("L", 2sb#+caprat*hstretch*(thick#+clubjut#+jut#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+pickup quill;
+lft x1=pcshiftx+clubjut; top y1=h;
+x2=x1; bot y2 =0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad);
+draw_clubserif(1,2,0.5);
+draw_roundserif(2,1,srad);
+ductus:=false;
+penlabels(1,2,3,4,100);
+endchar; % end "L"
+
+cmchar "CMIN 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 "CMIN letter N";
+beginchar("N", 2sb#+caprat*hstretch*(5/8x_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;
+x13=x1; y13=3/4h;
+%% right stem
+rt x4 = w-pcshiftx-jut; y4=y2;
+x3 = x4; y3 = y13;
+x14 = 2/3[x13,x3]; top y14 = h;
+%%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 z13{pdir}..z14{right}..z3{down}--z4;
+draw_roundserif(4,3,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,13,14,100);
+endchar; % end "N"
+
+cmchar "CMIN 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 "CMIN 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=-d;
+%% bowl % from "d"
+z3=3/4[(x1,0),z1];
+rt x5 = w-pcshiftx; y5=1/2h;
+x4=1/2[x3,x5]; top y4 = h;
+x6=x4; bot y6=0;
+z7=1/4[(x1,0),z1];
+
+%%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{right}..z5{down}..z6{left}..z7; % bowl (from d)
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,100);
+endchar; % end "P"
+
+cmchar "CMIN letter Q";
+beginchar("Q", 2sb#+caprat*hstretch*(3/4x_height#+jut#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% right stem
+rt x1=w-pcshiftx-jut; top y1=h;
+x2=x1; bot y2=-d;
+%% bowl
+z3=1/4[(x1,0),z1];
+lft x5=pcshiftx; y5=1/2h;
+x4=1/2[x3,x5]; bot y4=0;
+x6=x4; top y6=h;
+z7=3/4[(x1,0),z1];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad);
+%%draw_flatserif(1,2,srad);
+draw_roundserif(2,1,srad);
+draw z3{-pdir}..z4{left}..z5{up}..z6{right}..z7;
+ductus:=false;
+penlabels(0,1,2,3,4,5,6,7,8,100);
+endchar; % end "Q"
+
+cmchar "CMIN letter R";
+beginchar("R", 2sb#+caprat*hstretch*(7/8x_height#+jut#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% stem
+lft x1=lft x2=pcshiftx+jut;
+top y1=h; bot y2=0;
+%% bowl
+z3=3/4[z2,z1];
+rt x5 = w-pcshiftx; y5=y3;
+x4=1/2[x3,x5]; top y4 = h;
+%%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{right}..z5{pdir};
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,100);
+endchar; % end "R"
+
+cmchar "CMIN letter S";
+beginchar("S", 2sb#+caprat*hstretch*(3/4x_height#+clubjut#),
+ caprat*asc_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+pcshiftx := sb;
+pickup quill;
+n1 := h/ascratio; % x-height
+%% stem
+lft x1=lft x2=pcshiftx+clubjut; top y1=n1; bot y2=0;
+%% flick
+x4=x2; y4 = 1/2n1;
+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_clubserif(1,2,0.5);
+draw_roundserif(2,1,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 "CMIN letter T";
+beginchar("T", 2sb#+caprat*hstretch*(x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := sb;
+numeric n[];
+pickup quill;
+%% bar
+top y3=h; n3 := h - top y3;
+lft x1 = pcshiftx; rt x2=w-pcshiftx;
+%%top y1 = y3-n3; bot y2=y3+n3;
+y1 = y3-n3; y2=y3;
+n1 := w; % width of bowl
+n2 := h; % height of bowl
+x3=1/2[x1,x2];
+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 "CMIN 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 "CMIN 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 "CMIN 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 "CMIN letter X";
+beginchar("X", 2sb#+caprat*hstretch*(x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+path pth[];
+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];
+pth1 := z2{right}..z5{right};
+z251 = point 1/3 of pth1;
+z252 = point 2/3 of pth1;
+%% diag bottom left to top right
+lft x10 = -w + 2pcshiftx; bot y10=-d;
+x50=x5; top y50=h;
+rt x60 = w -pcshiftx; bot y60=2/3h;
+x40=pcshiftx+8/14n1; y40=h;
+
+x150=x2; bot y150 = 0;
+lft x160 = pcshiftx; top y160=1/3h;
+%%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
+draw z251..z50{right}..z60; % middle to top right
+draw z252..z150{left}..z160; % middle to bottom left
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,10,25,251,252,40,50,150,60,160,100);
+endchar; % end "X"
+
+cmchar "CMIN letter Y";
+beginchar("Y", 2sb#+caprat*hstretch*(7/8x_height#+jut#),
+ caprat*x_height#, desc_depth#);
+adjust_fit(0,0);
+pcshiftx := sb;
+path pth[];
+numeric n[];
+pickup quill;
+%% left stem top
+lft x1 = pcshiftx + jut; top y1 = h;
+bot y3 = 0;
+%% right stem
+rt x5=w-pcshiftx; top y5 = h;
+lft x9=-1/2w; bot y9 = -d;
+pth1 := z9{right}..z5{up};
+pth2 := (0,y3)--(w,y3);
+z99 = pth1 intersectionpoint pth2;
+x3 = x99;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1{down}..z3; % left stem
+draw_flatserif(1,3,srad);
+draw pth1; % right stem
+draw_flatserif(5,3,srad);
+ductus:=false;
+penlabels(1,2,3,4,5,6,7,8,9,10,100);
+endchar; % end "Y"
+
+cmchar "CMIN letter Z";
+beginchar("Z", 2sb#+caprat*hstretch*(x_height#),
+ caprat*x_height#, 0);
+adjust_fit(0,0);
+numeric n[];
+path pth[];
+pcshiftx := sb;
+pickup quill;
+%% top bar ends
+top y12 = h;
+n1 := h - y12;
+lft x1 = pcshiftx; rt x2 = w-pcshiftx;
+%%y1 = y12-n1; y2=y12+n1;
+y1 = y12-n1; y2=y12;
+x12 = 1/2[x1,x2];
+pth1 := z1{pdir}..z12{right}..z2{pdir};
+%% bottom bar ends
+bot y34 = 0;
+x3=x1; x4=x2;
+%%y3=y34-n1; y4=y34+n1;
+y3=y34-n1; y4=y34;
+x34 = 1/2[x3,x4];
+pth2 := z3{pdir}..z34{right}..z4{pdir};
+%% diagonal
+z5=z3;
+pth3 := z5--(3/4w,h+jut);
+z6 = pth3 intersectionpoint pth1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw pth1; draw pth2; % bars
+draw z5--z6;
+ductus:=false;
+penlabels(1,2,3,4,5,6,10o,10i,20o,20i,100);
+endchar; % end "Z"
+