%%
%% 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"

