%%
%% This is file `egothl.mf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% egothic.dtx  (with options: `min')
%% 
%%  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 "EGOTH letter a";
beginchar("a", 2sb#+hstretch*(9/16x_height#+jut#),
               x_height#, 0);
adjust_fit(0,0);
pcshiftx := sb;
numeric n[];
path pth[];
pair pr[];
pickup quill;
n1 := w - 2pcshiftx -jut; % effective letter width
rt x1 = w-pcshiftx-jut; top y1=h;
x2 = x1; bot y2=0;
z16 = 1/6[z2,z1];
rt x6 = x16; y6=y16;
lft x4 = pcshiftx; y4 = 1/2h;
pth1 := z1--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;
n2 := y13 - bot y13;
z23 = (x13, y13+n2);
z33 = (x13, y13-n2);
%%ductus:=true;
if ductus:
  pickup stylus;
else:
  % draw stem
  draw pth1;
  draw_roundserif(1,2,srad);
  draw_roundserif(2,1,srad);
  % draw bowl
%%  draw z1{-pdir}..z4{down}..z6{pdir};
  draw z11{-pdir}..z23{down}..z33..z15{pdir};
fi
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,100);
endchar; % end "a"

cmchar "EGOTH letter b";
beginchar("b", 2sb#+hstretch*(11/16x_height#+jut#),
               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+jut; top y1=h;
x3 = x1; y3=2/8n2;
rt x5 = w-pcshiftx; y5=y3;
x4 = 1/2[x3,x5]; bot y4=0;
x6=1/2[x4,x5]; top y6=n2;
pth1 := z1..z3{down}..z4{right}.. z5{up};
z98=(0,3/4n2); z99=(w,y98);
pth2 := z98--z99;
z7=(x1,6/8n2);
if ductus:
  pickup stylus;
fi
draw z1--z3{down}..z4{right}..z5{up}..z6;
draw z6--z7;
draw_flatserif(1,3,srad);
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,100);
endchar; % end "b"

cmchar "EGOTH letter c";
beginchar("c", 2sb#+hstretch*(9/16x_height#),
               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 "EGOTH letter d";
beginchar("d", 2sb#+hstretch*(11/16x_height#+jut#),
               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=6/8n1;
x4 = 3/8[x3,x5]; bot y4 = 0;
x6=1/2[x4,x5]; top y6 = n1;
x7=x3; top y7=n1;
rt x8 = w-pcshiftx; y8=n1;
if ductus:
  pickup stylus;
fi
draw z1--z2;
draw_flatserif(1,2,srad);
draw_roundserif(2,1,srad);
draw z3..z4{left}..z5{up}..z6;
draw z6..z7..z8;
ductus:=false;
penlabels(0,1,2,3,4,5,6,7,8,100);
endchar; % end "d"

cmchar "EGOTH letter e";
beginchar("e", sb#+hstretch*(15/16x_height#),
               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;
pth3 := z7--z27;   % diagonal
pth4 := z1--z9;

z34 = pth3 intersectionpoint pth4;
pth5 := z34--z1{left}...z2{down}..z3{right}..z4{pdir};  % bowl
%%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 pth5;     % bowl
draw pth3;     % diagonal
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,17,27,34,70,100);
endchar; % end "e"

cmchar "EGOTH letter f";
beginchar("f", 2sb#+hstretch*(9/16x_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=h; bot y2=0;
%% flick
x4=x2; y4 = 1/2n1;
%%rt x6=w-pcshiftx; y6 = 2/3h;
%%x5 = 2/3[x4,x6]; top y5=h;
x6 = x1; y6=y1; rt x8 = w-pcshiftx; y8=h;
%% bar
z14=1/2[z4,z1];
rt x16 = w -pcshiftx; bot y16 = y14;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);            % stem
draw_flatserif(1,2,srad);
draw_roundserif(2,1,srad);
draw z6{right}..z8{pdir};        % top
draw z14{right}..z16{pdir};      % bar
ductus:=false;
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,14,15,16,100);
endchar; % end "f"

cmchar "EGOTH letter g";
beginchar("g", 2sb#+hstretch*(12/16x_height#+2jut#),
               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
%% S shape
x1 = x3 = x5 = 1/2w;
top y1 = h; bot y5 = -d; y3 = 1/2[y1,y5];
lft x2 = pcshiftx + jut; rt x4 = w - pcshiftx - jut;
y2 = 1/2[y1,y3]; y4 = 1/2[y3,y5];
%% bow
z12 = (x4,y2);
lft x16 = pcshiftx; bot y16=-d;
pth2 := z16...z12{up}...z1;
n2 := top y5;
pth3 := (0, n2)--(w, n2);
z6 = pth3 intersectionpoint pth2;
%% top flick
z11=z1;
rt x13 = w-pcshiftx; y13 = h;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z1..z2{down}..z3..z4{down}..z5{left}..z6;  % S
draw pth2;                                      % bow
draw z11{right}..z13{pdir};                     % flick
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 "EGOTH letter h";
beginchar("h", 2sb#+hstretch*(11/16x_height#+jut#),
               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=9/16[x3,x5]; top y4 = h/ascratio;
%%lft x6=x4; bot y6=0;
x6=9/16[x4,x5];
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--z4{right}...z5{down}...z6{-pdir};

ductus:=false;
penlabels(1,2,3,4,5,6,100);
endchar; % end "h"

cmchar "EGOTH letter i";
beginchar("i", 2sb#+hstretch*(thick#+2jut#),
               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 "EGOTH letter j";
beginchar("j", sb#+hstretch*(3/8x_height#),
               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 "EGOTH letter k";
beginchar("k", 2sb#+hstretch*(13/16x_height#+jut#),
               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+jut;
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_flatserif(1,2,srad);
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 "EGOTH letter l";
beginchar("l", 2sb#+hstretch*(thick#+2jut#),
               asc_height#, 0);
adjust_fit(0,0);
pcshiftx := sb;
pickup quill;
lft x1=pcshiftx+jut; top y1=h;
x2=x1; bot y2 =0;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);
draw_flatserif(1,2,srad);
draw_roundserif(2,1,srad);
ductus:=false;
penlabels(1,2,3,4,100);
endchar; % end "l"

cmchar "EGOTH letter m";
beginchar("m", 2sb#+hstretch*(15/16x_height#+2jut#),   % 12/16 too narrow, 14 a bit
               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--z14{right}..z33{down}--z4;
draw_roundserif(4,3,srad);
draw z33--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 "EGOTH letter n";
beginchar("n", 2sb#+hstretch*(9/16x_height#+2jut#),
               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--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 "EGOTH letter o";
beginchar("o", 2sb#+hstretch*(3/4x_height#),
               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 "EGOTH letter p";
beginchar("p", 2sb#+hstretch*(11/16x_height#+jut#),
               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--z4; draw z4..z5{down}..z6{left}..z7;
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,100);
endchar; % end "p"

cmchar "EGOTH letter q";
beginchar("q", 2sb#+hstretch*(3/4x_height#+jut#),
               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];
z7=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{pdir};
ductus:=false;
penlabels(0,1,2,3,4,5,6,7,8,100);
endchar; % end "q"

cmchar "EGOTH letter r";
beginchar("r", 2sb#+hstretch*(13/16x_height#+jut#),
               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 "EGOTH letter s";
beginchar("s", 2sb#+hstretch*(11/16x_height#+jut#),
               5/6asc_height#, 0);
adjust_fit(0,0);
numeric n[];
pcshiftx := sb;
pickup quill;
n1 := (6/5h)/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; top y6 = h;
x5 = 1/2[x4,x6];
y5 = 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--z5--z6;
draw z1--z5--z6;
ductus:=false;
penlabels(1,2,3,4,5,6,7,11,17,20,26,27,28,100);
endchar; % end "s"

cmchar "EGOTH letter t";
beginchar("t", 2sb#+hstretch*(15/16x_height#),
               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 "EGOTH letter u";
beginchar("u", 2sb#+hstretch*(9/16x_height#+2jut#),
               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 z1--z13--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 "EGOTH letter v";
beginchar("v", 2sb#+hstretch*(11/16x_height#+jut#),   % 13/16 too wide
               x_height#, 0);
adjust_fit(0,0);
pcshiftx := sb;
pickup quill;
%% left stem
lft x1 = pcshiftx + jut; top y1 = h;
%% right stem
rt x5=w-pcshiftx; top y5 = h;
bot y3 = 0;
x3 = 1/2[x1,x5];
z51 = (x1,0); z55=(x5,0);
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z1{down}..z3;          % left stem
draw_flatserif(1,51,srad);
draw z5{down}..z3;          % right stem
draw_flatserif(5,55,srad);
ductus:=false;
penlabels(1,2,3,4,5,11,13,14,23,26,100);
endchar; % end "v"

cmchar "EGOTH letter w";
beginchar("w", 2sb#+hstretch*(15/16x_height#+2jut#),
               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--z14{right}...z33{pdir};  % left
draw_flatserif(1,13,srad);
draw z3--z33--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 "EGOTH letter x";
beginchar("x", 2sb#+hstretch*(15/16x_height#),
               x_height#, desc_depth#);
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+jut; top y1=h;
rt x2=w-pcshiftx-jut; bot y2=0;
z251 = 7/16[z1,z2];
%%z252 = 9/16[z1,z2];
z252 = z251;
%% diag middle to top right
x60 = w-pcshiftx;
top y50 = h;
x50 = 1/2[x251,x60];
top y60 = y50;
%% diag bottom left to middle
x10 = -1/3w; bot y10=-d;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z1--z2;          % top left to bottom right
draw_flatserif(1,2,srad); draw_roundserif(2,1,srad);
draw z251...z50{right}...z60;   % middle to top right
draw z10{right}..z252;   % bottom left to middle
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 "EGOTH letter y";
beginchar("y", 2sb#+hstretch*(11/16x_height#+jut#),
               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;
z51 = (x1,0); z55=(x5,0);
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z1{down}..z3;        % left stem
draw_flatserif(1,51,srad);
draw pth1;                % right stem
draw_flatserif(5,55,srad);
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,10,100);
endchar; % end "y"

cmchar "EGOTH letter z";
beginchar("z", 2sb#+hstretch*(15/16x_height#),
               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"

