designsize:=10pt# ;
autorounding := 1 ;
mode_setup;
em#:=10pt#; ; desc#:=10/3pt#; ex#:=8pt#; o#:=1/8pt#;
% parameters
 
font_normal_space(0.4em#) ; font_x_height(ex#) ;
font_quad(em#) ; font_normal_stretch(0.2em#) ;
font_normal_shrink(0.1em#) ;
 
penangle := 30 ;
penwidth# := 1/12em# ; penthickness# := 1/50em# ;
define_pixels(em,desc,ex);
define_blacker_pixels(penwidth,penthickness) ;
tehta_penwidth# = 0.8penwidth# ;
define_blacker_pixels(tehta_penwidth) ;
define_corrected_pixels(o);
straight_sidebar# = 1/12em#; curve_sidebar# = 1/18em#;
define_whole_pixels(straight_sidebar,curve_sidebar) ;
 
fudge := 0.05 ex ; % fudge for lowering calma luva
u# := em#/18 ;
define_pixels(u) ;
tailjut# := 12u# - 10u# ;
define_whole_pixels(tailjut) ;
luva_width# = 0.5em# ; define_pixels(luva_width) ;
pickup pencircle xscaled penwidth yscaled penthickness rotated penangle;
main_nib := savepen ;
pickup pencircle xscaled tehta_penwidth yscaled penthickness rotated penangle;
tehta_nib := savepen ;
 
 
 
def draw_stem(suffix i,j)(expr serifs)  = % serifs = t,b,tb for Top & Bottom
 z.i.$ = z.i + 0.05em * dir(penangle+180) ;
 z.i.$$ = z.i + 0.1em * down ;
 z.j.$ = z.j + 0.05em * dir(penangle) ;
 z.j.$$ = z.j + 0.1em * up ;
 draw z.i .. z.j ;
 if (serifs = "t") or (serifs = "tb"):
  filldraw z.i -- z.i.${dir(penangle-90)}
   .. {down}z.i.$$ & z.i.$$ .. z.i & cycle ; fi
 if (serifs = "b") or (serifs = "tb"):
  filldraw z.j -- z.j.${dir(penangle+90)}
   .. {up}z.j.$$ & z.j.$$ .. z.j & cycle ; fi
 labels(i,j)
 enddef ;
 
def diag(suffix i,j) =  % diag from i to j with serif at j
 draw z.i -- z.j ;
 theta :=
 if x.j > x.i:
  if y.j > y.i:  penangle - 90 else:  penangle fi
 else:
  if y.j > y.i: -penangle else: penangle + 90 fi fi ;
  draw z.j -- (z.j + 0.05em*dir theta) ;
enddef ;
 
beginchar("p",10u#,ex#,0) ; "The rune p" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 bot z4 = 0.4[z2,z1] ;
 rt x3 = w - curve_sidebar ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
endchar ;
 
beginchar("b",12u#,ex#,0) ; "The rune b" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 bot z4 = 0.4[z2,z1] ;
 rt x3 = w - curve_sidebar - tailjut ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
 y5 = y2 ; rt x5 = w - curve_sidebar ;
 bot y4' = round y4 ; x4 = x4' ;
 diag(4',5) ;
endchar ;
 
beginchar("f",10u#,ex#,0) ; "The rune f" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"b") ;
 bot z4 = 0.4[z2,z1] ;
 lft x3 = curve_sidebar ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
endchar ;
 
beginchar("v",12u#,ex#,0) ; "The rune v" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"b") ;
 bot z4 = 0.45[z2,z1] ;
 lft x3 = curve_sidebar+tailjut ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
 y5 = y2 ; lft x5 = curve_sidebar ;
 diag(4,5) ;
endchar ;
 
beginchar("W",19u#,ex#,0) ; "The rune hw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x 0.5w ;
 draw_stem(1,2,"b") ;
 bot z4 = 0.4[z2,z1] ;
 rt x3 = w - curve_sidebar ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
 lft x5 = curve_sidebar ; y5 = y3 ;
 draw z1 -- z5 -- z4 ;
endchar ;
 
beginchar("m",10u#,ex#,0) ; "The rune m" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"b") ;
 top z4 = 0.55[z2,z1] ;
 rt x3 = w - curve_sidebar ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
 y5 = 1/2[y4,y2] ;
 rt x5 = w - 1/2curve_sidebar ;
 draw z4 -- z5 -- z2 ;
endchar ;
 
beginchar("M",10u#,ex#,0); "The rune mb" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w- straight_sidebar ;
 draw_stem(1,2,"b") ;
 top z4 = 0.55[z2,z1] ;
 lft x3 = curve_sidebar ; y3 = 1/2[y4,y1] ;
 draw z1 -- z3 -- z4 ;
 y5 = 1/2[y4,y2] ;
 lft x5 =  1/2curve_sidebar ;
 draw z4 -- z5 -- z2 ;
endchar ;
 
beginchar("t",10u#,ex#,0) ; "The rune t" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 rt x3 = w - curve_sidebar ; y3 = .7[y2,y1] ;
 diag(1,3) ;
endchar ;
 
beginchar("d",10u#,ex#,0) ; "The rune d" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 rt x3 = w - curve_sidebar ; y3 = .7[y2,y1] ;
 diag(1,3) ;
 x4 = x1 ; x5 = x3 ; bot y4 = round (.5[y1,y2]) ; y4 - y1 = y5 - y3 ;
 diag(4,5) ;
endchar ;
 
beginchar("T",10u#,ex#,0) ; "The rune th" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"b") ;
 lft x3 = curve_sidebar ; y3 = .7[y2,y1] ;
 diag(1,3) ;
endchar ;
 
beginchar("D",10u#,ex#,0) ; "The rune dh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"b") ;
 lft x3 = curve_sidebar ; y3 = .7[y2,y1] ;
 diag(1,3) ;
 x4 = x1 ; x5 = x3 ; bot y4 = round(.5[y1,y2]) ; y4 - y1 = y5 - y3 ;
 diag(4,5) ;
endchar ;
 
beginchar("n",17u#,ex#,0) ; "The rune n" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 draw_stem(1,2,"b") ;
 lft x3 = curve_sidebar = w - rt x4 ; y3 = y4 = .7[y2,y1] ;
 diag(1,3) ; diag(1,4) ;
endchar ;
 
beginchar("c",12u#,ex#,0) ; "The rune ch" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 bot y3 = .45[y1,y2] ; x3 = x1 ;
 rt x4 = w - curve_sidebar ; y4 = y2 ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ;
endchar ;
 
beginchar("j",13u#,ex#,0) ; "The rune j" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 bot y3 = .4[y1,y2] ; x3 = x1 ;
 rt x4 = w - curve_sidebar ; y4 = y2 ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ;
 y5 = .5[y2,y3] ; x5 = x1 ; y6 = y4 ; z6 - z5 = whatever*(z4 - z3) ;
 diag(5,6) ;
endchar ;
 
beginchar("C",11u#,ex#,0) ; "The rune sh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 bot y3 = .45[y1,y2] ; x3 = x1 ;
 lft x4 = curve_sidebar ; y4 = y2 ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ;
endchar ;
 
beginchar("J",12u#,ex#,0) ; "The rune zh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 bot y3 = .4[y1,y2] ; x3 = x1 ;
 lft x4 = curve_sidebar ; y4 = y2 ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ;
 y5 = .5[y2,y3] ; x5 = x1 ; y6 = y4 ; z6 - z5 = whatever*(z4 - z3) ;
 diag(5,6) ;
endchar ;
 
beginchar("Y",18u#,ex#,0) ; "The rune nj" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 bot y3 = .45[y1,y2] ; x3 = x1 ;
 y4 = y5 = y2 ; x4 = curve_sidebar = w - x5 ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ; diag(3,5) ;
endchar ;
 
beginchar("k",11u#,ex#,0) ; "The rune k" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 top y3 = .55[y1,y2] ; x3 = x1 ;
 y4 = y1 ; rt x4 = w - curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 35} .. tension 1 .. {dir 80}z4 -- z4 + 0.03em*left ;
endchar ;
 
beginchar("g",12u#,ex#,0) ; "The rune g" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 top y3 = .6[y1,y2] ; x3 = x1 ;
 y4 = y1 ; rt x4 = w - curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 35} .. tension 1 .. {dir 80}z4 -- z4 + 0.03em*left ;
 z5 = .55[z1,z3] ; z6 = .5[z1,z4] ;
 draw z5{dir 40} .. tension 2 .. z6 -- z6 + 0.03em*left ;
endchar ;
 
beginchar("K",11u#,ex#,0) ; "The rune kh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 top y3 = .55[y1,y2] ; x3 = x1 ;
 y4 = y1 ; lft x4 = curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 135} .. tension 1 .. {dir 100}z4 -- z4 + 0.03em*left ;
endchar ;
 
beginchar("G",12u#,ex#,0) ; "The rune gh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 top y3 = .6[y1,y2] ; x3 = x1 ;
 y4 = y1 ; lft x4 = curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 145} .. tension 1 .. {dir 100}z4 -- z4 + 0.03em*left ;
 z5 = .55[z1,z3] ; z6 = .5[z1,z4] ;
 draw z5{dir 145} .. tension 1 .. {dir 100}z6 -- z6 + 0.03em*left ;
endchar ;
 
beginchar("N",16u#,ex#,0) ; "The rune ng" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 top y3 = .55[y1,y2] ; x3 = x1 ;
 y4 = y1 ; lft x4 = curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 145} .. tension 1 .. {dir 100}z4 -- z4 + 0.03em*left ;
 y5 = y4 ; x5 = w - x4 ;
 draw z3{dir 35} .. tension 1 .. {dir 80}z5 -- z5 + 0.03em*left ;
endchar ;
 
beginchar(43,13u#,ex#,0) ; "The rune kw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 rt x4 = w - curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
endchar ;
 
beginchar(39,13u#,ex#,0) ; "The rune gw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 rt x4 = w - curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
 x5 = x1 ; top y5 = .6[y2,y1] ; z5 - z1 = z6 - z3 = z7 - z4 ;
 draw z5 -- z6 ; diag(6,7) ;
endchar ;
 
beginchar(11,13u#,ex#,0) ; "The rune khw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"b") ;
 lft x4 = curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
endchar ;
 
beginchar(7,13u#,ex#,0) ; "The rune ghw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"b") ;
 lft x4 = curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
 x5 = x1 ; top y5 = .6[y2,y1] ; z5 - z1 = z6 - z3 = z7 - z4 ;
 draw z5 -- z6 ; diag(6,7) ;
endchar ;
 
beginchar(14,22u#,ex#,0) ; "The rune ngw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 draw_stem(1,2,"b") ;
 lft x4 = curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
 x6 = w - x4 ; y6 = y4 ; y5 = y3 ; x5 = w - x3 ;
 draw z1 -- z5 ; diag(5,6) ;
endchar ;
 
beginchar(46,13u#,ex#,0) ; "The rune nw" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"") ;
 rt x4 = w - curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
 x6 = x4 ; y6 = h - y4 ; y5 = h - y3 ; rt x5 = round x3 ;
 draw z2 -- z5 ; diag(5,6) ;
endchar ;
 
beginchar("r",10u#,ex#,0) ; "The rune r" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 y3 = .5[y1,y2] ; x3 = x1 ;
 y4 = y1 ; rt x4 = w - curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 45} .. tension 2 .. {dir 80}z4 -- z4 + 0.03em*left ;
 y5 = y2 ; x5 = x4 ;
 draw z3{dir -20} .. z5{dir -80} ;
endchar ;
 
beginchar("R",10u#,ex#,0) ; "The rune rh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 y3 = .5[y1,y2] ; x3 = x1 ;
 y4 = y1 ; lft x4 = curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3{dir 135} .. tension 2 .. {dir 100}z4 -- z4 + 0.03em*left ;
 y5 = y2 ; x5 = x4 ;
 draw z3{dir 200} .. z5{dir -100} ;
endchar ;
 
beginchar("l",12u#,ex#,0) ; "The rune l" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 top y3 = round .85h ; rt x3 = w - curve_sidebar ;
 x4 = w - x3 ; y4 = h - y3 ;
 draw_stem(1,2,"tb") ;
 draw z3{dir -100} .. {dir -100}z4 .. z4 + 0.03em*dir -70 ;
endchar ;
 
beginchar("L",12u#,ex#,0) ; "The rune lh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 top y3 = round .85h ; lft x3 = curve_sidebar ;
 x4 = w - x3 ; y4 = h - y3 ;
 draw_stem(1,2,"tb") ;
 draw z3 + 0.03em*dir70 .. z3{dir -80} .. {dir -100}z4 .. z4 + 0.03em*dir -110 ;
endchar ;
 
beginchar(1,12u#,ex#,0) ; "The rune ng--nd" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 top y3 = round .85h ; lft x3 = curve_sidebar ;
 x4 = w - x3 ; y4 = h - y3 ;
 draw_stem(1,2,"tb") ;
 draw z3 + 0.03em*dir70 .. z3{dir -80} .. {dir -100}z4 .. z4 + 0.03em*dir -110 ;
 top y5 = round .85h ; rt x5 = w - curve_sidebar ;
 x6 = w - x5 ; y6 = h - y5 ;
 draw z5{dir -100} .. {dir -100}z6 .. z6 + 0.03em*dir -70 ;
endchar ;
 
beginchar("s",10u#,ex#,0) ; "The rune s" ;
 pickup main_nib ;
 lft x1 = lft x3 = curve_sidebar = w - rt x2 ;
 top y1 = h = h - bot y3 ; y2 = .5[y1,y3] ;
 diag(2,1) ; diag(2,3) ;
endchar ;
 
beginchar("S",10u#,ex#,0) ; "The rune s---variant" ;
 pickup main_nib ;
 rt x1 = rt x3 = w - curve_sidebar = w - lft x2 ;
 top y1 = h = h - bot y3 ; y2 = .5[y1,y3] ;
 diag(2,1) ; diag(2,3) ;
endchar ;
 
beginchar("z",14u#,ex#,0) ; "The rune z" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x2 = w - rt x4 = lft x3 ;
 top y1 = top y2 = h = h - bot y3 = h - bot y4 ;
 z5 = .5[z1,z4] ;
 diag(5,1) ; diag(5,2) ; diag(5,3) ; diag(5,4) ;
endchar ;
 
beginchar(2,14u#,ex#,0) ; "The rune ng---variant" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x2 = w - rt x4 = lft x3 ;
 top y1 = top y2 = h = h - bot y3 = h - bot y4 ;
 z5 = .5[z1,z4] ;
 diag(5,1) ; diag(5,2) ; diag(5,3) ; diag(5,4) ;
 x1' = x4' = x5 ; y2' = y3' = y5 ;
 top y1' = round .85h = h - bot y4' ;
 z2' - z1' = z4' - z3' = whatever*(z4 - z1) ;
 draw z1' -- z2' -- z4' -- z3' -- cycle ;
endchar ;
 
beginchar(3,15u#,ex#,0) ; "The rune nd" ;
 pickup main_nib ;
 lft x1 = lft x3 = w - rt x2 = w - rt x4 = straight_sidebar ;
 top y1 = top y2 = h - bot y3 = h - bot y4 = h ;
 draw z1 -- z4 -- z2 -- z3 -- cycle ;
endchar ;
 
beginchar(4,14u#,ex#,0) ; "The rune nd---variant" ;
 pickup main_nib ;
 lft x1 = lft x3 = w - rt x2 = w - rt x4 = straight_sidebar ;
 top y1 = top y2 = h - bot y3 = h - bot y4 = h ;
 draw_stem(1,3,"b") ; draw_stem(2,4,"b") ;
 x5 = x1 ; x6 = x2 ; y5 = y6 = .45[y1,y3] ;
 draw z1 -- z6 ; draw z2 -- z5 ;
endchar ;
 
beginchar("i",4u#,ex#,0) ; "The rune i" ;
 pickup main_nib ;
 x1 = x2 = good.x .5w ;
 top y1 = h ; bot y2 = 0 ;
 draw_stem(1,2,"tb") ;
endchar ;
 
beginchar("y", 9u#,ex#,0) ; "The rune y" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = h ; bot y4 = 0 ;
 y2 = good.y .25h ; y3 = good.y .75h ;
 draw_stem(1,2,"t") ; draw_stem(3,4,"b") ; draw z2 -- z3 ;
endchar ;
 
beginchar("H", 9u#,ex#,0) ; "The rune y" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 bot y1 = 0 ; top y4 = h ;
 y2 = good.y .75h ; y3 = good.y .25h ;
 draw_stem(2,1,"b") ; draw_stem(4,3,"t") ; draw z2 -- z3 ;
endchar ;
 
beginchar("u",14u#,ex#,0) ; "The rune u" ;
 pickup main_nib ;
 lft x4 = curve_sidebar = w - rt x2 ;
 x3 = good.x .5w ;
 x1 = good.x .3[x4,x3] = w - x5 ;
 top y3 = h ;
 bot y1 = bot y5 = 0 ;
 y2 = y4 = good.y .6h ;
 diag(2,1) ; diag(4,5) ; draw z2 -- z3 -- z4 ;
endchar ;
 
beginchar("U",10u#,ex#,0) ; "The rune long u" ;
 pickup main_nib ;
 lft x1 = lft x3 = curve_sidebar = w - rt x2 ;
 top y1 = h = h - bot y3 ; y2 = .5[y1,y3] ;
 diag(2,1) ; diag(2,3) ;
 x5 = x1 ; y5 = y2 ; x4 = x6 = x2 ; y4 = y1 ; y6 = y3 ;
 diag(5,4) ; diag(5,6) ;
endchar ;
 
beginchar("w",12u#,ex#,0) ; "The rune w" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x3 ;
 x2 = x4 = x5 = good.x .5w ;
 top y2 = h ; bot y5 = 0 ; y4 = good.y .35h ; y1 = y3 = .5[y2,y4] ;
 draw_stem(4,5,"b") ; draw z1 -- z2 -- z3 -- z4 -- cycle ;
endchar ;
 
beginchar(21,12u#,ex#,0) ; "The rune ue" ;
 pickup main_nib ;
 lft x4 = curve_sidebar = w - rt x2 ;
 x3 = good.x .5w ;
 x1 = good.x .3[x4,x3] = w - x5 ;
 top y3 = h ;
 y1 = y5 = good.y .3h ;
 y2 = y4 = good.y .6[y1,y3] ;
 diag(2,1) ; diag(4,5) ; draw z2 -- z3 -- z4 ;
 z6 = (z2 -- z1) intersectionpoint (z4--z5) ;
 x7 = x6 ; bot y7 = 0 ; draw_stem(6,7,"b") ;
endchar ;
 
beginchar(53,12u#,ex#,0) ; "The rune ue---variant" ;
 pickup main_nib ;
 lft x4 = curve_sidebar = w - rt x2 ;
 x3 = good.x .5w ;
 x1 = good.x .3[x4,x3] = w - x5 ;
 top y3 = h ;
 y1 = y5 = good.y .3h ;
 y2 = y4 = good.y .6[y1,y3] ;
 diag(2,1) ; diag(4,5) ; draw z2 -- z3 -- z4 ;
 z6 = (z2 -- z1) intersectionpoint (z4--z5) ;
 x7 = x6 ; bot y7 = 0 ; draw_stem(3,7,"b") ;
endchar ;
 
beginchar("e",10u#,ex#,0) ; "The rune e" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = top y3 = h ; bot y2 = bot y4 = 0 ;
 draw_stem(1,2,"tb") ; draw_stem(3,4,"tb") ;
 x5 = x1 ; x6 = x3 ; .5[y5,y6] = vround .52h ;
 top y5 = vround .67h ; draw z5 -- z6 ;
endchar ;
 
beginchar("E",10u#,ex#,0) ; "The rune long e" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = top y3 = h ; bot y2 = bot y4 = 0 ;
 draw_stem(1,2,"tb") ; draw_stem(3,4,"tb") ;
 x5 = x7 = x1 ; x6 = x8 = x3 ; .5[y5,y8] = vround .52h ;
 top y5 = vround .8h ;
 top y6 = vround .67h ; y7 - y8 = y5 - y6 ;
 draw z5 -- z6 ;  draw z7 -- z8 ;
endchar ;
 
beginchar("a",10u#,ex#,0) ; "The rune a" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = h ; top y3 = vround .75h ; bot y2 = bot y4 = 0 ;
 draw_stem(1,2,"b") ; draw_stem(3,4,"b") ;
 draw z1 -- z3 ;
endchar ;
 
beginchar("A",10u#,ex#,0) ; "The rune long a" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = h ; top y3 = vround .75h ; bot y2 = bot y4 = 0 ;
 draw_stem(1,2,"b") ; draw_stem(3,4,"b") ;
 draw z1 -- z3 ;
 x5 = x1 ; x6 = x3 ; y5 = vround .6h ; y5 - y6 = y1 - y3 ;
 draw z5 -- z6 ;
endchar ;
 
beginchar("o",12u#,ex#,0) ; "The rune o" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x3 ; x2 = good.x .5w ;
 bot y1 = bot y3 = 0 ; top y2 = h ;
 diag(2,3) ; diag(2,1) ;
endchar ;
 
beginchar("O",16u#,ex#,0) ; "The rune long o" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x6 ;
 rt x3 = hround .7w = w - lft x4 ;
 x2 = good.x .5[x1,x3] ; x5 = good.x .5[x4,x6] ;
 top y2 = top y5 = h ;
 bot y1 = 0 ; y1 = y3 = y4 = y6 ;
 diag(2,1) ; diag(2,3) ; diag(5,4) ; diag(5,6) ;
endchar ;
 
beginchar(15,15u#,ex#,0) ; "The rune long o---variant" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x4 = w - rt x5 ;
 x3 = good.x .5[x1,x4] ;
 top y1 = top y4 = h ; bot y2 = bot y5 = 0 = bot y3 ;
 draw_stem(1,2,"b") ; draw_stem(4,5,"b") ; draw z1 -- z3 -- z4 ;
endchar ;
 
beginchar(47,12u#,ex#,0) ; "The rune oe" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x3 ; x2 = good.x .5w ;
 bot y1 = bot y3 = 0 ; top y2 = h ;
 diag(2,3) ; diag(2,1) ;
 x4 = x2 ; y4 = y1 ; draw_stem(2,4,"b") ;
endchar ;
 
beginchar("0",12u#,ex#,0) ; "The rune oe---variant" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x3 ; x2 = good.x .5w ;
 bot y1 = bot y3 = 0 ; top y2 = h ;
 diag(2,3) ; diag(2,1) ;
 x4 = x2 = x5 ; top y4 = vround .4h ; y5 = y1 ; draw z4 -- z5 ;
endchar ;
 
beginchar(5,12u#,ex#,0) ; "The rune n---another one" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x3 ;
 x2 = x4 = good.x .5w ;
 top y1 = top y3 = h ; bot y4 = 0 ; y2 = good.y .45h ;
 draw_stem(2,4,"b") ; diag(1,2) ; diag(2,3) ;
endchar ;
 
beginchar("h",12u#,ex#,0) ; "The rune h" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x3 ;
 x2 = x4 = good.x .5w ;
 bot y1 = bot y3 = 0 ; top y4 = h ; y2 = good.y .55h ;
 draw_stem(4,2,"t") ; diag(1,2) ; diag(2,3) ;
endchar ;
 
beginchar(6,8u#,ex#,0) ; "The cup rune" ;
 pickup main_nib ;
 lft x1 = lft x2 = lft x3 = straight_sidebar ; rt x4 = w - curve_sidebar ;
 top y1 = h ; bot y2 = 0 ; .5[y3,y4] = vround .52h ; top y3 = vround .7h ;
 draw_stem(1,2,"tb") ; diag(3,4) ;
endchar ;
 
beginchar(8,8u#,ex#,0) ; "The evanescent cup rune" ;
 pickup main_nib ;
 lft x3 = curve_sidebar ; rt x4 = w - curve_sidebar ;
 .5[y3,y4] = vround .52h ; top y3 = vround .7h ;
 diag(3,4) ; diag(4,3) ;
endchar ;
 
beginchar(9,8u#,ex#,0) ; "The schwa rune" ;
 pickup main_nib ;
 rt x1 = rt x2 = rt x3 = w - straight_sidebar ; lft x4 = curve_sidebar ;
 top y1 = h ; bot y2 = 0 ; .5[y3,y4] = vround .52h ; top y3 = vround .7h ;
 draw_stem(1,2,"tb") ; diag(3,4) ;
endchar ;
 
beginchar(10,8u#,ex#,0) ; "The evanescent schwa rune" ;
 pickup main_nib ;
 rt x3 = w - curve_sidebar ; lft x4 = curve_sidebar ;
 .5[y3,y4] = vround .52h ; top y3 = vround .7h ;
 diag(3,4) ; diag(4,3) ;
endchar ;
 
beginchar(16,10u#,ex#,0) ; "The rune ps" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 bot y4 = vround 0.2[y2,y1] ; top y5 = vround .8[y2,y1] ;
 x4 = x1 ; x5 = x2 ;
 rt x3 = w - curve_sidebar ; y3 = 1/2[y4,y5] ;
 draw z5 -- z3 -- z4 ;
endchar ;
 
beginchar(20,10u#,ex#,0) ; "The rune ts" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; rt x1 = rt x2 = w - straight_sidebar ;
 draw_stem(1,2,"tb") ;
 bot y4 = vround 0.2[y2,y1] ; top y5 = vround .8[y2,y1] ;
 x4 = x5 = x1 ;
 lft x3 = curve_sidebar ; y3 = 1/2[y4,y5] ;
 draw z5 -- z3 -- z4 ;
endchar ;
 
beginchar(12,4u#,ex#,0) ; "The aspiration rune" ;
 pickup main_nib ;
 x1 = x2 = good.x .5w ;
 bot y2 = vround .3h ; top y1 = vround .75h ;
 draw_stem(1,2,"tb") ;
endchar ;
 
beginchar("&",8u#,ex#,0) ; "The ampersand rune" ;
 pickup main_nib ;
 x1 = x2 = good.x .5w ; lft x3 = curve_sidebar = w - rt x4 ;
 top y1 = h ; bot y2 = 0 ;
 bot y3 = vround .7h = h - top y4 ;
 draw_stem(1,2,"") ; diag(1,3) ; diag(2,4) ;
endchar ;
 
beginchar(18,11u#,ex#,0) ; "The OE rune wyn" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 top y3 = .55[y1,y2] ; x3 = x1 ;
 y4 = y1 ; rt x4 = w - curve_sidebar ;
 draw_stem(1,2,"tb") ;
 draw z3 -- z4 -- z1 ;
endchar ;
 
beginchar(19,15u#,ex#,0) ; "The OE rune daeg---variant" ;
 pickup main_nib ;
 lft x1 = lft x3 = w - rt x2 = w - rt x4 = straight_sidebar ;
 top y1 = top y2 = h - bot y3 = h - bot y4 = h ;
 draw z1 -- z4 -- z2 -- z3 -- cycle ; draw z1 -- z2 ; draw z3 -- z4 ;
endchar ;
 
beginchar(22,13u#,ex#,0) ; "The OE rune ac" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 draw_stem(1,2,"tb") ;
 rt x4 = w - curve_sidebar ; x3 = .5[x1,x4] ; y4 = y1 ; y3 = .7[y2,y1] ;
 draw z1 -- z3 ; diag(3,4) ;
 x5 = x1 ; top y5 = .6[y2,y1] ; z5 - z1 = z6 - z3 = z7 - z4 ;
 diag(5,6) ;
endchar ;
 
beginchar(23,14u#,ex#,0) ; "The OE rune yr" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = h ; top y3 = vround .75h ; bot y2 = bot y4 = 0 ;
 draw_stem(1,2,"b") ; draw_stem(3,4,"b") ;
 draw z1 -- z3 ;
 x5 = x1 ; x6 = x3 ; y5 = vround .6h ; y5 - y6 = y1 - y3 ;
 draw z5 -- z6 ;
 z7 = .5[z5,z6] ; x7 := good.x x7 ; x8 = x7 ; y8 = y2 ; draw_stem(7,8,"b") ;
endchar ;
 
beginchar(24,13u#,ex#,0) ; "The OE rune calc" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar ; top y1 = h ; bot y2 = 0 ;
 draw_stem(1,2,"tb") ;
 .5[y3,y4] = vround .52h ; bot y3 = vround .4h ;
 x3 = x1 ;
 rt x5 = w - curve_sidebar ; y5 = y2 ; x4 = .5[x3,x5] ;
 draw z3 -- z4 ; diag(4,5) ;
endchar ;
 
beginchar(25,12u#,ex#,0) ; "The OE rune feoh" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; lft x1 = lft x2 = straight_sidebar ;
 top y3 = .6[y1,y2] ; x3 = x1 ;
 y4 = y1 ; rt x4 = w - curve_sidebar ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ;
 z5 = .55[z1,z3] ; z6 = .5[z1,z4] ;
 diag(5,6) ;
endchar ;
 
beginchar(26,14u#,ex#,0) ; "The Ereborian rune ai" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 top y1 = h ; top y3 = vround .75h ; bot y2 = bot y4 = 0 ;
 draw_stem(1,2,"b") ; draw_stem(3,4,"b") ;
 draw z1 -- z3 ;
 x5 = x1 ; x6 = x3 ; y5 = vround .6h ; y5 - y6 = y1 - y3 ;
 z7 = .5[z5,z6] ; x7 := good.x x7 ; x8 = x7 ; y8 = y2 ; draw_stem(7,8,"tb") ;
endchar ;
 
beginchar(27,14u#,ex#,0) ; "The Ereborian ea rune" ;
 pickup main_nib ;
 lft x1 = lft x2 = straight_sidebar = w - rt x3 = w - rt x4 ;
 bot y2 = bot y4 = 0 ; y1 = y3 = good.y .5h ;
 draw_stem(1,2,"b") ; draw_stem(3,4,"b") ;
 x5 = good.x .5w ; top y5 = h ; x6 = x5 ; y6 = y2 ;
 draw z1 -- z5 -- z3 ; draw_stem(5,6,"b") ;
endchar ;
 
beginchar(28,13u#,ex#,0) ; "The Ereborian ew rune" ;
 pickup main_nib ;
 lft x1 = lft x3 = w - rt x2 = w - rt x4 = straight_sidebar ;
 top y1 = top y2 = h - bot y3 = h - bot y4 = h ;
 draw_stem(1,3,"b") ; draw_stem(2,4,"b") ;
 x5 = x7 = x1 ; x6 = x8 = x2 ; y5 = y6 = .75[y1,y3] = h - y7 = h - y8 ;
 draw z5 -- z8 ; draw z7 -- z6 ;
endchar ;
 
beginchar(29,16u#,ex#,0) ; "The rune number 4" ;
 pickup main_nib ;
 lft x1 = curve_sidebar = w - rt x6 ;
 rt x3 = hround .7w = w - lft x4 ;
 x2 = good.x .5[x1,x3] ; x5 = good.x .5[x4,x6] ;
 bot y2 = bot y5 = 0 ;
 top y1 = h ; y1 = y3 = y4 = y6 ;
 diag(2,1) ; diag(2,3) ; diag(5,4) ; diag(5,6) ;
endchar ;
 
beginchar(30,16u#,ex#,0) ; "The rune number 5" ;
 pickup main_nib ;
 top y1 = h ; bot y2 = 0 ; x1 = x2 = good.x .5w ;
 top y3 = .55[y1,y2] ; x3 = x1 ;
 y4 = y1 ; lft x4 = curve_sidebar ;
 draw_stem(1,2,"tb") ;
 diag(3,4) ;
 y5 = y4 ; x5 = w - x4 ;
 diag(3,5) ;
endchar ;

end.
