%%
%% This is file `hunclu.mf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% huncial.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 "HUncial letter A";
beginchar("A", 2u#+caprat*hstretch*(x_height#+jut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
rt x1=w-pcshiftx; top y1=h;
x2=x1; bot y2=0;
x5=x1-jut;  y5=0.5[y1,y2];
path p[];
p1=z1{-pdir}..z5{down}..{right}z2;
lft x3=pcshiftx; y3=y5;
x4=x6=0.5[x3,x5]; top y4=h; bot y6=0;
x2'=0.5[x2,x5];
bowl_stem(6,2');
rt x7=x6i; top y7=y6i;
rt x8=x1; y4-y8=y7-y6;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw p1;                  % the stem
draw z8..z4{left}..z3{down}..z6{right}..{pdir}z7;  % the bowl
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,100);
endchar; % end "A"

cmchar "HUncial letter B";
beginchar("B", 2u#+caprat*hstretch*(x_height#+trijut#), caprat*asc_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h;
rt x4=w-pcshiftx;
x3=x5=0.5[x2,x4]; bot y3=0; top y5=h/ascratio;
y2=y4=0.5[y3,y5];
x11=rt x1; bowl_stem(5,11);
lft x7=x5i; bot y7=y5i;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z1--z2{down}..z3{right}..z4{up}..z5{left}..{-pdir}z7;
draw_triserif(1,trijut);
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,100);
endchar; % end "B"

cmchar "HUncial letter C";
beginchar("C", 2u#+caprat*hstretch*(x_height#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=pcshiftx; rt x3=w-pcshiftx; y1=y3=h/2;
x2=x4=w/2; top y2=h; bot y4=0;
x3'=w-pcshiftx;
bowl_stem(4,3');
rt x5=x4i; top y5=y4i;
x6=x5; y2-y6=y5-y4;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z5{-pdir}..{left}z4..z1..z2..z6;
ductus:=false;
penlabels(1,2,3,4,5,6,16,17,18,100);
endchar; % end "C"

cmchar "HUncial letter D";
beginchar("D", 2u#+caprat*hstretch*(x_height#+thick#+jut#), caprat*asc_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
rt x1=w-pcshiftx-jut; top y1=h;
x2=x1; bot y2=0;
x1'=lft x1; y1'=h;
lft x5=pcshiftx;
top y4=h/ascratio; bot y6=0;
x4=x6=0.5[x5,x1']; y5=0.5[y6,y4];
bowl_stem(6,1');
rt x7=x6i; top y7=y6i;
x8=x7; y4-y8=y7-y6;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                              % stem
draw_triserif(1,trijut);
draw z8..z4{left}..z5{down}..z6{right}..{pdir}z7;  % bowl
ductus:=false;
penlabels(0,1,2,3,4,5,6,7,8,100);
endchar; % end "D"

cmchar "HUncial letter E";
beginchar("E", 2u#+caprat*hstretch*(x_height#+trijut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=pcshiftx; rt x3=w-pcshiftx-trijut; y1=y3=h/2;
x2=x4=w/2; top y2=h; bot y4=0;
x3'=w-pcshiftx-trijut;
bowl_stem(4,3');
rt x5=x4i; top y5=y4i;
x7=x1; y7=y1;
rt x8=w-pcshiftx; top y8=2/3h;
path p[];
p1=z7{right}..{pdir}z8;
p2=z2{right}..z3{down}..{left}z4;
z6 = p1 intersectionpoint p2;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z5{-pdir}..{left}z4..z1..z2{right}..z6; % the bowl
draw p1;                                     % the bar
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,100);
endchar; % end "E"

cmchar "HUncial letter F";
beginchar("F", 2u#+caprat*hstretch*(7/6x_height#+trijut#), caprat*(3/2x_height#),
               caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=2/3h; bot y2=-d;
z3=z4=z1;
rt x5= rt x6=w-pcshiftx; top y5=h; y6=y4;
x7=0.5[x4,x6]; y7=y6-2thin;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);            % stem
draw_triserif(1,trijut);
draw_urswish(3,5);               % top bar
draw z4..z7{right}..{pdir}z6;    % bottom bar
ductus:=false;
penlabels(1,2,3,4,5,6,7,100);
endchar; % end "F"

cmchar "HUncial letter G";
beginchar("G", 2u#+caprat*hstretch*(4/3x_height#), caprat*x_height#,
               caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
numeric alpha; alpha:=thin;
pickup quill;
lft x1=pcshiftx; top y1=h+alpha;
rt x3=w-pcshiftx; top y3=h-alpha;
rt x2=3/4w; top y2=h-alpha;
x4=1/4w; y4=0;
rt x6=w-pcshiftx; y6=-1/2d;
x7=1/2w; bot y7=-d;
lft x8=pcshiftx; top y8=-1/2d;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_wave(1,3,alpha);                  % top bar
draw z2--z4;                           % diagonal
draw z4{pdir}..z6{down}..z7{left}..z8; % the bowl
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,100);
endchar; % end "G"

cmchar "HUncial letter H";
beginchar("H", 2u#+caprat*hstretch*(x_height#+trijut#), caprat*asc_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h; bot y2=0;
rt x5=w-pcshiftx; y5=h/(2ascratio);
lft x6=2/3w; bot y6=0;
x4=0.5[x1,x5]; top y4=h/ascratio;
x1'=rt x1;
bowl_stem(4,1');
lft x3=x4i; bot y3=y4i;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                    % stem
draw_triserif(1,trijut);
draw z3{pdir}..z4{right}..z5{down}..z6;  % bowl
ductus:=false;
penlabels(1,2,3,4,5,6,100);
endchar; % end "H"

cmchar "HUncial letter I";
beginchar("I", 2u#+hstretch*(thick#+trijut#+jut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h; bot y2=0;
%%ductus:=true;
draw_tstem(1,2,srad);
draw_triserif(1,trijut);
ductus:=false;
penlabels(1,2,100);
endchar; % end "I"

cmchar "HUncial letter J";
beginchar("J", 2u#+hstretch*(thick#+trijut#), caprat*x_height#, caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h; bot y2=-1/2d;
lft x3=pcshiftx; bot y3=-d;
%%ductus:=true;
draw z1--z2{down}..{-pdir}z3;
draw_triserif(1,trijut);
ductus:=false;
penlabels(1,2,3,100);
endchar; % end "J"

cmchar "HUncial letter K";
beginchar("K", 2u#+caprat*hstretch*(x_height#+trijut#+jut#), caprat*asc_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h; bot y2=0;
numeric rise,fall,fjut;
x3=rt x1; y3=(3/4)*(h/ascratio);
rise:=1/6h; fall:=-rise/2; fjut:=1/2w;
z4=z3;
x5=w-pcshiftx-jut; y5=0;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);            % stem
draw_triserif(1,trijut);
draw_flick(3,rise,fall,fjut);    % upper diag
draw_tstem(4,5,srad);            % lower diag
ductus:=false;
penlabels(1,2,3,4,5,100);
endchar; % end "K"

cmchar "HUncial letter L";
beginchar("L", 2u#+caprat*hstretch*(7/6x_height#+trijut#), caprat*asc_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h; bot y2=0;
z3=z2;
rt x4=w-pcshiftx; bot y4=1/10h;
%%ductus:=true;
draw z1--z2;
draw_triserif(1,trijut);                    % the stem
draw z3{right}..{pdir}z4;                   % the foot
ductus:=false;
penlabels(1,2,3,4,100);
endchar; % end "L"

cmchar "HUncial letter M";
beginchar("M", 2u#+caprat*hstretch*(5/3x_height#+trijut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=pcshiftx+trijut; top y1=h;
x2=x1; bot y2=0;
x4=w/2; y4=2/3h;
x3=0.5[x2,x4]; top y3=h;
x5=x4; y5=y2;
z6=z4;
x7=3/4w; top y7=h;
rt x8=w-pcshiftx; y8=h/2;
lft x9=3/4w; y9=y2;
x14=x1; y14=y4;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                             % left half
draw_triserif(1,trijut);
draw z14..z3{right}..{down}z4;
draw_tstem(4,5,srad);                             % middle stem
draw z6..z7{right}..z8{down}..{-pdir}z9;          % right half
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,14,100);
endchar; % end "M"

cmchar "HUncial letter N";
beginchar("N", 2u#+caprat*hstretch*(x_height#+trijut#+jut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=pcshiftx+trijut; top y1=h;
x2=x1; bot y2=0;
x1'=rt x1;
rt x5=w-pcshiftx-jut; y5=h/2;
x6=x5; bot y6=0;
x4=0.5[x1,x5]; top y4=h;
bowl_stem(4,1');
lft x3=x4i; bot y3=y4i;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                % left stem
draw_triserif(1,trijut);
draw_tstem(5,6,srad);                % right stem
draw z3{pdir}..z4{right}..{down}z5;  % the bowl top
ductus:=false;
penlabels(1,2,3,4,5,6,100);
endchar; % end "N"

cmchar "HUncial letter O";
beginchar("O", 2u#+caprat*hstretch*(7/6x_height#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
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;
penlabels(1,2,3,4,100);
endchar; % end "O"

cmchar "HUncial letter P";
beginchar("P", 2u#+caprat*hstretch*(7/6x_height#+trijut#), caprat*x_height#,
               caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut;
top y1=h; bot y2=-d;
rt x4=w-pcshiftx;
x3=x5=0.5[x2,x4]; bot y3=0; top y5=h;
y4=0.5[y3,y5];
x1'=rt x1;
bowl_stem(5,1');
lft x7=x5i; bot y7=y5i;
lft x8=rt x1; bot y8=0;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                         % stem
draw_triserif(1,trijut);
draw z8{right}..z4{up}..z5{left}..{-pdir}z7;  % bowl
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,100);
endchar; % end "P"

cmchar "HUncial letter Q";
beginchar("Q", 2u#+caprat*hstretch*(7/6x_height#+jut#), caprat*x_height#,
               caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
rt x1=w-pcshiftx-jut; top y1=h;
x2=x1; bot y2=-d;
lft x5=pcshiftx;
top y4=h; bot y6=0;
x4=x6=0.5[x5,x1']; y5=0.5[y6,y4];
x1'=lft x1;
bowl_stem(6,1');
rt x7=x6i; top y7=y6i;
z8=z1;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                              % stem
draw z8{left}..z5{down}..z6{right}..{pdir}z7;  % bowl
ductus:=false;
penlabels(0,1,2,3,4,5,6,7,8,100);
endchar; % end "Q"

cmchar "HUncial letter R";
beginchar("R", 2u#+caprat*hstretch*(x_height#+trijut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut; top y1=h; bot y2=0;
lft x3=rt x1; bot y3=7/8h;
rt x5=w-pcshiftx; top y5=1/2h;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);                     % stem
draw_triserif(1,trijut);
draw z3{pdir}..{pdir}z5;                  % bowl
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,100);
endchar; % end "R"

cmchar "HUncial letter S";
beginchar("S", 2u#+caprat*hstretch*(x_height#+trijut#), caprat*(3/2x_height#), 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=lft x2=pcshiftx+trijut; top y1=2/3h; bot y2=0;
x5=w-pcshiftx; y5=h;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_tstem(1,2,srad);            % stem
draw_triserif(1,trijut);
%%draw z1{pdir}..{right}z5;        % arm
draw_urswish(1,5);
ductus:=false;
penlabels(1,2,3,4,5,6,7,11,17,26,27,28,100);
endchar; % end "S"

cmchar "HUncial letter T";
beginchar("T", 2u#+caprat*hstretch*(4/3x_height#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=pcshiftx+1/4w; rt x3=w-pcshiftx; y1=h/3; y3=h/2;
x2=x4=0.5[x1,x3]; top y2=h; bot y4=0;
x6=x3;
x6'=w-pcshiftx;
bowl_stem(4,6');
rt x5=x4i; top y5=y4i;
top y6=h;
lft x12=pcshiftx; top y12=h;
x11=0.5[x6,x12]; y11=y12-thin;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw z5{-pdir}..{left}z4..z1{up}..{pdir}z6;   % bowl
draw z6..z11..z12;                            % top bar
ductus:=false;
penlabels(1,2,3,4,5,6,11,12,100);
endchar; % end "T"

cmchar "HUncial letter U";
beginchar("U", 2u#+caprat*hstretch*(x_height#+trijut#+jut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x6=pcshiftx+trijut;
top y6=h;
x7=x6; y7=h/2;
x8=0.5[x6,x1]; bot y8=0;
rt x1=w-pcshiftx-jut; top y1=h;
x2=x1; bot y2=0;
x1'=lft x1;
bowl_stem(8,1');
rt x9=x8i; top y9=y8i;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_triserif(6,trijut);                      % left half
draw z6--z7{down}..z8{right}..{pdir}z9;
draw_tstem(1,2,srad);                         % right stem
draw_triserif(1,trijut);
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,11,16,100);
endchar; % end "U"

cmchar "HUncial letter V";
beginchar("V", 2u#+caprat*hstretch*(x_height#+trijut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
numeric midx; midx:= pcshiftx;
lft x1=midx+trijut; top y1=h;
x2=x1; y2=h/2;
rt x4=w-pcshiftx; y4=y2;
x3=0.5[x2,x4]; bot y3=0;
x5=x4-trijut; y5=y1;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_triserif(1,trijut);
%%draw_triserif(5,trijut);
draw z1--z2{down}..z3{right}..z4{up}..z5;
ductus:=false;
penlabels(1,2,3,4,5,11,100);
endchar; % end "V"

cmchar "HUncial letter W";
beginchar("W", 2u#+caprat*hstretch*(5/3x_height#+trijut#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
numeric midx; midx:= w/2-trijut;
lft x1=midx+trijut; top y1=h;
x2=x1; y2=h/2;
rt x4=w-pcshiftx; y4=y2;
x3=0.5[x2,x4]; bot y3=0;
x5=x4-trijut; y5=y1;
lft x6=pcshiftx+trijut;
top y6=h;
%%lft x7=pcshiftx; y7=y2;
x7=x6; y7=y2;
x8=0.5[x7,x1]; y8=y3;
x15=0.5[x8,x1]; y15=y8;
z15'=z15 shifted (w*pdir);
x2'=x2; y2'=y15;
path p[];
p1=z1--z2';
p2=z15--z15';
z9= p2 intersectionpoint p1;
pair vec[];
p3=z6..z7{down}..{right}z8;
vec3 = direction 0 of p3;
z16=z6 shifted vec3;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_triserif(1,trijut);                      % right half
draw z1--z2{down}..z3{right}..z4{up}..z5;
draw_triserif(6,trijut);                      % left half
draw z6--z7{down}..z8{right}..z9;
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,11,16,100);
endchar; % end "W"

cmchar "HUncial letter X";
beginchar("X", 2u#+caprat*hstretch*(4/3x_height#+jut#), caprat*x_height#,
               caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=1/4w; rt x2=w-pcshiftx-jut;
y1=h; y2=0;
rt x4=w-pcshiftx; top y4=h;
z3=2/3[z2,z1];
lft x6=pcshiftx; bot y6=-d;
path p[];
pair vec;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_istem(1,2,srad);            % thick diagonal
draw_urswish(3,4);               % top thin diagonal
p1=z3..z4s1{pdir}..z4s2{down};   % bottom thin diagonal
vec= direction 0 of p1;
draw z3{-vec}..{down}z6;
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,100);
endchar; % end "X"

cmchar "HUncial letter Y";
beginchar("Y", 2u#+caprat*hstretch*(4/3x_height#), caprat*x_height#,
               caprat*desc_depth#);
adjust_fit(0,0);
pcshiftx := u;
pickup quill;
lft x1=pcshiftx; top y1=h;
lft x3=w/2; bot y3=-d;
x2=lft x5; y2=bot y5;
x5=w/2; y5=1/3h;
x4=w-pcshiftx; top y4=h;
x8=w/2; y8=h+jut;
if ductus:
  pickup stylus;
fi
draw z1..z2..z3;              % left stroke
draw_urswish(2,4);            % right stroke
draw_pdot(8,dot_size);        % the dot
ductus:=false;
penlabels(1,2,3,4,5,6,7,8,9,10,100);
endchar; % end "Y"

cmchar "HUncial letter Z";
beginchar("Z", 2u#+caprat*hstretch*(5/3x_height#), caprat*x_height#, 0);
adjust_fit(0,0);
pcshiftx := u;
numeric alpha, beta; alpha:=thin; beta:=2thin;
pickup quill;
lft x4=pcshiftx; bot y4=0; x14=x4; y14=y4+beta;
rt x6=w-pcshiftx; bot y6=-beta;
lft x1=1/5w; top y1=h+alpha;
rt x3=4/5w; top y3=h; x13=x3; y13=y3-alpha;
%%ductus:=true;
if ductus:
  pickup stylus;
fi
draw_wave(1,13,alpha);     % top stroke
draw_wave(14,6,beta);    % bottom stroke
draw z4--z3;             % diagonal
ductus:=false;
penlabels(1,2,3,4,5,6,100);
endchar; % end "Z"

