summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/bookhands/unclu.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/bookhands/unclu.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/bookhands/unclu.mf705
1 files changed, 705 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/bookhands/unclu.mf b/Master/texmf-dist/fonts/source/public/bookhands/unclu.mf
new file mode 100644
index 00000000000..f92af839544
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bookhands/unclu.mf
@@ -0,0 +1,705 @@
+%%
+%% This is file `unclu.mf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% uncial.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 "Uncial letter A";
+beginchar("A", 2u#+caprat*hstretch*(x_height#+jut#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx+sqxside/3; rt x2=lft x1+2/3sqxside;
+y1=h; y2=0;
+z3=3/4[z2,z1];
+z5=3/16[z2,z1];
+y4=1/10[y5,y3];
+lft x4=pcshiftx;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_istem(1,2,srad); % the stem
+draw z3{-pdir}..z4{down}..{pdir}z5;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,100);
+endchar; % end "A"
+
+cmchar "Uncial letter B";
+beginchar("B", 2u#+caprat*hstretch*(x_height#+jut#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pair uncial; uncial=(qhor,0.5qvert);
+pickup quill;
+lft x1=lft x2=pcshiftx;
+top y1=h; y2=h/4;
+x3=pcshiftx+sqxside/2; bot y3=0;
+rt x4=pcshiftx+sqxside; y4=0.3h;
+lft x5=x1; bot y5=h/2;
+z5'=z5 + thick*uncial;
+x6=x4-thick; y6=0.85h;
+x7=x1; y7=0.9h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tlserif(1,2,srad); % the stem
+draw z2{down}..z3{right}..z4{up}..{-uncial}z5'--z5; % bottom bowl
+draw z5--z5'{uncial}..z6{up}..{-pdir}z7; % top bowl
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,5',6,7,8,100);
+endchar; % end "B"
+
+cmchar "Uncial letter C";
+beginchar("C", u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u/2;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; rt x3=pcshiftx+sqxside; y1=y3=h/2;
+x2=x4=w/2; top y2=h; bot y4=0;
+x5=x6=x3;
+y5=0.2h;
+y6=0.75h;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z5{-pdir}..{left}z4..z1..z2..z6;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,100);
+endchar; % end "C"
+
+cmchar "Uncial letter D";
+beginchar("D", 2u#+caprat*hstretch*(x_height#), caprat*(5/4x_height#), 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=4/5h; sqxside:=hstretch*sqyside;
+y100 = side/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; rt x3=pcshiftx+sqxside; y1=y3=sqyside/2;
+x2=x4=w/2; top y2=sqyside; bot y4=0;
+x5=x6=x3;
+y5=0.2h;
+y6=0.75h;
+rt x0=pcshiftx+0.5sqxside; top y0=sqyside;
+lft x7=pcshiftx+0.5sqxside;
+bot y7=sqyside;
+lft x8=pcshiftx; y8=y7+thick;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z0{-pdir}..z1{down}..z4{right}..z3{up}..z7..z8;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(0,1,2,3,4,5,6,7,8,100);
+endchar; % end "D"
+
+cmchar "Uncial letter E";
+beginchar("E", 2u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; rt x3=pcshiftx+sqxside; y1=y3=h/2;
+x2=x4=w/2; top y2=h; bot y4=0;
+x5=x6=x3;
+y5=0.2h;
+y6=0.75h;
+x7=x1; y7=y1;
+%%x8=x7+side+0.5thick; y8=y7;
+x8=w-pcshiftx; y8=y7;
+x10=x7; y10=y7+3thin;
+numeric alpha; alpha:=0.5; % dishing
+x9=0.5[x8,x10]; y9=(0.5alpha)[y8,y10];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z5{-pdir}..{left}z4..z1..z2..z6; % the bowl
+pickup stylus;
+filldraw z7--z8..z9..z10--cycle; % the bar
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,8,9,10,100);
+endchar; % end "E"
+
+cmchar "Uncial letter F";
+beginchar("F", 2u#+caprat*hstretch*(jut#+x_height#), caprat*x_height#,
+ caprat*(2/3x_height#));
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=lft x2=pcshiftx;
+top y1=h; bot y2=-d/2;
+x3=x4=x1; y3=h-thick; y4=0;
+numeric rise, fall, fjut;
+rise:=thick; fall:=0; fjut:=2/3sqxside;
+%%ductus:=true;
+draw_jstem(1,2,srad,d/2,d/2);
+draw_flick(3,rise,fall,fjut);
+draw_flick(4,rise,fall,fjut);
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,100);
+endchar; % end "F"
+
+cmchar "Uncial letter G";
+beginchar("G", u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u/2;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; rt x3=pcshiftx+sqxside; y1=y3=h/2;
+x2=x4=w/2; top y2=h; bot y4=0;
+x5=x6=x3;
+y5=0.2h;
+y6=0.75h;
+lft x7=x5-thick; bot y7=y5-3thick;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z5{-pdir}..{left}z4..z1..z2..z6; % the bowl
+draw z5{down}..{-pdir}z7; % the stem
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,100);
+endchar; % end "G"
+
+cmchar "Uncial letter H";
+beginchar("H", 2u#+caprat*hstretch*(jut#+thick#+x_height#), caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h/2; % asc_height is 2x_height !!!
+sqxside:=hstretch*sqyside;
+y100 = sqyside/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=lft x2=pcshiftx;
+top y1=h; bot y2=0;
+x99=w/2; y99=sqyside/2;
+y3=y5=y99;
+lft x3= pcshiftx;
+%%rt x5=x99+w-pcshiftx;
+x5 = x99 + (x99-x3);
+x4=x6=x99; top y4=sqyside; bot y6 =0;
+path pcirc; pcirc=z6..z5..z4..z3..cycle;
+x1'=x2'=x1+0.5thick; y1'=h; y2'=0;
+z7' = (z1'--z2') intersectionpoint (subpath(2,3) of pcirc);
+x7=x1; y7=y7';
+z99'=z99 - 500ppdir;
+z8' = (z99--z99') intersectionpoint subpath(0,1) of pcirc;
+x8=x8'; bot y8=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+ draw z1'--z2'; draw z99--z99'; draw pcirc;
+fi
+draw_istem(1,2,srad);
+draw z7{pdir}..z4{right}..z5{down}..{-pdir}z8;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,1',2,2',3,4,5,6,7,7',8,8',99,99',100);
+endchar; % end "H"
+
+cmchar "Uncial letter I";
+beginchar("I", 2u#+hstretch*(thick#+2jut#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+x1=x2=w/2;
+top y1=h; bot y2=0;
+%%ductus:=true;
+draw_istem(1,2,srad);
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,100);
+endchar; % end "I"
+
+cmchar "Uncial letter J";
+beginchar("J", 2u#+caprat*hstretch*(thick#+2jut#), caprat*x_height#,
+ caprat*desc_depth#);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h; sqxside:=sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+x1=x2=w/2;
+top y1=h; bot y2=0;
+%%ductus:=true;
+draw_jstem(1,2,srad,2/3sqxside,desc_depth);
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,100);
+endchar; % end "J"
+
+cmchar "Uncial letter K";
+beginchar("K", 2u#+caprat*hstretch*(jut#+4/3x_height#), caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h/2; % asc_height = 2x_height !!!
+sqxside:=hstretch*sqyside;
+y100 = side/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=lft x2=pcshiftx;
+top y1=h; bot y2=0;
+numeric rise,fall,fjut;
+x3=x1; y3=2/3side;
+rise:=1/3sqyside; fall:=-rise/2; fjut:=sqxside; %% fjut:=2/3side;
+x4=x3+0.25thick; y4=y3+0.5thick;
+x5=x3+side; y5=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_istem(1,2,srad);
+draw_flick(3,rise,fall,fjut);
+draw_tstem(4,5,srad);
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,100);
+endchar; % end "K"
+
+cmchar "Uncial letter L";
+beginchar("L", 2u#+caprat*hstretch*(x_height#+jut#), caprat*asc_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h/2; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=lft x2=pcshiftx;
+top y1=h; y2=h/4;
+x3=0.5[x1,x4]; bot y3=0;
+rt x4=w-u;
+y4=0.1h;
+%%ductus:=true;
+draw_tlserif(1,2,srad); % the stem
+draw z2{down}..z3{right}..{pdir}z4; % the bowl
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,100);
+endchar; % end "L"
+
+cmchar "Uncial letter M";
+beginchar("M", 2u#+caprat*hstretch*(9/6x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+x1=1/3sqxside; bot y1=0;
+lft x2= pcshiftx; y2=h/2;
+lft x4=pcshiftx+2/3sqxside; y4=2/3h;
+x3=0.5[x2,x4]; top y3=h;
+x5=x4; y5=y1;
+z6=z4;
+numeric rise,fall,mjut;
+rise=h-y6; fall=y6; mjut=w-pcshiftx-x6;
+%%ductus:=true;
+draw z1..z2{up}..z3{right}..{down}z4; % left half
+draw_tstem(4,5,srad); % middle stem
+draw_hbowl(6,rise,fall,mjut); % right half
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,100);
+endchar; % end "M"
+
+cmchar "Uncial letter N";
+beginchar("N", 2u#+caprat*hstretch*(jut#+x_height#), caprat*x_height#,
+ caprat*(0.5x_height#));
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; top y1=h;
+x2=x1; y2=y1-thin;
+numeric jjut, jdepth;
+jjut=2jut; jdepth=y2+d-thin;
+rt x4=pcshiftx+sqxside; y4=y1;
+x3=x4; bot y3=0;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_jcurve(1,srad,jjut,jdepth); % left stem
+draw_istem(4,3,srad); % right stem
+draw z1--z3; % diagonal
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,100);
+endchar; % end "N"
+
+cmchar "Uncial letter O";
+beginchar("O", 2u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; rt x3=w-pcshiftx; y1=y3=h/2;
+x2=x4=w/2; top y2=h+o; bot y4=-o;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z2..z3..z4..cycle;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,100);
+endchar; % end "O"
+
+cmchar "Uncial letter P";
+beginchar("P", 2u#+caprat*hstretch*(x_height#+jut#), caprat*x_height#,
+ caprat*x_height#);
+adjust_fit(0,0);
+pcshiftx := u+jut;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; top y1=h;
+numeric jjut, jdepth;
+jjut=1/3sqxside-thin; jdepth=h+d-thin;
+x2=x1; y2=3/4h; %% y2=2/3side;
+rt x4=w-u;
+lft x5=x1+thick; y5=0;
+y4=0.4[y3,y5];
+top y3=h; x3=0.5[x2,x4];
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_jcurve(1,srad,jjut,jdepth); % stem
+%%draw z2..z3{right}..z4{down}..{-pdir}z5; % bowl
+draw z1a..z3{right}..z4{down}..{-pdir}z5; % bowl
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,100);
+endchar; % end "P"
+
+cmchar "Uncial letter Q";
+beginchar("Q", 2u#+caprat*hstretch*(x_height#), caprat*x_height#, caprat*x_height#);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+rt x1=w-pcshiftx; top y1=h;
+numeric jjut, jdepth;
+jjut=2jut; jdepth=h+d-thin;
+x2=x1-jjut; y2=y1-jdepth;
+numeric rad; rad := w/2;
+x0=w/2; y0=h/2;
+lft x4=pcshiftx; y4=y0;
+x3=x5=x0; top y3=h; bot y5=0;
+x7=x0+rad; y7=y0;
+path p[];
+p1=z1{down}..{-pdir}z2; % stem
+p2=z4{down}..z5{right}..{up}z7;
+z6'= p1 intersectionpoint p2;
+rt x6=x6'; y6=y6';
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1{down}...{-pdir}z2; % right stem
+draw z1--z3..z4{down}..{right}z5..z6; % bowl
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(0,1,2,3,4,5,6,6',7,100);
+endchar; % end "Q"
+
+cmchar "Uncial letter R";
+beginchar("R", 2u#+caprat*hstretch*(4/3x_height#), caprat*x_height#,
+ caprat*(2/3x_height#));
+adjust_fit(0,0);
+sqyside:=h; sqxside:=hstretch*sqyside;
+pcshiftx := u+jut;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; top y1=h;
+numeric jjut, jdepth;
+jjut=1/5sqxside; jdepth=h+d-thin;
+x2=x1; y2=3/4h;
+rt x4=pcshiftx+3/4sqxside;
+lft x5=x1; bot y5=1/6h;
+y4=0.4[y3,y5];
+top y3=h; x3=0.5[x2,x4];
+rt x7=w-u; y7=-thin;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_jcurve(1,srad,jjut,jdepth); % stem
+draw z1a..z3{right}..z4{down}..{-pdir}z5; % bowl
+draw z5{-ppdir}..{right}z7; % leg
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,100);
+endchar; % end "R"
+
+cmchar "Uncial letter S";
+beginchar("S", 2u#+caprat*hstretch*(5/6x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+rt x1=w-pcshiftx; top y1=h-thin;
+x2=w/2; top y2=h;
+lft x3=pcshiftx; y3=0.75h;
+x4=w/2; y4=h/2;
+rt x5=w-pcshiftx; y5=0.25h;
+x6=w/2; bot y6=0;
+lft x7= pcshiftx; bot y7 = thin;
+path p[];
+p1=z1..z2{left}..z3{down}..z4..z5{down}..z6{left}..z7;
+pair vec[];
+vec1= direction 0 of p1;
+vec2= direction (length p1) of p1;
+z11=z1 shifted vec1;
+z17=z7 shifted -vec2;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+%%draw_serif(1,11,srad);
+%%draw_serif(7,17,srad);
+%%draw z1a..z2{left}..z3{down}..z4..z5{down}..z6{left}..z7a;
+draw p1;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,11,17,100);
+endchar; % end "S"
+
+cmchar "Uncial letter T";
+beginchar("T", u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u/2;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+x1=x2=w/2;
+top y1=h; bot y2=0;
+lft x3=pcshiftx; top y3=h-thin;
+x4=x2; top y4=h;
+rt x5=w-pcshiftx; top y5=h+thin;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_tstem(1,2,srad);
+draw z3{pdir}..z4{right}..{pdir}z5;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,100);
+endchar; % end "T"
+
+cmchar "Uncial letter U";
+beginchar("U", 2u#+caprat*hstretch*(x_height#+jut#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x6=pcshiftx+thick;
+top y6=h;
+lft x7=pcshiftx; y7=h/2;
+x8=pcshiftx+0.5sqxside; bot y8=0;
+rt x1=w-pcshiftx-jut; y1=h;
+x2=x1; bot y2=0;
+x5=x1+sqxside-thick; y5=y6;
+path p[];
+p1=z1--z2;
+p2=z6..z7{down}..z8{right}..z5;
+z9= p2 intersectionpoint p1;
+pair vec[];
+vec2 = direction 0 of p2;
+z16=z6 shifted vec2;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_serif(6,16,srad); % left half
+draw z6a..z7{down}..z8{right}..z9;
+draw_istem(1,2,srad); % right stem
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,8,9,11,16,100);
+endchar; % end "U"
+
+cmchar "Uncial letter V";
+beginchar("V", 2u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+numeric midx; midx:= pcshiftx;
+lft x1=midx+jut; top y1=h;
+lft x2=midx; y2=h/2;
+rt x4=midx+sqxside; y4=y2;
+x3=0.5[x2,x4]; bot y3=0;
+x5=x4-thick; y5=y1;
+path p[];
+p1=z1..z2{down}..z3{right}..z4{up}..z5;
+pair vec[];
+vec1 = direction 0 of p1;
+z11=z1 shifted vec1;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_serif(1,11,srad); % right half
+draw z1a..z2{down}..z3{right}..z4{up}..z5;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,11,100);
+endchar; % end "V"
+
+cmchar "Uncial letter W";
+beginchar("W", 2u#+caprat*hstretch*(5/3x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+numeric midx; midx:= pcshiftx+2/3sqxside;
+lft x1=midx+jut; top y1=h;
+lft x2=midx; y2=h/2;
+rt x4=midx+sqxside; y4=y2;
+x3=0.5[x2,x4]; bot y3=0;
+x5=x4-thick; y5=y1;
+path p[];
+p1=z1..z2{down}..z3{right}..z4{up}..z5;
+lft x6=pcshiftx+thick;
+y6=y1;
+lft x7=pcshiftx; y7=y2;
+x8=pcshiftx+0.5sqxside; y8=y3;
+p2=z6..z7{down}..z8{right}..(z5 shifted -pdir);
+z9= p2 intersectionpoint p1;
+pair vec[];
+vec1 = direction 0 of p1;
+vec2 = direction 0 of p2;
+z11=z1 shifted vec1;
+z16=z6 shifted vec2;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_serif(1,11,srad); % right half
+draw z1a..z2{down}..z3{right}..z4{up}..z5;
+draw_serif(6,16,srad); % left half
+draw z6a..z7{down}..z8{right}..z9;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,8,9,11,16,100);
+endchar; % end "W"
+
+cmchar "Uncial letter X";
+beginchar("X", u#+caprat*hstretch*(5/3x_height#), caprat*x_height#,
+ caprat*(1/3x_height#));
+adjust_fit(0,0);
+pcshiftx := 0;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx+1/2sqxside; rt x2=w-jut;
+y1=h; y2=0;
+lft x3=pcshiftx; bot y3=-d;
+z4=z3 shifted (jut*right);
+z5=z4 shifted (jut*pdir);
+rt x8=w-pcshiftx; top y8=h;
+z7=z8 shifted (jut*left);
+z6=z7 shifted (-jut*pdir);
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw_istem(1,2,srad); % thick diagonal
+draw z3---z4..z5---z6..z7---z8; % thin diagonal
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,8,100);
+endchar; % end "X"
+
+cmchar "Uncial letter Y";
+beginchar("Y", 2u#+caprat*hstretch*(4/3x_height#), caprat*x_height#, 2/3caprat*x_height#);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x1=pcshiftx; top y1=3/4h;
+lft x3=w/2; bot y3=-d;
+x2=0.8[x1,x3]; y2=0.5[y1,y3];
+rt x4=w-pcshiftx; y4=y1;
+x7=pcshiftx; y7=-d;
+path p[];
+p1=z1..z2..z3;
+z6= (z7--z4) intersectionpoint p1;
+x5=0.4[x6,x4]; y5=0.5[y6,y4];
+x8=x6; y8=h;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z2..z3; % left stroke
+draw z4{left}..z6; % right stroke
+draw_pdot(8,dot_size);
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,7,8,9,10,100);
+endchar; % end "Y"
+
+cmchar "Uncial letter Z";
+beginchar("Z", 2u#+caprat*hstretch*(4/3x_height#), caprat*x_height#, 0);
+adjust_fit(0,0);
+pcshiftx := u;
+sqyside:=h; sqxside:=hstretch*sqyside;
+y100 = h/2; x100 = pcshiftx+y100; % square center
+pickup quill;
+lft x4=pcshiftx; bot y4=0;
+rt x6=w-pcshiftx; y6=y4;
+x5=0.5[x4,x6]; y5=y4+thin;
+x1=x4; top y1=h;
+x3=pcshiftx+sqxside; y3=y1;
+x2=0.5[x1,x3]; top y2=h-thin;
+%%ductus:=true;
+if ductus:
+ pickup stylus;
+fi
+draw z1..z2..z3; % top stroke
+draw z4..z5..z6; % bottom stroke
+pickup stylus;
+draw z4--z3;
+ductus:=false;
+proofpcbb(100, y100, y100);
+penlabels(1,2,3,4,5,6,100);
+endchar; % end "Z"
+