%
%    dnchars.mf v2.12 alpha 10
%
%    METAFONT source file for Devanagari fonts
%    Copyright (C) 1991-2005 University of Groningen, The Netherlands
%
%    Author     : Frans J. Velthuis <velthuis@rc.rug.nl>
%    Maintainer : Anshuman Pandey <apandey@u.washington.edu>
%                 Kevin Carmody <i@kevincarmody.com>
%    Date       : 26 March 2005
%
%    This program is free software; you can redistribute it and/or modify
%    it under the terms of the GNU General Public License as published by
%    the Free Software Foundation.
%
%    This program is distributed in the hope that it will be useful,
%    but without any warranty; without even the implied warranty of
%    merchantability or fitness for a particular purpose. See the
%    GNU General Public License for more details.
%
%    o 2005.03.26 Anshuman Pandey
%      - Modified avagraha to remove gap in the top-line
%      - Modified comments
%
%    o 2005.03.15 Anshuman Pandey
%      - Modified alternate 9
%      - Revised character descriptions to match Velthuis encodings
%
%    o 2005.03.02 Kevin Carmody
%      - Added height and depth values to sub-letters .R, .l, .L
%      - Modified vertical position of the hyphen
%
%    o 2004.04.08 Anshuman Pandey
%      - Added alternate forms of numerals 1 and 9
%      - Added character tests for numerals 1 and 9
%
%    o 2004.03.14 Anshuman Pandey
%      - Added Nepali jha and half-jha forms, alternate initial .l and .L
%      - Added character tests for Nepali jha, .l, and .L
%
%    o 2004.02.28 Anshuman Pandey
%      - Deleted "sba from position "9B
%      - Added regular and alternate forms of .n.na at position "9B
%      - Deleted redundant j~na from position "2B
%      - Added open-ya at position "2B
%
%    o 2004.02.13 Anshuman Pandey
%      - Revised alternate forms of .na and half-.na
%      - Added alternate forms of numerals 5 and 8
%      - Added character tests for numerals 5 and 8
%
%    o 2004.02.09 Anshuman Pandey
%      - Modified alternate forms of jha, half-jha, cha, chya, 
%      - Modified alternate forms of initial .r, initial .R, front-a
%      - Added alternate forms of la, lla, "sa, half-"sa
%      - Added character tests for la and "sa
%
%    o 2003.07.01 Kevin Carmody
%      - Added alternate forms of front-a, initial .r, initial .R
%      - Added alternate forms of k.sa, half-k.sa, chya, "nk.sa, "nk.sva, cha
%      - Added alternate forms of j~na, half-j~na, jha, half-jha, .na, half-.na, h.na
%      - Added character tests for front-a, .r, .R, cha, jha, .na, k.sa, chya, j~na, h.na
%
%    o 1999.12.11 Anshuman Pandey
%      - Modified ka, half-ka, qa, half-qa, la, half-la, lla, "sla, ha, hra
%
%    o 1999.03.06 Anshuman Pandey and Charles Wikner
%      - Modified hna, hla, hva
%
%    o 1998.01.01 Dominik wujastyk
%      - Added hyphen
%

if alta:
  beginchar("a",1.52twd#+brm#,ht#,0); "front-a"; % alternate
     frame;
     z5=(.51(w-brm),h);
     z6=(.52(w-brm),.57h);
     z7=(x3,.55h);
     draw z5..tension1.4..z6..z7;
     pickup sub_pen;
     z8=(x5,y7);
     z9=(1/2penwd,.65h);
     z10=(.15w,.3h);
     z11=z7-(1/2penwd,3/4penwd);
     z12=4/3(z10-z6)+z11;
     draw z8{dir120}..z9;
     draw z8--z10;
     draw z11--z12;
  endchar;
else:
  beginchar("a",1.52twd#+brm#,ht#,0); "front-a"; % original
     path p; path q;
     awd = 1.6twd-rm;
     aframe;
     z5=(1/2penwd,.90h);
     z6=(.76awd,.85h);
     z7=(.32awd,.57h);
     p = z5{curl0}..tension1.2..z6..tension1.2..{curl0.3}z7;
     z8= point 1.6 of p;
     z9 = (.54awd,.15h);
     z10 = (1/2penwd,.50h);
     q = z8..z9{left}..{curl0}z10;
     z11= point 0.40 of q;
     z12= (w-brm,y11+0.1h);
     draw p; draw q;
     draw z11{right}..z12;
  endchar;
fi;

beginchar("A",2rm#,ht#,0); "aa matra";
   frame;
endchar;

beginchar("i",13/17twd#+rm#+penwd#,ht#,0); "front-i";
   % this shape is used for several other characters
   pickup frame_pen;
   z1=(0,h); z2=(w,h); z3=(w-rm-penwd,h);
   z4=(x3,.74h); z5=(1/2penwd,.6h);
   z6=(x3+1/2penwd,.37h);
   z7=(1/2x3,1/7h);
   z9=(penwd,3/14h);
   z8=(x3+penwd,-1/7h);
   draw z1--z2; draw z3--z4;
   draw z4{left}..z5{down}..z6{down}..z7{left}..z9{dir40}..{curl0}z8;
endchar;

beginchar("I",13/17twd#+rm#+penwd#,ht#,0); "front-ii";
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   z3=(w-rm-penwd,h);
   z4=(x3,.74h); z5=(1/2penwd,.6h);
   z6=(x3+1/2penwd,.37h);
   z7=(1/2x3,1/7h);
   z9=(penwd,3/14h);
   z8=(x3+penwd,-1/7h);
   draw z1--z2; draw z3--z4;
   draw z4{left}..z5{down}..z6{down}..z7{left}..z9{dir40}..{curl0}z8;
   z10=(x3,1.5h-1/2penwd);
   z11=(x3+.17h,1.35h);
   z12=(x3-1/2penwd,y3+penwd);
   draw z12..z10{right}..z11;
endchar;

beginchar("E",2rm#,1.5ht#,0); "i";
   frame;
   z5=(x3,1.35ht);
   z6=(w-.5rm+.6twd,1.35ht);
   x7=.3[x5,x6]; y7=1.5ht;
   draw z3--z5{up}..z7{right}..{curl0}z6;
endchar;

beginchar("F",2rm#,1.5ht#,0); "ii";
   frame; z5=(-1.5rm-penwd,1.25ht);
   z6=(1/2x5,1.5ht);
   draw z3{curl0}..{left}z6...z5;
endchar;

beginchar("u",1.07twd#+rm#,ht#,0); "front-u";
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   lm:=w-rm;
   z3=(.84lm,h); z4=(.4lm,.55h);
   z5=(.64lm,y4);
   z6=(x5,1/2penwd);
   z7=(1/2penwd,1/2h);
   draw z1--z2;
   draw z4--z5{right}..tension1.1..z3;
   draw z5..z6{left}..{curl.4}z7;
endchar;

beginchar("U",1.7twd#+rm#,ht#,0); "front-uu";
   % depends on definition of u
   path p;
   uwd=1.07twd;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   z3=(.84uwd,h); z4=(.4uwd,.55h);
   z5=(.64uwd,y4);
   z6=(x5,1/2penwd);
   z7=(1/2penwd,1/2h);
   draw z1--z2;
   draw z4--z5{right}..tension1.1..z3;
   p= z5..z6{left}..{curl.4}z7;
   draw p;
   z8= point .5 of p;
   z10=(w-rm,y8);
   z9=(1/2[x8,x10],1.7y8);
   z11=(3/4[x8,x10],1/2penwd);
   draw z8..z9{right}..z10{down}..tension1.1..{curl0}z11;
endchar;

% beginchar(0,0,ht#,0); "u matra"; % original
beginchar(0,0,.1ht#,.25ht#); "u matra"; % revision
   pickup sub_pen;
   z1= (-1/4uwidth,mb-(penwd+1/8uwidth));
   z2= (0,mb-penwd);
   z3= (1/4uwidth,mb-(penwd+1/4uwidth));
   z4= (-3/4uwidth,mb-penwd);
   draw z1..z2{right}..z3{down}..tension1.1..{curl0}z4;
endchar;

% beginchar(1,0,ht#,0); "uu matra"; % original
beginchar(1,0,.1ht#,.325ht#); "uu matra"; % revision
   pickup sub_pen;
   z1= (0,mb-(penwd+3/8uwidth));
   lft z2= (-1/2uwidth,mb-(penwd+1/8uwidth));
   z3= (0,mb-penwd);
   z4= (1/2uwidth,mb-(penwd+1/2uwidth));
   draw z1..tension1.2..z2..z3..{curl0}z4;
endsav;

% beginchar(2,0,ht#,0); ".r matra"; % original
beginchar(2,0,.1ht#,.275ht#); ".r matra"; % revision
   pickup sub_pen;
   z1=(2/14uwidth,mb-penwd);
   z2=(-9/28uwidth,mb-(penwd+3/14uwidth));
   z3=(9/28uwidth,mb-(penwd+3/7uwidth));
   draw z1{left}..tension1.2..z2{down}..tension1.2..{curl.2}z3;
endchar;

beginchar("e",twd#+1.5rm#,ht#,0); "e";
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x penwd; y3=h;
   x4=good.x w-1.5rm; y4=h;
   z5=(x3,.28h); z6=(x4,.48h);
   z7=(w-.5rm-penwd,-.22h);
   z8=(x7-0.1h,y7-0.2h);
   z9=(x6-1/6h,y6-1/6h);
   draw z1--z2; draw z3--z5---z7..z8;
   draw z4---z6..z9;
endchar;

beginchar(3,.9twd#+brm#,1.5ht#,0); "e matra";
   pickup frame_pen;
   z1=(w-brm,ht+penwd);
   z2=(0,1.5ht);
   draw z1{curl.5}..{left}z2;
endchar;

beginchar("{",.9twd#+brm#,1.5ht#,0); "ai matra";
   pickup frame_pen;
   z1=(w-brm,ht+penwd);
   z2=(0,1.35ht);
   z3=(penwd,1.55ht);
   draw z1{curl.5}..{left}z2;
   draw z1{curl.5}..{left}z3;
endchar;

beginchar("o",2rm#,1.5ht#,0); "o";
   frame;
   z5=(.5rm-.9twd,1.5ht);
   draw z3{curl.5}..{left}z5;
endchar;

beginchar("O",2rm#,1.5ht#,0); "au";
   frame;
   z5=(.5rm-.9twd,1.35ht);
   z6=(.5rm-.9twd+penwd,1.55ht);
   draw z3..{left}z5;
   draw z3..{left}z6;
endchar;

% beginchar("k",23/16twd#+rm#,ht#,0); "ka"; % original
%    italcorr rm#+.65twd#;
%    pickup frame_pen;
%    lm:=w-rm;
%    z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
%    z4=(x3,0); draw z1--z2; draw z3--z4;
%    z5=(x3,.6h);
%    z6=(1/2penwd,.55h);
%    z7=(x3,.5h);
%    z8=(lm,.5h);
%    z9=(.94lm,.1h);
%    draw z5..tension1.3..z6{down}..tension1.3..z7;
%    draw z7{curl.5}..z8{down}..tension1.3..z9;
% endchar;

beginchar("k",23/16twd#+rm#,ht#,0); "ka"; % revision
   italcorr rm#+.65twd#;
   pickup frame_pen;
   lm:=w-rm;
   z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
   z4=(x3,0); draw z1--z2; draw z3--z4;
   z5=(x3,.6h);
   z6=(1/2penwd,.47h);
   z7=(x3,.5h);
   z8=(lm,.45h);
   z9=(.94lm,.1h);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
   draw z7{curl.5}..z8{down}..tension1.3..z9;
endchar;

beginchar("K",1.36twd#+brm#,ht#,0); "kha";
   italcorr brm#;
   frame; path p;
   % uses definition of r and k;
   z5=(1/2penwd,.65h);
   z6=(.8twd,0);
   p= z5{down}..tension1.1..{curl0}z6;
   z7=point .2 of p;
   z8= (.424twd,h);
   draw p;
   draw z8{curl0}..tension1.1..{left}z7;
   z9=(w-brm,.55h);
   z10=(w-brm-.55(23/16twd)+1/2penwd,.5h);
   z11=(w-brm,.45h);
   draw z9..tension1.3..z10{down}..tension1.3..z11;
endchar;

beginchar("g",1.1twd#+brm#,ht#,0); "ga";
   italcorr brm#; path p;
   frame; z5=(.25(w-brm),h);
   z6=(x5,.3h);
   z7=2/3[z5,z6];
   z8=z7 shifted (.1(w-brm),0);
   z9= (1/2penwd,y6+.08h);
   p = z5..z8{down}..z6{left}..z9{up};
   z10 = point 2.4 of p;
   draw p..z10;
endchar;

beginchar("c",1.2twd#+brm#,ht#,0); "ca";
   italcorr brm#;
   frame; y5 = good.y .65h; x5 = 1/2penwd;
   z6 = (w-brm-penwd,y5);
   z9 = (.44x3,y5);
   z7 = (.55x3,.3h);
   z8 = (w-brm,.4h);
   draw z5--z6; draw z9{curl.5}..z7{right}..z8;
endchar;

if altcha:
  beginchar("C",1.8twd#+rm#,ht#,0); "cha"; % alternate
     italcorr rm#+.9twd#;
     lm:=w-rm; path p;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     draw z1--z2;
     x3=good.x .75lm; y3=h; z4=(x3,.72h);
     z5=(.9lm,-.2h); z6=(lm,-penwd);
     z7=(.38lm,0); z8=(.5lm,.45h);
     z12=(x3,.32h);
     p= z12..tension1.3..z4{right}..z7{left}..tension.9..{right}z8;
     draw p;
     z9= (.4lm,.44h);
     z10=(.8x8,.75h);
     z11= (1/2penwd,.7[y9,y10]);
     draw z9..tension1.4..z11{up}..tension1.3..{curl0}z10;
  endchar;
else:
  beginchar("C",1.8twd#+rm#,ht#,0); "cha"; % original
     italcorr rm#+.9twd#;
     lm:=w-rm; path p;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     draw z1--z2;
     x3=good.x .75lm; y3=h; z4=(x3,.72h);
     z5=(.9lm,-.2h); z6=(lm,-penwd);
     z7=(.38lm,0); z8=(.5lm,.45h);
     z12=(x3,.32h);
     draw z3--z4;
     p= z5---z6..z12..tension.9..z4{right}..z7{left}..tension.9..{right}z8;
     draw p;
     z9=point 4.75 of p;
     z10=(.8x8,.75h);
     z11= (1/2penwd,.7[y9,y10]);
     draw z9..tension1.4..z11{up}..tension1.3..{curl0}z10;
  endchar;
fi;

beginchar("j",1.4twd#+brm#,ht#,0); "ja";
   italcorr brm#;
   frame;
   y5 = good.y .66h; x5 = 1/2penwd;
   z7 = (.45x3,y5);
   z8 = (w-brm,y5);
   y6 = good.y .17h; x6 = .52x3;
   draw z5{curl.5}..tension1.2..z6{right}..{curl0}z7--z8;
endchar;

beginchar(26,1.2twd#+brm#,ht#,0); "~na";
   italcorr brm#;
   frame;
   z5=(.16(w-brm),.7h);
   z6=(.5(w-brm),.5h);
   z7=(.22(w-brm),.2h);
   z8=(w-brm,y6);
   z9=(1/2penwd,.4h);
   draw z5..z6{down}..z7..{curl.2}z9;
   draw z6{dir-20}..z8;
endchar;

beginchar("V",1.15twd#+rm#,ht#,0); ".ta";
   italcorr rm#+.5twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm := w-rm;
   x3=good.x .7lm; y3=h;
   z4=(x3,.66h);
   z6=(.55lm,.1h);
   z7=(lm,.2h);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..(1/2penwd,y)..z6{right}..{curl0}z7) < 0 enddef;
   z55=(1/2penwd,solve dwn(y4,y6));
   draw z4{curl0}..z55..z6{right}..{curl0}z7;
endchar;

beginchar("W",1.15twd#+rm#,ht#,0); ".tha";
   italcorr rm#+.5twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm:= w-rm;
   x3=good.x .75lm; y3=h;
   z4=(x3,.66h);
   z6=(.55lm,.1h);
   z7=(lm,y5);
   z8=(x4+penwd,y4-penwd);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..(1/2penwd,y)..{right}z6) < 0 enddef;
   z5 = (1/2penwd,solve dwn(y4,y6));
   draw z4{curl0}..z5..z6{right}..z7{up}..{curl0}z8;
endchar;

if altna:
  beginchar("Z",1.5twd#+brm#,ht#,0); ".na"; % alternate
     italcorr brm#;
     frame;
     x9 = good.x w-1.80brm; y9 = ht;
     z10 = (x9,.25ht);
     draw z9--z10;
     path p;
     r :=.50;
     z5=(r*(1/2penwd+1/2rm),.65h);
     z6=(x9,0);
     p = z5{down}..tension1.1..{curl0}z6;
     z7=point .2 of p;
     z8=(r*.53(w-.5rm),h);
     draw p; draw z8{curl0}..tension1.1..{left}z7;
  endchar;
else:
  beginchar("Z",1.1twd#+brm#,ht#,0); ".na"; % original
     italcorr brm#;
     frame;
     x5=good.x 1/2penwd; y5=h;
     z6=(x5,.55h);
     z7=(1/2[x5,x8],.3h);
     x8=good.x .65twd; y8=y6;
     z9=(x8,h);
     draw z5---z6..z7{right}..z8---z9;
  endchar;
fi;

beginchar("t",twd#+brm#, ht#, 0); "ta";
   italcorr brm#;
   frame; y5 = good.y 2/3h; x5 = x3;
   z6 = (0.35x3,y5); z7 = (0.55x3,0);
   draw z5---z6..{curl0}z7;
endchar;

beginchar("T",1.1twd#+brm#,ht#,0); "tha";
   italcorr brm#;
   tframe; path p;
   z5=(1/2penwd,.55h);
   z6=(x3,.55h);
   z7=(.25x3,h);
   draw z5{dir-70}..tension.95..z6;
   p=z5{right}..{left}z7;
   z8=point .4 of p;
   draw p..tension.95..{curl.2}z8;
endchar;

beginchar("d",5/6twd#+brm#,ht#,-.14ht#); "da";
   italcorr brm#+.15twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.53h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot+90)));
   y8=0; z8=z7+whatever*dir305;
   draw z1--z2; draw z3--z4;
   draw z4{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6;
   pickup penrazor scaled subthick;
   draw z7--z8;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
endchar;

beginchar("D",1.1twd#+brm#,ht#,0); "dha";
   italcorr brm#;
   path p;
   tframe;
   z5=(x3,.5h);
   z6=(.65x3,.65h);
   z10=(.18x3,.5h);
   p=z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7= point 1.7 of p;
   z8=(.26x3,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9=(1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
endchar;

if altjha:
  beginchar("J",1.6twd#+brm#,ht#,0); "jha";  % alternate
     italcorr brm#;
     pickup frame_pen;
     z1=(w-brm-1.95rm,h); z2=(w,h);
     z3=(1.1twd,h); z4=(x3,0);
     draw z1--z2; 
     draw z3--z4;
     z5=(0,h);
     z6=(3/2penwd+.1twd,.76h);
     z7=(3/2penwd+.1twd,.34h);
     z8=(x3,y7+penwd);
     z9=(x7-1/2penwd,y7+1/2penwd);
     z10=(1twd+0.5penwd,y8);
     draw z5{right}..tension.95..z6---z7;
     draw (reverse halfcircle rotated rot scaled usthick shifted z9)--z8;
     z11=(x10+0.58twd,.35h);
     z12=(x10+0.5twd,.05h);
     draw z10{curl.5}..z11{down}..tension1.3..z12;
  endchar;
elseif nepalijha:
  beginchar("J",1.6twd#+brm#,ht#,0); "jha"; % Nepali alternate
     italcorr brm#;
     pickup frame_pen;
     z1 = (0,ht); 
     z2 = (w,ht);
     draw z1--z2; 
     x3 = good.x w-brm; y3 = ht; 
     z4 = (x3,0);
     lm:= w-brm;
     z5=(.45lm,h);
     z6=(.53lm,.65h);
     z90=(.2lm,.42h);
     z91=(penwd,.75h);
     draw z5..tension1.1..z6{down}..tension1.1..z90..tension1.3..z91;
     z8=(.63lm,.05h);
     z9=(.59lm,.12h);
     z10=(.95lm,-.1h);
     z11=(.53lm,.57h);
     z12=(.82lm,.67h);
     z13=(lm,.3h);
     draw z11..z12{right}..z13..{left}z8..z9..tension1.4..{curl0}z10;
  endchar;
else:
  beginchar("J",1.45twd#+brm#,ht#,0); "jha"; % original
     italcorr brm#;
     path p; frame;
     % uses definition of i !!!
     x5=good.x 13/17twd; y5=h;
     z6=(x5,.74h);
     z7=(1/2penwd,.6h);
     z8=(x5+1/2penwd,.37h);
     z9=(1/2x5,1/7h);
     z10=(x5+penwd,-1/7h);
     z11=(penwd,3/14h);
     p = z6{left}..z7{down}..z8{down}..z9{left}..z11{dir40}..{curl0}z10;
     z12=point 1.86 of p;
     z13=(w-brm,y12+0.08h);
     draw z5--z6; draw p;
     draw z12{right}..z13;
  endchar;
fi;

beginchar("X",13/17twd#+.25twd#+rm#+penwd#,ht#,-.1ht#); ".da";
   italcorr rm#+.5twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x w-rm-penwd; y3=h;
   z4=(x3,.74h); z5=(.25twd+1/2penwd,.6h);
   z6=(x3+1/2penwd,.37h);
   z7=(1/2(.25twd+x3),1/7h);
   z8=(1/2penwd,.45h);
   draw z1--z2; draw z3--z4;
   draw z4{left}..z5{down}..z6{down}..z7{left}..z8;
endsav;

beginchar("Y",1.1twd#+rm#,ht#,0); ".dha";
   italcorr rm#+.3twd#;
   path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3=good.x .85(w-rm); y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.47h);
   z6=(.7(w-rm),1/2penwd);
   z7=(w-rm,.23h);
   draw z3--z4;
   p=z4{left}..tension.9..{down}z5..tension.9..{right}z6..{up}z7;
   z8=point 1.91 of p;
   draw p..z6;
endchar;

beginchar("R",13/17twd#+.25twd#+rm#+2penwd#,ht#,-.1ht#); "'na";
   italcorr rm#+.5twd#;
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z9=(w-rm,.45h+.8penwd); sqdot(z9);
   addpic(ASCII "X");
endchar;

beginchar("w",13/17twd#+.25twd#+rm#+penwd#,ht#,2penwd#); "Ra";
   italcorr rm#+.5twd#;
   z9=(11/17twd+1/2penwd,-penwd); sqdot(z9);
   addpic(ASCII "X");
endchar;

beginchar("n",twd#+brm#,ht#,0); "na";
   italcorr brm#;
   frame;
   y6 = good.y 7/12h; x6 = twd;
   y5 = y6 - .75penwd; x5 = 1.25penwd;
   filldraw fullcircle scaled 1.5penwd shifted(x5,y5);
   z7 = (x5,y6);
   draw z6--z7;
endchar;

beginchar("p",.9twd#+brm#,ht#,0); "pa";
   italcorr brm#;
   frame;
   z5=(penwd,h);
   z6=(w-brm,.53h);
   x7=x5+.15(w-brm);
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
endchar;

beginchar("P",1.55twd#+rm#,ht#,0); "pha";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x .9twd; y3=h; z4=(x3,0);
   draw z1--z2; draw z3--z4;
   z5=(penwd,h);
   z6=(x3,.53h);
   x7=x5+.15x3;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z8=(w-rm,.5h);
   z9=(.94(w-rm),.1h);
   draw z6{curl.5}..z8{down}..tension1.3..z9;
endchar;

beginchar("b",11/12twd#+brm#,ht#,0); "ba";
   italcorr brm#;
   path p; frame;
   z5=(x3,.52h);
   z6=(1/2penwd,.5h);
   z7=(x3,.48h);
   p=z5..tension1.3..z6{down}..tension1.3..z7;
   y8=h; z9=(.58x3,.5h);
   z8=z9 + whatever*dir125;
   y10=0;
   z10=z9 + whatever*dir305;
   z11= p intersectionpoint (z9--z8);
   z12= p intersectionpoint (z9--z10);
   draw p; draw z11--z12;
endchar;

beginchar("B",1.1twd#+brm#,ht#,0); "bha";
   italcorr brm#;
   tframe;
   z5=(0,h);
   z6=(3/2penwd+.1twd,.76h);
   z7=(3/2penwd+.1twd,.34h);
   z8=(x3,y7+penwd);
   z9=(x7-1/2penwd,y7+1/2penwd);
   draw z5{right}..tension.95..z6---z7;
   draw (reverse halfcircle rotated rot scaled usthick shifted z9)--z8;
endchar;

beginchar("m",1.1twd#+brm#,ht#,0); "ma";
   italcorr brm#;
   frame; x5=good.x 3/2penwd; y5=h;
   z6=(x5,y7-penwd);
   y7=good.y .35h+penwd; x7=x3;
   z8=(x6-1/2penwd,y6+1/2penwd);
   draw z5--z6;
   draw (reverse halfcircle rotated rot scaled usthick shifted z8)--z7;
endchar;

beginchar("v",11/12twd#+brm#,ht#,0); "va";
   italcorr brm#;
   frame; z5=(x3,.52h);
   z6=(1/2penwd,.5h);
   z7=(x3,.48h);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
endchar;

beginchar("y",1.1twd#+brm#,ht#,0); "ya";
   italcorr brm#;
   frame;
   z5=(1/2penwd,.55h);
   z6=(x3,.55h);
   z7=(.3x3,h);
   draw z5{dir-70}..tension.95..z6;
   draw z5{right}..tension.95..z7;
endchar;

beginchar("r",.8twd#+1.5rm#,ht#,0); "ra";
   italcorr 1.5rm#;
   path p;
   z1=(0,h); z2=(w,h);
   pickup frame_pen;
   draw z1--z2;
   z5=(1/2penwd+1/2rm,.65h);
   z6=(w-rm,0);
   p = z5{down}..tension1.1..{curl0}z6;
   z7=point .2 of p;
   z8=(.53(w-.5rm),h);
   draw p; draw z8{curl0}..tension1.1..{left}z7;
endsav;

% beginchar("l",4/3twd#+brm#,ht#,0); "la"; % original.
%    italcorr brm#;
%    frame; z5=(x3,2/3h);
%    z6=(5/8x3,4/10h);
%    z7=(1/4x3,2/3h);
%    z8=(1/2penwd,1/2h);
%    z9=(3/8x3,0);
%    draw z5{left}..{curl4}z6;
%    draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
% endchar;

if altla:
  beginchar("l",1.5twd#+brm#,ht#,0); "la"; % alternate
     italcorr brm#;
     pickup frame_pen;
     lm := 4/3twd;
     z1 = (0,h); z2 = (w,h);
     z3 = (lm,h);
     z5 = (x3,2/3h);
     draw z1--z2;
     draw z3--z5;
     z6 = (5/8x3,4/10h);
     z7 = (1/4x3,2/3h);
     z8 = (1/2penwd,1/2h);
     z9 = (3/8x3,0);
     z10 = (.96(w-rm),.4h);
     z11 = (x3,0);
     draw z6{curl4}..z5{right}..z10{down}..tension2..z11;
     draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
  endchar;
else:
  beginchar("l",4/3twd#+brm#,ht#,0); "la"; % version 2.0
     italcorr brm#;
     frame;
     z5=(x3,2/3h);
     z6=(.53x3,4/10h);
     z7=(1/4x3,2/3h);
     z8=(1/2penwd,1/2h);
     z9=(3/8x3,0);
     draw z5{left}..{curl4}z6;
     draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
  endchar;
fi;

if altsha:
  beginchar("f",4/3twd#+brm#,ht#,0); "'sa"; % alternate
     italcorr brm#;
     frame;
     z6=(.46x3,h);
     z7=(.53x6,.2h);
     z8=(.18x3,.27h);
     z9=(w-brm-.45twd,0);
     z10=(.16x3,.7h);
     z11=(.43x3,h);
     z12=(.43x3,.75h);
     draw z11--z12;
     z13=(w-brm-.46twd,.45h);
     draw z10..z12{right}..z13..{left}z7..z8..tension1.4..{curl0}z9;
  endchar;
else:
  beginchar("f",4/3twd#+brm#,ht#,0); "'sa"; % original
     italcorr brm#; path p;
     frame;
     z6=(.45x3,h);
     z7=(.3x6,.25h);
     z8=(.2x6,.32h);
     z9=(w-brm-.45twd,0);
     p = z6{right}..tension1.1..{left}z7..z8..tension1.4..{curl0}z9;
     draw p;
     z5= point .6 of p;
     z10 = (.23x3,.72h);
     draw z5{curl0}..z10{up}..z6{right};
  endchar;
fi;

beginchar("q",.9twd#+brm#,ht#,0); ".sa";
   italcorr brm#;
   frame;
   z5=(penwd,h);
   z6=(w-brm,.53h);
   x7=x5+.15(w-brm);
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--(x6,y6-1/2penwd);
endchar;

beginchar("s",1.2twd#+brm#,ht#,0); "sa";
   % uses definition of r
   italcorr brm#;
   frame; path p; path q;
   z5=(1/2penwd,.65h);
   z6=(.6twd,0);
   p= z5{down}..tension1.1..{curl0}z6;
   z7= point .2 of p;
   z8= (.424twd,h);
   q= z8{curl0}..tension1.1..{left}z7;
   z9= point .65 of q;
   z10= (w-brm,y9);
   draw p; draw q; draw z9{dir-30}..z10;
endchar;

% beginchar("h",1.1twd#+rm#,ht#,.2ht#); "ha"; % original
%    italcorr rm#+.55twd#;
%    lm := w-rm; pickup frame_pen;
%    z1=(0,h); z2=(w,h);
%    draw z1--z2;
%    x3=good.x .8lm; y3=h; z4=(x3,.75h);
%    z5=(1/2penwd,.65h); z6=(.4lm,.4h);
%    z7=(.65lm,1/2penwd); z8=(lm,.27h);
%    z9=(1.1lm,-.3h);
%    z10=(1/2penwd,.2h);
%    draw z3--z4{left}...z5{down}..z6;
%    draw z7..z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
% endchar;

beginchar("h",1.1twd#+rm#,ht#,.2ht#); "ha"; % revision
   italcorr rm#+.55twd#;
   lm := w-rm; pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3=good.x .8lm; y3=h; z4=(x3,.75h);
   z5=(1/2penwd,.65h); z6=(.4lm,.4h);
   z7=(.7lm,1/2penwd); z8=(.87lm,.27h);
   z9=(.9lm,-.3h);
   z10=(1/2penwd,.2h);
   draw z3--z4{left}...z5{down}..z6;
   draw z7..z8{up}..tension1.1 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
endchar;

beginchar("x",1.1twd#+rm#,ht#,3penwd#); "Rha";
   italcorr rm#+.3twd#;
   z11=(.7(w-rm),-1.5penwd); sqdot(z11);
   path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3=good.x .85(w-rm); y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.47h);
   z6=(.7(w-rm),1/2penwd);
   z7=(w-rm,.23h);
   draw z3--z4;
   p=z4{left}..tension.9..{down}z5..tension.9..{right}z6..{up}z7;
   z8=point 1.91 of p;
   draw p..z6;
endchar;

beginchar(13,brm#,1.5ht#,0); "repha";
   pickup sub_pen;
   z1=(0,ht+penwd);
   z2=(-.1ht,1.5ht);
   z3=(.1ht,1.45ht);
   draw z1{curl0}..z2{right}..z3;
endchar;

beginchar(19,brm#,1.5ht#,0); "repha + anusvara";
   pickup sub_pen;
   z1=(0,ht+penwd);
   z2=(-.15ht,1.6ht);
   z3=(.05ht,1.57ht);
   draw z1{curl0}..z2{right}..{curl.2}z3;
   z5=(.15rm,1.35ht);
   sqdot(z5);
endchar;

beginchar(18,13/17twd#+rm#+penwd#,ht#,0); "front-ii + anusvara";
   pickup frame_pen;
   z1=(0,h); z2=(w,h); z3=(w-rm-penwd,h);
   z4=(x3,.74h); z5=(1/2penwd,.6h);
   z6=(x3+1/2penwd,.37h);
   z7=(1/2x3,1/7h);
   z9=(penwd,3/14h);
   z8=(x3+penwd,-1/7h);
   draw z1--z2; draw z3--z4;
   draw z4{left}..z5{down}..z6{down}..z7{left}..z9{dir40}..{curl0}z8;
   z13=(13/17twd+.1h,1.2ht);
   sqdot(z13);
   z10=(x3,1.5h-1/2penwd);
   z11=(x3+.17h,1.35h);
   z12=(x3-1/2penwd,y3+penwd);
   draw z12..z10{right}..z11;
endchar;

beginchar(20,twd#,ht#,0); "period";
   z1=(1/2w,1/2penwd);
   sqdot(z1);
endchar;

beginchar(21,twd#,ht#,0); "ell-dot";
   z1=(1/2w,h-penwd);
   sqdot(z1);
endchar;

beginchar(",",twd#,ht#,0); "visarga";
   z1=(1/2w,.2h);
   x25:=floor(x1)+.5;
   y25:=floor(y1)+.5;
   dwd:=ceiling(1.5thick);
   if not odd dwd: dwd:= dwd+1; fi
   fill unitsquare shifted -(.5,.5) rotated 45 scaled (.5sqrt2 * dwd)
   shifted z25;
   z2=(1/2w,.8h);
   x25:=floor(x2)+.5;
   y25:=floor(y2)+.5;
   fill unitsquare shifted -(.5,.5) rotated 45 scaled (.5sqrt2 * dwd)
   shifted z25;
endchar;

beginchar(4,.7twd#+.8rm#,1.5ht#,0); "english o";
   pickup sub_pen;
   z5=(w-.8rm,1.5ht);
   z6=(.66(w-.8rm),1.25ht);
   z7=(0,1.5ht);
   draw z5..tension1.1..z6{left}..z7;
endchar;

beginchar(" ",.7twd#+.8rm#,1.5ht#,0); "candrabindu";
   z1=(.55(w-.8rm),1.48ht);
   sqdot(z1);
   pickup sub_pen;
   z5=(w-.8rm,1.5ht);
   z6=(.66(w-.8rm),1.25ht);
   z7=(0,1.5ht);
   draw z5..tension1.1..z6{left}..z7;
endchar;

beginchar(".",twd#,ht#,0); "danda";
   pickup frame_pen;
   x1=good.x w; y1=0; z2=(x1,h); draw z1--z2;
endchar;

beginchar(";",1.2twd#,ht#,0); "double danda";
   pickup frame_pen;
   x1=good.x w-2.5penwd; y1=0;
   z2=(x1,h);
   x3=good.x w; y3=0;
   z4=(x3,h);
   draw z1--z2; draw z3--z4;
endchar;

beginchar("\",brm#,ht#,0); "anusvara";
   z1=(0,1.45h);
   sqdot(z1);
endchar;

% beginchar("_",twd#+rm#,ht#,0); "avagraha"; % original
%    pickup frame_pen;
%    z1=(w-rm,h);
%    z2=(.2(w-rm),.81h);
%    z3=(.85(w-rm),.25h);
%    z4=(.5(w-rm),0);
%    z5=(1/2penwd,.4h);
%    draw z1{left}..z2{down}..z3{down}..z4{left}..{curl.2}z5;
% endchar;

beginchar("_",twd#+rm#,ht#,0); "avagraha"; % revision
   pickup frame_pen;
   z1=(w,h);
   z2=(.2twd+.55rm,.81h);
   z3=(.85twd+.55rm,.25h);
   z4=(.5twd+.55rm,0);
   z5=((1/2penwd)+.55rm,.4h);
   draw z1{left}..tension1.2..z2{down}..z3{down}..z4{left}..{curl.2}z5;
endchar;

% replaced with open ya
%
% beginchar("+",1.1twd#+brm#,ht#,0); "j~na";
%    italcorr brm#;
%    frame;
%    y5=good.y .7h; x5=x3;
%    z6=(1/2penwd,y5);
%    z7=(x6,.25h);
%    z8=(.55(w-brm),0);
%    z9=(x7+1/2penwd,y7-1/2penwd);
%    y10=.3[y9,y6]; x10=.65(w-brm);
%    draw z5--z6;
%    draw z6{curl0}..tension1.1..z10{down}..z9{left}..z7{up}..
%    tension1.3..{curl0}z8;
% endchar;

beginchar("+",1.1twd#+brm#,ht#,0); "open-ya";
   italcorr brm#;
   frame;
   z5=(.15x3,.47h);
   z6=(x3,.55h);
   z7=(-1/2penwd,.75h);
   z8=(.55x3,.70h);
   z9=(.56x3,.74h);
   draw z5{dir-70}..tension.95..z6;
   draw z5{right}..tension.95..z8;
   draw z8..z9;
   draw z9..z7;
endchar;

if altksa:
  beginchar(34,1.3twd#+brm#,ht#,0); "k.sa";
     italcorr brm#;
     frame;
     z5=(x3, good.y .7h);
     z6=(1/2penwd,y5);
     draw z5--z6;
     z7=(.60x3,y5);
     z8=(.25x3,.40h);
     z9=(.70x3,.25h);
     z10= z9 + (.3thick*(dir(rot+90)));
     y11=.00h; z11=z9+whatever*dir285;
     pickup sub_pen;
     draw z7{dir215}..tension.9..{down}z8..tension.9 and 1.1..{dir30}z9;
     draw z10--z11;
     fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
     scaled (1.0*thick) shifted (z9 + .10thick*(dir rot));
  endchar;
else:
  beginchar(34,1.3twd#+brm#,ht#,0); "k.sa";
     italcorr brm#;
     pickup frame_pen;
     z1=(w-.7rm-brm,h); z2=(w,h);
     x3=good.x w-brm; y3=h; z4=(x3,0);
     draw z1--z2;
     draw z3--z4;
     z5=(w-brm,.7h);
     z6=(.35(w-brm),h);
     z7=(1/2penwd,.32h);
     z8=(.6(w-brm),.15h);
     z9=(.7(w-brm),-1/2penwd);
     z10=(.2(w-brm),.65h);
     z11=(.5(w-brm),.65h);
     draw z5{dir230}..tension1.2..z10..z6{right}..z11..z7{down}..z8--z9;
     draw fullcircle scaled .7thick shifted (x8,y8+.35thick);
  endchar;
fi;

% beginchar("^",0,ht#,.25ht#); "virama"; % original
%    pickup frame_pen;
%    z1=(1.35rm,mb-.5h);
%    z2=(0,mb-.3h);
%    draw z1..{left}z2;
% endchar;

beginchar("^",0,0,.35ht#); "virama"; % revision
   pickup frame_pen;
   z1=(1.35rm,mb-.5ht);
   z2=(0,mb-.3ht);
   draw z1..{left}z2;
endchar;

beginchar("/",twd#+brm#,ht#,0); "tra";
   italcorr brm#;
   frame;
   z5=(w-brm,.5h);
   z6=(1/2penwd,.65h);
   z7=(.3(w-brm),.25h);
   draw z5{dir120}..z6;
   draw z5--z7;
endsav;

beginchar("!",1.25twd#+brm#,ht#,0); "ruu";
   pickup frame_pen;
   z1=(0,h);
   z2=(w,h);
   draw z1--z2;
   addto currentpicture also v[ASCII "r"];
   z3=(.9twd+1/4penwd+1/2rm,.4h+penwd);
   addto currentpicture also v[1] shifted z3;
endchar;

beginchar("z",twd#+1.5rm#,ht#,0); "ru";
   path p; path q;
   z1=(0,h); z2=(w,h);
   pickup frame_pen;
   draw z1--z2;
   z5=(1/2penwd+1/2rm,.65h);
   z6=(.8twd+1/2rm,0);
   p=z5{down}..tension1.1..{curl0}z6;
   z7=point .2 of p;
   z8=(.425twd+1/2rm,h);
   draw p;
   q=z8{curl0}..tension1.1..{left}z7;
   z9=point .8 of q;
   draw q;
   pickup sub_pen;
   z10= (w-rm,.y9);
   z11=(x6,.6y9);
   draw z9{curl.2}..tension1.1..z10{down}..z11;
endchar;

if altri:
  beginchar(27,2twd#+rm#,ht#,0); ".r"; % alternate
     pickup frame_pen;
     z1=(0,h); z2=(w,h); z3=(twd,.5h);
     z4=(1.75twd,.5h);
     z5=(1.84twd,.3h);
     z6=(1.45twd,.1h);
     z7=(w-rm,0);
     draw z1--z2;
     draw z3..z4;
     z20=(w-brm,h);
     z21=(w-brm,.25h);
     draw z20..z21;
     draw z21..tension1.2..z6{down}..tension1.2..{curl.2}z7;
     addto currentpicture also v[ASCII "/"];
  endchar;
else:
  beginchar(27,2twd#+rm#,ht#,0); ".r"; % original
     pickup frame_pen;
     z1=(0,h); z2=(w,h); z3=(twd,.5h);
     z4=(1.7twd,.6h);
     z5=(1.84twd,.3h);
     z6=(1.45twd,.1h);
     z7=(w-rm,0);
     draw z1--z2;
     draw z3--z4;
     draw fullcircle scaled .8penwd shifted (x4,y4+.4penwd);
     draw z4--z5..tension1.2..z6{down}..tension1.2..{curl.2}z7;
     addto currentpicture also v[ASCII "/"];
  endchar;
fi;

beginchar(11,1.1twd#+brm#,ht#,0); ".ga";
   italcorr brm#; path p;
   z11=(.6(w-brm),.5penwd);
   sqdot(z11);
   frame; z5=(.25(w-brm),h);
   z6=(x5,.3h);
   z7=2/3[z5,z6];
   z8=z7 shifted (.1(w-brm),0);
   z9= (1/2penwd,y6+.08h);
   p = z5..z8{down}..z6{left}..z9{up};
   z10 = point 2.4 of p;
   draw p..z10;
endchar;

beginchar(12,1.36twd#+brm#,ht#,0); ".kha";
   italcorr brm#;
   frame; path p;
   % uses definition of r and k;
   z5=(1/2penwd,.65h);
   z6=(.55twd,0);
   p= z5{down}..tension1.1..{curl0}z6;
   z7=point .2 of p;
   z8= (.424twd,h);
   draw p;
   draw z8{curl0}..tension1.1..{left}z7;
   z9=(w-brm,.55h);
   z10=(w-brm-.55(23/16twd)+1/2penwd,.5h);
   z11=(w-brm,.45h);
   draw z9..tension1.3..z10{down}..tension1.3..z11;
   z12=(.65(w-brm),0);
   sqdot(z12);
endchar;

beginchar("'",1.55twd#+rm#,ht#,0); "fa";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x .9twd; y3=h; z4=(x3,0);
   draw z1--z2; draw z3--z4;
   z5=(penwd,h);
   z6=(x3,.53h);
   x7=x5+.15x3;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z8=(w-rm,.5h);
   z9=(.94(w-rm),.1h);
   draw z6{curl.5}..z8{down}..tension1.3..z9;
   z10=(.45twd,.5penwd);
   sqdot(z10);
endchar;

beginchar(")",1.4twd#+brm#,ht#,0); "za";
   italcorr brm#;
   z11=(.8(w-brm),.5penwd);
   sqdot(z11);
   frame;
   y5 = good.y .66h; x5 = 1/2penwd;
   z7 = (.45x3,y5);
   z8 = (w-brm,y5);
   y6 = good.y .17h; x6 = .52x3;
   draw z5{curl.5}..tension1.2..z6{right}..{curl0}z7--z8;
endchar;

% beginchar("*",23/16twd#+rm#,ht#,0); "qa"; % original
%    italcorr rm#+.65twd#;
%    pickup frame_pen;
%    lm:=w-rm;
%    z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
%    z4=(x3,0); draw z1--z2; draw z3--z4;
%    z5=(x3,.6h);
%    z6=(1/2penwd,.55h);
%    z7=(x3,.5h);
%    z8=(lm,.5h);
%    z9=(.94lm,.1h);
%    draw z5..tension1.3..z6{down}..tension1.3..z7;
%    draw z7{curl.5}..z8{down}..tension1.3..z9;
%    z10=(.25(w-rm),.5penwd);
%    sqdot(z10);
% endchar;

beginchar("*",23/16twd#+rm#,ht#,0); "qa"; % revision
   italcorr rm#+.65twd#;
   pickup frame_pen;
   lm:=w-rm;
   z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
   z4=(x3,0); draw z1--z2; draw z3--z4;
   z5=(x3,.6h);
   z6=(1/2penwd,.47h);
   z7=(x3,.5h);
   z8=(lm,.45h);
   z9=(.94lm,.1h);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
   draw z7{curl.5}..z8{down}..tension1.3..z9;
   z10=(.25(w-rm),.5penwd);
   sqdot(z10);
endchar;

beginchar("G",1.1twd#+brm#,ht#,0); "gha";
   italcorr brm#;
   frame;
   path p;
   z5=(x3,.5h);
   z6=(.65x3,.65h);
   z10=(.18x3,.5h);
   p=z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7= point 1.7 of p;
   z8=(.26x3,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9=(1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
endchar;

% beginchar("~",0,ht#,.25ht#); "sub-r"; % original
%    pickup sub_pen;
%    z1=(-.35twd,mb-.45h);
%    z2=(0,mb-1/2penwd);
%    z3=(.32twd,mb-.25h);
%    draw z1--z2;
%    draw z2--z3;
% endchar;

beginchar("~",0,0,.25ht#); "sub-r"; % revision
   pickup sub_pen;
   z1=(-.35twd,mb-.45ht);
   z2=(0,mb-1/2penwd);
   z3=(.32twd,mb-.25ht);
   draw z1--z2;
   draw z2--z3;
endchar;

if altksa:
  beginchar("#",1.3twd#,ht#,0); "half k.sa";
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     z3=(w,h); z4=(w,0);
     draw z1--z2;
     z5=(x3, good.y .7h);
     z6=(1/2penwd,y5);
     draw z5--z6;
     z7=(.60x3,y5);
     z8=(.25x3,.40h);
     z9=(.70x3,.25h);
     z10= z9 + (.3thick*(dir(rot+90)));
     y11=.00h; z11=z9+whatever*dir285;
     pickup sub_pen;
     draw z7{dir215}..tension.9..{down}z8..tension.9 and 1.1..{dir30}z9;
     draw z10--z11;
     fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
     scaled (1.0*thick) shifted (z9 + .10thick*(dir rot));
  endchar;
else:
  beginchar("#",1.3twd#,ht#,0); "half k.sa";
     pickup frame_pen;
     z1=(w-.7rm,h); z2=(w,h);
     z3=(w,h); z4=(w,0);
     draw z1--z2;
     z5=(w,.7h);
     z6=(.35w,h);
     z7=(1/2penwd,.32h);
     z8=(.6w,.15h);
     z9=(.7w,-1/2penwd);
     z10=(.2w,.65h);
     z11=(.5w,.65h);
     draw z5{dir230}..tension1.2..z10..z6{right}..z11..z7{down}..z8--z9;
     draw fullcircle scaled .7thick shifted (x8,y8+.35thick);
  endchar;
fi;

beginchar("<",1.1twd#,ht#,0); "half bha";
   z1=(w,h); z2=(w-.7rm,h);
   pickup frame_pen;
   draw z1--z2;
   z5=(0,h);
   z6=(3/2penwd+.1twd,.76h);
   z7=(3/2penwd+.1twd,.34h);
   z8=(w,y7+penwd);
   z9=(x7-1/2penwd,y7+1/2penwd);
   draw z5{right}..tension.95..z6---z7;
   draw (reverse halfcircle rotated rot scaled usthick shifted z9)--z8;
endchar;

beginchar("@",1.1twd#,ht#,0); "half dha";
   z1 =(w,h); z2=(w-.7rm,h);
   pickup frame_pen;
   draw z1--z2;
   path p;
   z5=(w,.5h);
   z6=(.65w,.65h);
   z10=(.18w,.5h);
   p=z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7= point 1.7 of p;
   z8=(.26w,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9=(1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
endchar;

beginchar("]",1.1twd#,ht#,0); "half gha";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   path p;
   z5=(w,.5h);
   z6=(.65w,.65h);
   z10=(.18w,.5h);
   p=z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7= point 1.7 of p;
   z8=(.26w,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9=(1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
endchar;

if altjha:
  beginchar("$",1.6twd#,ht#,0); "half jha"; % alternate
     pickup frame_pen;
     z1=(w-1.95rm,h); z2=(w,h);
     z3=(1.1twd,h); z4=(x3,0);
     draw z1--z2; 
     draw z3--z4;
     z5=(0,h);
     z6=(3/2penwd+.1twd,.76h);
     z7=(3/2penwd+.1twd,.34h);
     z8=(x3,y7+penwd);
     z9=(x7-1/2penwd,y7+1/2penwd);
     z10=(1twd,y8);
     z12=(w,y8);
     draw z5{right}..tension.95..z6---z7;
     draw (reverse halfcircle rotated rot scaled usthick shifted z9)--z8;
     draw z10--z12;
  endchar;
elseif nepalijha:
  beginchar("$",1.6twd#,ht#,0); "half jha"; % Nepali alternate
     pickup frame_pen;
     z1 = (0,ht); 
     z2 = (w,ht);
     draw z1--z2; 
     x3 = good.x w; y3 = ht; 
     z4 = (x3,0);
     lm:= w;
     z5=(.45lm,h);
     z6=(.53lm,.65h);
     z90=(.2lm,.42h);
     z91=(penwd,.75h);
     draw z5..tension1.1..z6{down}..tension1.1..z90..tension1.3..z91;
     z11=(.53lm,.57h);
     z12=(.82lm,.67h);
     z13=(lm,.6h);
     draw z11..z12{right}..z13;
  endchar;
else:
  beginchar("$",1.45twd#,ht#,0); "half jha"; % original
     path p;
     pickup frame_pen;
     z1 = (0,h); z2 = (w,h);
     draw z1--z2;
     x5=good.x 13/17twd; y5=h;
     z6=(x5,.74h);
     z7=(1/2penwd,.6h);
     z8=(x5+1/2penwd,.37h);
     z9=(1/2x5,1/7h);
     z10=(x5+penwd,-1/7h);
     z11=(penwd,3/14h);
     p = z6{left}..z7{down}..z8{down}..z9{left}..z11{dir40}..{curl0}z10;
     z12=point 1.86 of p;
     z13=(w,y12+0.08h);
     draw z5--z6; draw p;
     draw z12{right}..z13;
  endchar;
fi;

beginchar("H",1.36twd#,ht#,0); "half kha";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   path p;
   z5=(1/2penwd,.65h);
   z6=(.8twd,0);
   p= z5{down}..tension1.1..{curl0}z6;
   z7=point .2 of p;
   z8= (.424twd,h);
   draw p;
   draw z8{curl0}..tension1.1..{left}z7;
   z9=(w,.5h);
   z10=(w-.55(23/16twd)+1/2penwd,.5h);
   z11=(w,.5h);
   draw z9..tension1.2..z10{down}..tension1.2..z11;
endchar;

beginchar("%",1.5twd#,ht#,0); "half pha";
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x .9twd; y3=h; z4=(x3,0);
   draw z1--z2; draw z3--z4;
   z5=(penwd,h);
   z6=(x3,.53h);
   x7=x5+.15x3;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z8=(w,y6);
   draw z6{dir60}..z8;
endchar;

beginchar(22,1.2twd#,ht#,0); "half ~na";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5=(.16w,.7h);
   z6=(.5w,.5h);
   z7=(.22w,.2h);
   z8=(w,y6);
   z9=(1/2penwd,.4h);
   draw z5..z6{down}..z7..{curl.2}z9;
   draw z6{dir-20}..z8;
endchar;

beginchar("L",1.1twd#,ht#,0); "half tha";
   path p;
   z1=(w,h); z2=(w-.7rm,h);
   pickup frame_pen;
   draw z1--z2;
   z5=(1/2penwd,.55h);
   z6=(w,.55h);
   z7=(.25w,h);
   draw z5{dir-70}..tension.95..z6;
   p=z5{right}..{left}z7;
   z8=point .4 of p;
   draw p..tension.95..{curl.2}z8;
endchar;

if altna:
  beginchar(23,1.5twd#,ht#,0); "half-.na"; % alternate
     pickup frame_pen;
     x9 = good.x 1twd; y9 = ht;
     z10 = (x9,.25ht);
     draw z9--z10;
     path p;
     z11=(0,h); z12=(w,h);
     draw z11--z12;
     r :=.50;
     z5=(r*(1/2penwd+1/2rm),.65h);
     z6=(x9,0);
     p = z5{down}..tension1.1..{curl0}z6;
     z7=point .2 of p;
     z8=(.5twd,h);
     draw p; draw z8{curl0}..tension1.1..{left}z7;
  endchar;
else:
  beginchar(23,1.1twd#,ht#,0); "half-.na"; % original
     pickup frame_pen;
     z1 = (0,h); z2 = (w,h);
     draw z1--z2;
     x5=good.x 1/2penwd; y5=h;
     z6=(x5,.55h);
     z7=(1/2[x5,x8],.3h);
     x8=good.x .65twd; y8=y6;
     z9=(x8,h);
     draw z5---z6..z7{right}..z8---z9;
  endchar;
fi;

beginchar("N",11/12twd#,ht#,0); "half-ba";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   path p;
   z5=(w,.52h);
   z6=(1/2penwd,.5h);
   z7=(w,.48h);
   p=z5..tension1.3..z6{down}..tension1.3..z7;
   y8=h; z9=(.58w,.5h);
   z8=z9 + whatever*dir125;
   y10=0;
   z10=z9 + whatever*dir305;
   z11= p intersectionpoint (z9--z8);
   z12= p intersectionpoint (z9--z10);
   draw p; draw z11--z12;
endchar;

beginchar("Q",1.2twd#,ht#,0); "half-ca";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   y5 = good.y .65h; x5 = 1/2penwd;
   z6 = (w-penwd,y5);
   z9 = (.44w,y5);
   z7 = (.55w,.3h);
   z8 = (w,.4h);
   draw z5--z6; draw z9{curl.5}..z7{right}..z8;
endchar;

if altsha:
   beginchar("[",4/3twd#,ht#,0); "half-'sa"; % alternate; version 2.1
      pickup frame_pen;
      z1=(0,h);
      z2=(w,h);
      draw z1--z2;
      z6=(.46w,h);
      z7=(.53x6,.2h);
      z8=(.18w,.27h);
      z9=(w-.45twd,0);
      z10=(.16w,.7h);
      z11=(.43w,h);
      z12=(.43w,.75h);
      draw z11--z12;
      z13=(w-.46twd,.45h);
      draw z10..z12{right}..z13..{left}z7..z8..tension1.4..{curl0}z9;
   endchar;
else:
   beginchar("[",4/3twd#,ht#,0); "half-'sa";
      path p;
      pickup frame_pen;
      z1 = (0,h); z2 = (w,h);
      draw z1--z2;
      z6=(.45w,h);
      z7=(.3x6,.25h);
      z8=(.2x6,.32h);
      z9=(w-.45twd,0);
      p = z6{right}..tension1.1..{left}z7..z8..tension1.4..{curl0}z9;
      draw p;
      z5= point .6 of p;
      z10 = (.23w,.72h);
      draw z5{curl0}..z10{up}..z6{right};
  endchar;
fi;

beginchar("`",1.1twd#,ht#,0); "half-ga";
   path p;
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5=(.25w,h);
   z6=(x5,.3h);
   z7=2/3[z5,z6];
   z8=z7 shifted (.1w,0);
   z9= (1/2penwd,y6+.08h);
   p = z5..z8{down}..z6{left}..z9{up};
   z10 = point 2.4 of p;
   draw p..z10;
endchar;

beginchar(">",1.4twd#,ht#,0); "half-ja";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   y5 = good.y .66h; x5 = 1/2penwd;
   z7 = (.45w,y5);
   z8 = (w,y5);
   y6 = good.y .17h; x6 = .52w;
   draw z5{curl.5}..tension1.2..z6{right}..{curl0}z7--z8;
endchar;

% beginchar("?",1.35twd#,ht#,0); "half-ka"; % original
%    pickup frame_pen;
%    lm:=23/16twd;
%    z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
%    z4=(x3,0); draw z1--z2; draw z3--z4;
%    z5=(x3,.6h);
%    z6=(1/2penwd,.55h);
%    z7=(x3,.5h);
%    z8=(w,.55h);
%    z9=(x3,y6);
%    draw z5..tension1.3..z6{down}..tension1.3..z7;
%    draw z9{dir60}..z8;
% endchar;

beginchar("?",1.35twd#,ht#,0); "half-ka"; % revision
   pickup frame_pen;
   lm:=23/16twd;
   z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
   z4=(x3,0); draw z1--z2; draw z3--z4;
   z5=(x3,.6h);
   z6=(1/2penwd,.47h);
   z7=(x3,.5h);
   z8=(w,.55h);
   z9=(x3,y6);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
   draw z9{dir60}..z8;
endchar;

% beginchar("S",4/3twd#,ht#,0); "half-la"; % original.
%    pickup frame_pen;
%    z1 = (0,h); z2 = (w,h);
%    draw z1--z2;
%    z5=(w,2/3h);
%    z6=(5/8w,4/10h);
%    z7=(1/4w,2/3h);
%    z8=(1/2penwd,1/2h);
%    z9=(3/8w,0);
%    draw z5{left}..{curl4}z6;
%    draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
% endchar;

beginchar("S",4/3twd#,ht#,0); "half-la"; % version 2.0
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5=(w,2/3h);
   z6=(.56w,4/10h);
   z7=(1/4w,2/3h);
   z8=(1/2penwd,1/2h);
   z9=(3/8w,0);
   draw z5{left}..{curl4}z6;
   draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
endchar;

beginchar("M",1.1twd#,ht#,0); "half-ma";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   x5=good.x 3/2penwd; y5=h;
   z6=(x5,y7-penwd);
   y7=good.y .35h+penwd; x7=w;
   z8=(x6-1/2penwd,y6+1/2penwd);
   draw z5--z6;
   draw (reverse halfcircle rotated rot scaled usthick shifted z8)--z7;
endchar;

beginchar(6,twd#,ht#,0); "half-na";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   y6 = good.y 7/12h; x6 = w;
   y5 = y6 - .75penwd; x5 = 1.25penwd;
   filldraw fullcircle scaled 1.5penwd shifted(x5,y5);
   z7 = (x5,y6);
   draw z6--z7;
endchar;

beginchar("=",.9twd#,ht#,0); "half-pa";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5=(penwd,h);
   z6=(w,.53h);
   x7=x5+.15w;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
endchar;

beginchar(9,.9twd#,ht#,0); "half-.sa";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5=(penwd,h);
   z6=(w,.53h);
   x7=x5+.15w;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--(x6,y6-1/2penwd);
endchar;

beginchar("-",1.2twd#,ht#,0); "half-sa";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   path p; path q;
   z5=(1/2penwd,.65h);
   z6=(.6twd,0);
   p= z5{down}..tension1.1..{curl0}z6;
   z7= point .2 of p;
   z8= (.424twd,h);
   q= z8{curl0}..tension1.1..{left}z7;
   z9= point .65 of q;
   z10= (w,y9);
   draw p; draw q; draw z9{dir-30}..z10;
endchar;

beginchar("(",twd#,ht#,0); "half-ta";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   y5 = good.y 2/3h; x5 = w;
   z6 = (0.35w,y5); z7 = (0.55w,0);
   draw z5---z6..{curl0}z7;
endchar;

beginchar(38,11/12twd#,ht#,0); "half-va";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5 = (w,.52h);
   z6 = (1/2penwd,.5h);
   z7 = (w,.48h);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
endchar;

beginchar(5,1.1twd#,ht#,0); "half-ya";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5=(1/2penwd,.55h);
   z6=(w,.55h);
   z7=(.3w,h);
   draw z5{dir-70}..tension.95..z6;
   draw z5{right}..tension.95..z7;
endchar;

beginchar(28,1.1twd#,ht#,0); "half-.ga";
   pickup frame_pen; path p;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z11=(.6w,.5penwd);
   sqdot(z11);
   z5=(.25w,h);
   z6=(x5,.3h);
   z7=2/3[z5,z6];
   z8=z7 shifted (.1w,0);
   z9= (1/2penwd,y6+.08h);
   p = z5..z8{down}..z6{left}..z9{up};
   z10 = point 2.4 of p;
   draw p..z10;
endchar;

beginchar(7,1.36twd#,ht#,0); "half-.kha";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   path p;
   z5=(1/2penwd,.65h);
   z6=(.55twd,0);
   p= z5{down}..tension1.1..{curl0}z6;
   z7=point .2 of p;
   z8= (.424twd,h);
   draw p;
   draw z8{curl0}..tension1.1..{left}z7;
   z9=(w,.5h);
   z10=(w-.55(23/16twd)+1/2penwd,.5h);
   z11=(w,.5h);
   draw z9..tension1.2..z10{down}..tension1.2..z11;
   z12=(.67w,0);
   sqdot(z12);
endchar;

beginchar(8,1.5twd#,ht#,0); "half-fa";
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x .9twd; y3=h; z4=(x3,0);
   draw z1--z2; draw z3--z4;
   z5=(penwd,h);
   z6=(x3,.53h);
   x7=x5+.15x3;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z8=(w,y6);
   draw z6{dir60}..z8;
   z10=(.45twd,.5penwd);
   sqdot(z10);
endchar;

beginchar(30,1.4twd#,ht#,0); "half za";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z11=(.8w,.5penwd);
   sqdot(z11);
   y5 = good.y .66h; x5 = 1/2penwd;
   z7 = (.45w,y5);
   z8 = (w,y5);
   y6 = good.y .17h; x6 = .52w;
   draw z5{curl.5}..tension1.2..z6{right}..{curl0}z7--z8;
endchar;

% beginchar(10,1.35twd#,ht#,0); "half-qa"; % original
%    pickup frame_pen;
%    lm:=23/16twd;
%    z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
%    z4=(x3,0); draw z1--z2; draw z3--z4;
%    z5=(x3,.6h);
%    z6=(1/2penwd,.55h);
%    z7=(x3,.5h);
%    z8=(w,.55h);
%    z9=(x3,y6);
%    draw z5..tension1.3..z6{down}..tension1.3..z7;
%    draw z9{dir60}..z8;
%    z10=(.25lm,.5penwd);
%    sqdot(z10);
% endchar;

beginchar(10,1.35twd#,ht#,0); "half-qa";   % version 2.0
   pickup frame_pen;
   lm:=23/16twd;
   z1=(0,h); z2=(w,h); x3=good.x .55lm; y3=h;
   z4=(x3,0); draw z1--z2; draw z3--z4;
   z5=(x3,.6h);
   z6=(1/2penwd,.47h);
   z7=(x3,.5h);
   z8=(w,.55h);
   z9=(x3,y6);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
   draw z9{dir60}..z8;
   z10=(.25lm,.5penwd);
   sqdot(z10);
endchar;

beginchar("}",.7twd#+brm#,ht#,0); "r-stroke";
   italcorr brm#;
   pickup sub_pen;
   z1=(w-brm,.4h);
   z2=(0,0);
   draw z1--z2;
endsav;

if altri:
  % beginchar(17,2twd#+rm#,ht#,0); ".R"; % alternate; original
  beginchar(17,2twd#+rm#,ht#,.25ht#); ".R"; % alternate;
     italcorr brm#; path p;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     x10 = good.x twd; y10 = h;
     x11 = x10; y11 = 0;
     draw z1--z2;
     draw z10--z11;
     z12 = (1/2penwd,.65h);
     z13 = (.3x10,.25h);
     z3=(x10,.5h);
     draw z3{dir120}..z12;
     draw z3--z13;
     z4=(1.75twd,.5h);
     z5=(1.84twd,.3h);
     z6=(1.45twd,.15h);
     z7=(w-rm,.05h);
     draw z3--z4;
     z20=(w-brm,h);
     z21=(w-brm,.25h);
     draw z20..z21;
     p = z21..tension1.2..z6{down}..tension1.1..{curl.2}z7;
     draw p;
     z8 = point 1.5 of p;
     z9 = (1.55twd,-.15h);
     z14 = (2.1twd,-.25h);
     draw z8..tension1.1..z9{down}..tension1.1..{curl.3}z14;
  endchar;
else:
  % beginchar(17,2twd#+rm#,ht#,0); ".R"; % original
  beginchar(17,2twd#+rm#,ht#,.25ht#); ".R"; % version 2.12
     italcorr brm#; path p;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     x10 = good.x twd; y10 = h;
     x11 = x10; y11 = 0;
     draw z1--z2;
     draw z10--z11;
     z12 = (1/2penwd,.65h);
     z13 = (.3x10,.25h);
     z3=(x10,.5h);
     draw z3{dir120}..z12;
     draw z3--z13;
     z4=(1.7twd,.6h);
     z5=(1.84twd,.3h);
     z6=(1.45twd,.15h);
     z7=(w-rm,.05h);
     draw z3--z4;
     draw fullcircle scaled .8penwd shifted (x4,y4+.4penwd);
     p = z4--z5..tension1.2..z6{down}..tension1.1..{curl.2}z7;
     draw p;
     z8 = point 2.5 of p;
     z9 = (1.55twd,-.15h);
     z14 = (2.1twd,-.25h);
     draw z8..tension1.1..z9{down}..tension1.1..{curl.3}z14;
  endchar;
fi;

% beginchar(14,0,ht#,0); "sub .R"; % original
beginchar(14,0,.1ht#,.5ht#); "sub .R";     % version 2.12
   path p;
   pickup sub_pen;
   z1 = (2/14uwidth,mb-penwd);
   z2 = (-9/28uwidth,mb-(penwd+.18uwidth));
   z3 = (9/28uwidth,mb-(penwd+.36uwidth));
   p = z1{left}..tension1.2..z2{down}..tension1.1..{curl.2}z3;
   draw p;
   z4 = point 1.5 of p;
   z5 = (-8/28uwidth,mb-(penwd+.57uwidth));
   z6 = (3/7uwidth,mb-(penwd+.68uwidth));
   draw z4..tension1.1..z5{down}..tension1.2..{curl.3}z6;
endchar;

beginchar(":",2.2twd#+rm#,ht#,0); "OM";
   pickup frame_pen;
   path p; path q;
   lwd := 1.2twd;
   z5 = (1/2penwd,.8h);
   z6 = (.72lwd,.70h);
   z7 = (.32lwd,.42h);
   p = z5{curl0}..tension1.1..z6..tension1.1..{curl0.3}z7;
   z8 = point 1.6 of p;
   z9 = (.7lwd,0);
   z10 = (1/2penwd,.2h);
   q = z8{curl.2}..z9{left}..tension.95..z10;
   draw p; draw q;
   z11 = point 0.45 of q;
   z12 = (.75(w-rm),y11+.2h);
   z13 = (.9(w-rm),.16h);
   z14 = (.8(w-rm),0);
   draw z11{curl.1}..z12{right}..z13{left}..z14;
   z1 = (.5(w-rm),1.05h);
   z2 = (.95(w-rm),y1);
   z3 = (.66[x1,x2],.75h);
   draw z2..tension1.1..z3{left}..z1;
   z4 = (.5[x1,x2],1.1h);
   sqdot(z4);
endchar;

beginchar(15,1.7twd#+rm#,ht#,0); "La";
   italcorr rm#+.4twd#;
   path p; pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   x3 = good.x .75(w-rm); y3 = h;
   z4 = (x3,.63h);
   draw z3--z4;
   z6 = (x3,1/2penwd);
   z5 = (.5(w-rm),.5[y6,y4]);
   z7 = (w-rm,y5);
   z8 = (.25(w-rm),1/2penwd);
   z9 = (1/2penwd,y5);
   z11 = (x8,y4);
   p = z6{right}..z7{up}..z4{left}..z5..z8{left}..z9{up}..z11{right};
   draw p;
   z10 = point 3.2 of p;
   z12 = point 2.8 of p;
   draw z11{right}..{curl.5}z12;
   draw z10{curl.5}..z6{right};
endchar;

beginchar(16,1.7twd#,ht#,0); "half La";
   path p; pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   x3 = good.x .75w; y3 = h;
   z4 = (x3,.63h);
   z6 = (x3,1/2penwd);
   z5 = (.5w,.5[y6,y4]);
   z7 = (w,y5);
   z8 = (.25w,1/2penwd);
   z9 = (1/2penwd,y5);
   z11 = (x8,y4);
   p = z6{right}..z7{up}..z4{left}..z5..z8{left}..z9{up}..z11{right};
   draw p;
   z10 = point 3.2 of p;
   z12 = point 2.8 of p;
   draw z11{right}..{curl.5}z12;
   draw z10{curl.5}..z6{right};
endchar;

% beginchar(31,0,ht#,0); "sub-.l"; % original
beginchar(31,0,.1ht#,.425ht#); "sub-.l"; % version 2.12
   path p;
   pickup sub_pen;
   z1 = (-3/8uwidth,mb-(penwd+3/8uwidth));
   lft z2 = (-1/2uwidth,mb-(penwd+1/8uwidth));
   z3 = (-1/8uwidth,mb-penwd);
   z4 = (0,mb-(penwd+4/16uwidth));
   p = z1..z2..z3..z4;
   draw p;
   z5 = point 2.6 of p;
   z6 = (4/16uwidth,mb-penwd);
   z7 = (7/16uwidth,mb-(penwd+1/4uwidth));
   z8 = (5/16uwidth,mb-(penwd+1/2uwidth));
   z9 = (5/8uwidth,mb-(penwd+9/16uwidth));
   draw z5..z6{right}..z7{down}..z8{down}..tension.95..{curl.2}z9;
endchar;

beginchar(29,twd#,ht#,0); "Marathi ra";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z3 = (1/2penwd,.55h);
   z4 = (w,y3);
   draw z3{dir-30}..z4;
endchar;

if altli:
  % beginchar(24,1.65twd#+rm#,ht#,0); ".l";     % alternate; version 2.1
  beginchar(24,1.65twd#+rm#,ht#,.1ht#); ".l";     % alternate; version 2.12
     italcorr rm#;
     pickup frame_pen;
     z1 = (0,ht); z2 = (w,ht);
     x3 = good.x w-brm; y3 = ht; z4 = (x3,.15h);
     draw z1--z2; draw z3--z4;
     z5=(x3,2/3h);
     z6=(.53x3,4/10h);
     z7=(1/4x3,2/3h);
     z8=(1/2penwd,1/2h);
     z9=(3/8x3,0);
     draw z5{left}..{curl4}z6;
     draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
     z10=(.75x3,0);
     z11=(1.1x3,-.08h);
     draw z4..tension1.2..z10{down}..tension.95..{curl.2}z11;
  endchar;
else:
  % beginchar(24,1.65twd#+rm#,ht#,0); ".l";     % original
  beginchar(24,1.65twd#+rm#,ht#,.1ht#); ".l";     % version 2.12
     italcorr rm#;
     pickup frame_pen;
     lm := 4/3twd;
     z1 = (0,h); z2 = (w,h);
     z3 = (lm,h);
     z5 = (x3,2/3h);
     draw z1--z2;
     draw z3--z5;
     z6 = (5/8x3,4/10h);
     z7 = (1/4x3,2/3h);
     z8 = (1/2penwd,1/2h);
     z9 = (3/8x3,0);
     z10 = (w-rm,.4h);
     z11 = (.85lm,0);
     z12 = (w-rm,-.08h);
     draw z6{curl4}..z5{right}..z10{down}..z11{down}..tension.95..{curl.2}z12;
     draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
  endchar;
fi;

if altli:
  % beginchar(25,1.65twd#+rm#,ht#,0); ".L";     % alternate; version 2.1
  beginchar(25,1.65twd#+rm#,ht#,.4ht#); ".L";     % alternate; version 2.12
     italcorr rm#;
     path p;
     pickup frame_pen;
     z1 = (0,ht); z2 = (w,ht);
     x3 = good.x w-brm; y3 = ht; z4 = (x3,.15h);
     draw z1--z2; draw z3--z4;
     z5=(x3,2/3h);
     z6=(.53x3,4/10h);
     z7=(1/4x3,2/3h);
     z8=(1/2penwd,1/2h);
     z9=(3/8x3,0);
     draw z5{left}..{curl4}z6;
     draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
     z10=(.75x3,0);
     z11=(1.1x3,-.08h);
     p = z4..tension1.2..z10{down}..tension.95..{curl.2}z11;
     draw p;
     z12 = point 1.5 of p;
     z13 = (.85x3,-.25h);
     z14 = (1.2x3,-.35h);
     draw z12..tension1.1..z13{down}..tension1.1..{curl.3}z14;
  endchar;
else:
  % beginchar(25,1.65twd#+rm#,ht#,0); ".L";     % original
  beginchar(25,1.65twd#+rm#,ht#,.4ht#); ".L";     % version 2.12
     italcorr rm#;
     pickup frame_pen; path p;
     lm := 4/3twd;
     z1 = (0,h); z2 = (w,h);
     z3 = (lm,h);
     z5 = (x3,2/3h);
     draw z1--z2;
     draw z3--z5;
     z6 = (5/8x3,4/10h);
     z7 = (1/4x3,2/3h);
     z8 = (1/2penwd,1/2h);
     z9 = (3/8x3,0);
     z10 = (w-rm,.4h);
     z11 = (.85lm,0);
     z12 = (w-rm,-.08h);
     p = z6{curl4}..z5{right}..z10{down}..z11{down}..tension.95..{curl.2}z12;
     draw p;
     draw z6{curl6}..{left}z7..{down}z8..{curl0}z9;
     z13 = point 3.5 of p;
     z14 = (1.08x10,-.35h);
     draw z13{dir210}..{curl.2}z14;
  endchar;
fi;

% beginchar(124,0,ht#,0); "sub-.L";     % original
beginchar(124,0,.1ht#,.6ht#); "sub-.L";     % version 2.12
   path p;
   pickup sub_pen; path q;
   z1 = (-3/8uwidth,mb-(penwd+3/8uwidth));
   lft z2 = (-1/2uwidth,mb-(penwd+1/8uwidth));
   z3 = (-1/8uwidth,mb-penwd);
   z4 = (0,mb-(penwd+4/16uwidth));
   p = z1..z2..z3..z4;
   draw p;
   z5 = point 2.6 of p;
   z6 = (4/16uwidth,mb-penwd);
   z7 = (7/16uwidth,mb-(penwd+1/4uwidth));
   z8 = (5/16uwidth,mb-(penwd+1/2uwidth));
   z9 = (5/8uwidth,mb-(penwd+9/16uwidth));
   q = z5..z6{right}..z7{down}..z8{down}..tension.95..{curl.2}z9;
   draw q;
   z10 = point 3.5 of q;
   z11 = (1.1x9,mb-(penwd+27/32uwidth));
   draw z10{dir210}..{curl.2}z11;
endchar;

beginchar("0",.5ht#+rm#,ht#,0); "0";
   pickup frame_pen; z1 =(1/4h+1/2penwd,1/2h);
   draw fullcircle scaled 1/2h shifted z1;
endchar;

if altone:
  beginchar("1",5/8twd#+rm#,ht#,0); "1"; % alternate
     pickup frame_pen; path p;
     z1=(w-rm,-.2h);
     z2=(w-rm,-.2h);
     z3=(x2-.75penwd,y2-.75penwd);
     z4=(w-rm,.7h);
     z5=(.6(w-rm),h);
     z6=(1/2penwd,.75h);
     p=z1{curl0}..tension1.2..z4{up}..z5{left};
     z7=point .9 of p;
     draw p..z6{down}..tension1.1..z7;
  endchar;
else:
  beginchar("1",5/8twd#+rm#,ht#,0); "1";
     pickup frame_pen; path p;
     z1=(1/2penwd,.2h);
     z2=(w-rm,-.2h);
     z3=(x2-.75penwd,y2-.75penwd);
     z4=(w-rm,.7h);
     z5=(.6(w-rm),h);
     z6=(1/2penwd,.75h);
     draw z1--z2;
     draw z2--z3;
     p=z1{curl0}..tension1.2..z4{up}..z5{left};
     z7=point .8 of p;
     draw p..z6{down}..tension1.1..z7;
  endchar;
fi;

beginchar("2",twd#+rm#,ht#,0); "2";
   pickup frame_pen;
   z1=(1/2penwd,.9h);
   z2=(w-rm,.7h);
   z3=(.25(w-rm),.35h);
   z4=(x3,.45h);
   z5=(w-rm,-.2h);
   draw z1{curl0}..tension1.1..z2{down}..z3{left}..z4..tension2..{curl0}z5;
endchar;

beginchar("3",.85twd#+rm#,ht#,0); "3";
   pickup frame_pen;
   z1=(1/2penwd,.95h);
   z2=(.95(w-rm),.78h);
   z3=(.65(w-rm),.6h);
   z4=(.2(w-rm),.6h);
   z5=(w-rm,.35h);
   z6=(.3(w-rm),.15h);
   z7=(x6,.25h);
   z8=(w-rm,-.2h);
   draw z1{right}..tension1.1..z2{down}..{left}z3..tension1.2..{curl0}z4;
   draw z3..z5{down}..z6{left}..z7..tension2..{curl0}z8;
endchar;

beginchar("4",4/3twd#+rm#,ht#,0); "4";
   pickup frame_pen;
   z1=(1/2penwd,h);
   z2=(w-rm,h);
   z3=(1/2(w-rm),.2h);
   z4=(1/2(w-rm),.64h);
   draw z1..z4..tension.9..z3{left}..tension.9..z4..z2;
endchar;

if altfive:
  beginchar("5",1.15twd#+rm#,ht#,0); "5"; % alternate
     pickup frame_pen;
     path p;
     z1=(1/2penwd,h);
     z2=(.85(w-rm),.85h);
     z3=(.9(w-rm),0);
     z5=(.85(w-rm),-.2h);
     draw z2{left}..tension1.2..z3{down}..{curl0}z5;
     z7=(.45(w-rm),.45h);
     draw z1{down}..tension1.1..z7..tension1.1..z2{up};
  endchar;
else:
  beginchar("5",1.15twd#+rm#,ht#,0); "5"; % original
     pickup frame_pen;
     path p;
     z1=(1/2penwd,h);
     z2=(.75(w-rm),h);
     z3=(.1(w-rm),1/2penwd);
     z4=(x3,y3+1/2penwd);
     z5=(w-rm,-.1h);
     p=z2{curl0}..tension1.2..z3{left}..z4..{curl0}z5;
     draw p;
     z6=point .3 of p;
     x7=.4[x1,x6]; y7=1.3[y1,y6];
     draw z1{down}..tension1.1..z7{right}..tension1.1..z6;
  endchar;
fi;

beginchar("6",twd#+rm#,ht#,0); "6";
   pickup frame_pen;
   path p;
   z1 = (.75(w-rm),h);
   z2 = (1/2penwd,.8h);
   z3 = (.8(w-rm),.6h);
   p = z1{curl0}..z2{down}..{curl0}z3;
   z4 = point 1.7 of p;
   z5 = (.36(w-rm),.2h);
   z6 = (.9(w-rm),.25h);
   z7 = (.8(w-rm),.25h);
   z8 = (w-rm,-.2h);
   draw p;
   draw z4..z5..tension1.1..z6{up}..z7..tension2..{curl0}z8;
endchar;

beginchar("7",4/3twd#+rm#,ht#,0); "7";
   pickup frame_pen;
   z1=(1/2penwd,h);
   z2=(.6(w-rm),1/2penwd);
   z3=(w-rm,1/2h);
   z4=(.75(w-rm),.87h);
   draw z1{curl0}..tension1.2..z2{right}..z3{up}..z4{left}..tension.95..{curl.5}z3;
endchar;

if alteight:
  beginchar("8",4/3twd#+rm#,ht#,0); "8"; % alternate
     pickup frame_pen;
     z1=(.8(w-rm),h);
     z2=(.15(w-rm),.3h);
     z3=(.5(w-rm),0);
     z4=(.85(w-rm),.25h);
     draw z1..tension1.4..z2;
     draw z2..z3..z4;
  endchar;
else:
  beginchar("8",1.1twd#+rm#,ht#,0); "8"; % original 
     pickup frame_pen;
     z1=(0,.8h);
     z2=(w-rm,y1);
     draw z1--z2;
     z3=(.25(w-rm),y1);
     z4=(1/2penwd,.3h);
     z5=(.5(w-rm),.2h);
     z6=(w-rm,.15h);
     z7=(.9(w-rm),0);
     draw z3..z4{down}..tension1.1..z5..tension1.1..z6{down}..{curl0}z7;
  endchar;
fi;

if altnine:
  beginchar("9",1.1twd#+rm#,ht#,0); "9"; % alternate
     pickup frame_pen;
     z1 = (.95(w-rm),.8h);
     z2 = (.45(w-rm),.85h);
     z3 = (.7(w-rm),.45h);
     draw z1{curl0}..z2{down}..{curl.1}z3;
     z4 = (.75(w-rm),.45h);
     z5 = (.15(w-rm),.45h);
     z6 = (.85(w-rm),-.15h);
     draw z4..tension1.3..z5..tension1.2..{curl0}z6;
  endchar;
else:
  beginchar("9",1.1twd#+rm#,ht#,0); "9"; % original
     pickup frame_pen; path p;
     z1 = (.4(w-rm),h);
     z2 = (1/2penwd,.8h);
     z3 = (w-rm,-.1h);
     p = z1{left}..z2{down}..tension2..{curl0}z3;
     z4 = point 1.23 of p;
     z5 = (.85(w-rm),-.2h);
     draw z4..tension1.2..p..{curl0}z5;
  endchar;
fi;

beginchar(127,.5ht#+2rm#,ht#,0); "abbreviation";
   pickup sub_pen;
   z1=(1/2w,.8h-1/2penwd);
   draw fullcircle scaled .4h shifted z1;
endchar;

beginchar(128,1.3twd#+brm#,ht#,0); "sra";
   italcorr brm#;
   pickup frame_pen;
   z1 = (w-rm-brm,h); z2 = (w,h);
   x3 = good.x w-brm; y3 = h; z4 = (x3,0);
   draw z1--z2;
   draw z3--z4;
   z5 = (w-brm,.45h);
   z6 = (x7,.2h);
   z7 = (.36(w-brm),h-2.5penwd);
   z8 = (1/2penwd,y5);
   z9 = (.8x7,h);
   draw z5--z6;
   draw z8--z7{right}..z9{left}..{right}z7--z5;
endchar;

beginchar(129,1.3twd#+brm#,ht#,0); "tta";
   italcorr brm#;
   frame;
   y5 = good.y 2/3h; x5=1/2penwd;
   z6 = (w-brm,y5);
   draw z5--z6;
   z8 = (0.65twd,y5); z7 = (0.85twd,0);
   draw z6---z8..{curl0}z7;
endchar;

beginchar(130,1.3twd#,ht#,0); "half tta";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   y5 = good.y 2/3h; x5 = w;
   z6 = (.65twd,y5); z7 = (.85twd,0);
   draw z5---z6..{curl0}z7;
   z8 = (1/2penwd,y5);
   draw z8--z5;
endchar;

beginchar(131,1.55twd#+rm#,ht#,0); "phra";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x .9twd; y3=h; z4=(x3,0);
   draw z1--z2; draw z3--z4;
   z5=(penwd,h);
   z6=(x3,.53h);
   x7=x5+.15x3;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z8=(w-rm,.5h);
   z9=(.94(w-rm),.1h);
   draw z6{curl.5}..z8{down}..tension1.3..z9;
   pickup sub_pen;
   z11=(x3,.45h);
   z12=(.1twd,1/2penwd);
   draw z11--z12;
endchar;

beginchar(132,1.55twd#+rm#,ht#,0); "fra";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x .9twd; y3=h; z4=(x3,0);
   draw z1--z2; draw z3--z4;
   z5=(penwd,h);
   z6=(x3,.53h);
   x7=x5+.15x3;
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z8=(w-rm,.5h);
   z9=(.94(w-rm),.1h);
   draw z6{curl.5}..z8{down}..tension1.3..z9;
   z10 = (0,.3h);
   sqdot(z10);
   pickup sub_pen;
   z11 = (x3,.4h);
   z12 = (.2twd,0);
   draw z11--z12;
endchar;

beginchar(133,1.8twd#+brm#,ht#,0); "jra";
   italcorr brm#;
   frame;
   x5 = 1/2penwd; y5 = good.x .66h;
   z7 = (.63twd,y5);
   z8 = (1.8twd,y5);
   z6 = (.73twd,.17h);
   draw z5{curl1.5}..tension1.2..z6{right}..{curl0}z7--z8;
   addto currentpicture also v[ASCII "}"] shifted (1.1twd,0);
endchar;

beginchar(134,1.8twd#+brm#,ht#,0); "zra";
   italcorr brm#;
   frame;
   x5 = 1/2penwd; y5 = good.x .66h;
   z7 = (.63twd,y5);
   z8 = (1.8twd,y5);
   z6 = (.73twd,.17h);
   draw z5{curl1.5}..tension1.2..z6{right}..{curl0}z7--z8;
   addto currentpicture also v[ASCII "}"] shifted (1.1twd,0);
   z11 = (1.2twd,.4h);
   sqdot(z11);
endchar;

beginchar(135,1.65twd#+rm#,ht#,0); "kra";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z3 = (twd,.5h);
   z4 = (w-rm,.5h);
   z5 = (w-rm-39/450twd,.1h);
   draw z3{curl.5}..z4{down}..tension1.3..z5;
   addto currentpicture also v[ASCII "/"];
endchar;

beginchar(136,1.2twd#+brm#,ht#,.1ht#); "ddha";
   italcorr brm#; path p; path q;
   pickup frame_pen;
   lm := 5/6twd;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(w-brm-lm+1/2penwd,.53h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot+90)));
   y8=-.3h; z8=z7+whatever*dir305;
   draw z1--z2; draw z3--z4;
   p = z4{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6;
   draw p;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
   z9 = .4[z7,z8];
   z11 = point 1.6 of p;
   z10 = (w-brm-.8lm,y9);
   q = z11..z10{down}..tension1.1..{curl.2}z9;
   draw q;
   z12 = point 0.7 of q;
   z13 = (.15(w-brm),.45h);
   draw z12{curl.1}..tension1.2..z13{right};
   pickup penrazor scaled subthick;
   draw z7--z8;
endchar;

beginchar(137,1.2twd#+brm#,ht#,.1ht#); "dbha";
   italcorr brm#;
   pickup frame_pen;
   z1= (0,h); z2= (w,h);
   draw z1--z2;
   x3= good.x w-brm; y3=h;
   z4= (x3,.76h);
   z5= (.42(w-brm),.62h);
   z6= (x3,.45h);
   z7= (x3,0);
   z9= (1/2penwd,.45h);
   z11= (.45(w-brm),0);
   z8= (x3,y11+penwd);
   z12= (x11-1/2penwd,y11+1/2penwd);
   draw z3--z4{left}..tension1.3..z5{down}..tension1.2..{curl.2}z6--z7;
   draw z9{right}..tension.9..{down}z11;
   draw (reverse halfcircle rotated rot scaled usthick
         shifted z12) --z8;
endchar;

beginchar(138,twd#+brm#,ht#,.3ht#); "dgha";
   italcorr brm#; path p; path q;
   pickup frame_pen;
   z1= (0,h); z2= (w,h);
   draw z1--z2;
   x3= good.x w-brm; y3=h;
   z4 =(x3,.74h);
   z5= (.22(w-brm),.61h);
   z6= (x3,.42h);
   z7= (x3,-.3h);
   z8= (x3,0);
   draw z3--z4;
   p= z4{left}..tension1.4..z5{down}..tension1.4..{curl.3}z6--z7;
   draw p;
   z9= point 1.25 of p;
   z10= (.15x3,0);
   z11= (.5x3,.15h);
   q= z8{curl0}..z10{up}...{right}z11;
   draw q;
   z12= point 1.7 of q;
   vardef yup(expr y)= xpart direction 1 of (z12{curl0}..(1/2penwd,y)
        ..{right}z9) < 0
   enddef;
   z13= (1/2penwd,solve yup(y12,y9));
   draw z12{curl.2}..z13..{right}z9;
endchar;

beginchar(139,.95twd#+brm#,ht#,.45ht#); "dga";
   italcorr brm#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.5h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot)));
   z8= (x7,-.45h);
   draw z1--z2; draw z3--z4;
   p =  z4{left}..{down}z5..tension1.2..{dir30}z6;
   draw p;
   draw z7--z8;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
   z9 = point 1.35 of p;
   z10 = (.5x9,y9-.5h);
   z12 = (1/2penwd,y10+.08h);
   q = z9{down}..tension1.3..z10{left}..z12{up};
   z13 = point 1.3 of q;
   draw q..{curl.2}z13;
endchar;

beginchar(140,5/6twd#+brm#,ht#,.1ht#); "dda";
   italcorr brm#+.15twd#;
   pickup frame_pen;
   path p;
   z1 = (0,h); z2 = (w,h);
   x3 = good.x w-brm; y3 = h;
   z4 = (x3,.4h);
   z5 = (1/2penwd,.22h);
   z6 = (x3+penwd,1/2penwd);
   z7 = (x3,y6);
   y8 = -.3h; z8 = z7+whatever*dir305;
   draw z1--z2;
   p = z4{curl0}..tension1.2..{down}z5..tension1.1..{curl.2}z6;
   draw p;
   draw z6..tension1.2..z7{down}..tension1.3..{curl0}z8;
   z9 = (x3,.73h);
   z10 = (1/2penwd,.56h);
   z11 = point 0.5 of p;
   draw z3--z9;
   draw z9{left}..{down}z10..{curl.3}z11;
endchar;

beginchar(141,1.4twd#+brm#,ht#,0); "dya";
   italcorr brm#;
   frame;
   x10=good.x 5/6twd; y10=y1;
   z7=(x10,.72h);
   z5=(1/2penwd,.53h);
   z6=(x10,0.35h);
   z8=(x10-.15twd,y6);
   z9=(x3,.2h);
   z11 = (.95twd,0);
   draw z10--z7;
   draw z7{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6..
     z8{dir225}..z11{right}..{curl.5}z9;
endchar;

beginchar(142,1.75twd#+brm#,ht#,0); "dbhya";
   italcorr brm#;
   frame; path p;
   x13=good.x 1.2twd; y13=y1;
   z14= (x13,.76h);
   z5= (.37x13,.63h);
   z6= (x13,.45h);
   z7= (x13,0);
   z9= (0,.6h);
   z11= (.3x13,.05h);
   z8= (x13,y11+penwd);
   z12= (x11+.1twd,y11);
   p =  z13--z14{left}..tension1.4..z5{down}..tension1.4..{curl.5}z6..
   tension1.6..z11..z12{up}..tension1.2..z9;
   draw p;
   z10= point 3.4 of p;
   z15= (x3,0.15h);
   draw z10..tension.95..{right}z15;
endchar;

beginchar(143,1.8twd#+brm#,ht#,0); "ddhya";
   italcorr brm#; path p; path q;
   frame;
   x10=good.x 5/6twd + .4twd; y10=y1;
   z7=(x10,.73h);
   z5=(.4twd+1/2penwd,.59h);
   z6=(x10,0.4h);
   z8=(x7-.15twd,y6);
   z9=(x3,.25h);
   draw z10--z7;
   p = z7{left}..tension1.4..{down}z5..tension1.4..{dir30}z6..
   z8{dir220}..tension.9..{dir40}z9;
   draw p;
   z11 = point 3.5 of p;
   z12 = (.36(w-brm),0);
   z13 = (.36(w-brm),.36h);
   q = z11{curl0.5}..z12{left}..z13{right};
   z14 = point 1.75 of q;
   draw q;
   z15 = (1/2penwd,.65h);
   draw z14..z15{up};
endchar;

beginchar(144,1.45twd#+brm#,ht#,.3ht#); "ddya";
   italcorr brm#;
   frame;
   path p;
   x12 = good.x 5/6twd; y12 = h;
   z13 = (x12,.4h);
   z5 = (1/2penwd,.22h);
   z6 = (x12+1/2penwd,1/2penwd);
   z7 = (x12,y6);
   p = z13{curl0}..tension1.2..{down}z5..tension1.1..{curl.2}z6;
   draw p;
   z14 = (x3,-.1h);
   z15 = (x6,-.3h);
   draw z6{left}..tension.95..z15{right}..{curl.5}z14;
   z9 = (x12,.73h);
   z10 = (1/2penwd,.56h);
   z11 = point 0.5 of p;
   draw z12--z9;
   draw z9{left}..{down}z10..{curl.3}z11;
   z8 = (x3,-.3h);
   draw z3--z8;
endchar;

beginchar(145,5/6twd#+brm#,ht#,.2ht#); "dna";
   italcorr brm#;
   pickup frame_pen;
   z1= (0,h); z2= (w,h);
   x3= good.x w-brm; y3= h;
   z4= (x3,.72h);
   z5= (1/2penwd,.53h);
   z6= (x3,0.4h);
   z7= (x3,-.2h);
   draw z1--z2; draw z3--z4;
   draw z4{left}..tension.9..{down}z5..tension1.2..{curl.2}z6;
   draw z6--z7;
   low_n(1.1penwd,1/2penwd);
endchar;

beginchar(146,5/6twd#+brm#,ht#,.1ht#); "dva";
   italcorr brm#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.53h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot+90)));
   y8=-.3h; z8=z7+whatever*dir305;
   draw z1--z2; draw z3--z4;
   p = z4{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6;
   draw p;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
   z9 = .3[z7,z8];
   z11 = point 1.7 of p;
   z10 = (.15(w-brm),y9);
   draw z11{curl.2}..tension1.1..z10{down}..tension1.2..{curl.5}z9;
   pickup penrazor scaled subthick;
   draw z7--z8;
endchar;

beginchar(147,5/6twd#+brm#,ht#,.1ht#); "dba";
   italcorr brm#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.53h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot+90)));
   y8=-.3h; z8=z7+whatever*dir305;
   draw z1--z2; draw z3--z4;
   p = z4{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6;
   draw p;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
   z9 = .3[z7,z8];
   z10 = (.15(w-brm),y9);
   z11 = point 1.7 of p;
   q = z11{curl.2}..tension1.1..z10{down}..tension1.2..{curl.5}z9;
   draw q;
   z14 = point .3 of q;
   z12 = z14 + whatever*dir305;
   y12 = -.6h;
   z13 = q intersectionpoint (.1[z14,z12]--z12);
   pickup penrazor scaled subthick;
   draw z7--z8;
   draw z14--z13;
endchar;

beginchar(148,1.2twd#+brm#,ht#,0); "dma";
   italcorr brm#;
   frame;
   z5= (.6x3,h);
   z6= (x5,.72h);
   z7= (1/2penwd,.6h);
   z9= (.45x3-1/2penwd,.3h);
   z8= (.45x3,y9-.5penwd);
   z10= (x3,y9);
   draw z5--z6{left}..tension1.4..z7{down}..z8{down}..
   tension.9..{right}z9--z10;
endchar;

beginchar(149,1.45twd#+brm#,ht#,.1ht#); "dvya";
   italcorr brm#; path p;
   frame;
   x10=good.x (5/6twd + .05twd); y10=y1;
   z7=(x10,.72h);
   z5=(1/2penwd + .05twd,.53h);
   z6=(x10,0.35h);
   z8=(x10-.15twd,y6);
   z9=(x3,.2h);
   z14 = (.95twd+.05twd,0);
   draw z10--z7;
   p = z7{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6..
   z8{dir225}..z14{right}..{curl.5}z9;
   draw p;
   z11 = point 3.4 of p;
   z12 = (1/2penwd,0);
   z13 = point 3.6 of p;
   draw z11..tension1.3..z12{down}..tension1.3..{curl.5}z13;
endchar;

beginchar(150,1.3twd#+brm#,ht#,0); "'sca";
   italcorr brm#;
   frame;
   z5= (x3,.5h);
   z7= (.45(w-brm),.67h);
   z8= (1/2penwd,.55h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   y6= good.y .33h; x6= .23(w-brm);
   z10= (w-brm-penwd,y6);
   z11= (.5(w-brm),.15h);
   z12= (x3,.15h);
   z13= (.6(w-brm),y6);
   draw z6--z10;
   draw z13..z11{down}..tension1.1..{curl0.1}z12;
   draw z7--z5;
endchar;

beginchar(151,1.3twd#+brm#,ht#,0); "'sna";
   italcorr brm#;
   frame;
   z5= (x3,.5h);
   z7= (.45(w-brm),.67h);
   z8= (1/2penwd,.55h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   low_n(.4(w-brm),.28h);
   draw z7--z5;
endchar;

beginchar(152,1.3twd#+brm#,ht#,0); "'sva";
   italcorr brm#;
   frame;
   z5= (x3,.5h);
   z7= (.45(w-brm),.67h);
   z8= (1/2penwd,.55h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   z6=(x3,.35h);
   z10=(.45(w-brm),.28h);
   z11=(x3,.21h);
   draw z6{curl.3}..tension1.2..z10{down}..tension1.2..{curl.3}z11;
   draw z7--z5;
endchar;

beginchar(153,1.3twd#+brm#,ht#,0); "'sra";
   italcorr brm#;
   frame;
   z5= (x3,.5h);
   z7= (.45(w-brm),.67h);
   z8= (1/2penwd,.53h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   z6=(x3,.38h);
   z10=(.45(w-brm),.2h);
   draw z5--z10;
   draw z7--z5;
endchar;

% beginchar(154,1.3twd#+brm#,ht#,0); "'sla"; % original
%    italcorr brm#;
%    frame;
%    z5= (x3,.5h);
%    z7= (.45(w-brm),.67h);
%    z8= (1/2penwd,.55h);
%    z9= (.8x7,h);
%    draw z8--z7{right}..z9{left}..{right}z7;
%    z6=(x3,.36h);
%    z10=(5/8x3,.16h);
%    z11=(1/4x3,.36h);
%    z12=(1/2penwd,.26h);
%    z13=(3/8x3,-.04h);
%    draw z6{left}..{curl4}z10;
%    draw z10{curl6}..{left}z11..{down}z12..{curl0}z13;
%    draw z7--z5;
% endchar;

beginchar(154,1.3twd#+brm#,ht#,0); "'sla"; % revision
   italcorr brm#;
   frame;
   z5= (x3,.5h);
   z7= (.45(w-brm),.67h);
   z8= (1/2penwd,.55h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   z6=(x3,.36h);
   z10=(.55x3,.16h);
   z11=(1/4x3,.36h);
   z12=(1/2penwd,.26h);
   z13=(3/8x3,-.04h);
   draw z6{left}..{curl4}z10;
   draw z10{curl6}..{left}z11..{down}z12..{curl0}z13;
   draw z7--z5;
endchar;

% "sba removed, replaced with .n.na
%
% beginchar(155,1.3twd#+brm#,ht#,0); "'sba";
%    italcorr brm#;
%    frame; path p;
%    z5= (x3,.5h);
%    z7= (.45(w-brm),.67h);
%    z8= (1/2penwd,.55h);
%    z9= (.8x7,h);
%    draw z8--z7{right}..z9{left}..{right}z7;
%    z6=(x3,.35h);
%    z10=(.45(w-brm),.28h);
%    z11=(x3,.21h);
%    p = z6{curl.3}..tension1.2..z10{down}..tension1.2..{curl.3}z11;
%    draw p;
%    z12=(.73(w-brm),.28h);
%    y13=h; y14=0;
%    z13= z12 + whatever*dir125;
%    z14= z12 + whatever*dir305;
%    z15= p intersectionpoint (z12--z13);
%    z16= p intersectionpoint (z12--z14);
%    draw z15--z16;
%    draw z7--z5;
% endchar;

if altna:
  beginchar(155,1.5twd#+brm#,ht#,0); ".n.na"; % alternate
     italcorr brm#;
     frame;
     x9 = good.x w-1.80brm; y9 = ht;
     z10 = (x9,.25ht);
     draw z9--z10;
     path p;
     r :=.50;
     z5=(r*(1/2penwd+1/2rm),.65h);
     z6=(x9,0);
     p = z5{down}..tension1.1..{curl0}z6;
     z7=point .2 of p;
     z8=(r*.53(w-.5rm),h);
     draw p; draw z8{curl0}..tension1.1..{left}z7;
     z11=(x3,.3h);
     pickup sub_pen;
     draw z8{down}..tension1.1..{curl0}z11;
  endchar;
else:
  beginchar(155,2.2twd#+brm#,ht#,0); ".n.na"; % original
     italcorr brm#;
     frame;
     x5=good.x 1/2penwd; y5=h;
     z6=(x5,.55h);
     z7=(1/2[x5,x8],.3h);
     x8=good.x .65twd; y8=y6;
     z9=(x8,h);
     draw z5---z6..z7{right}..z8---z9;
     x10=good.x 1.2twd; y10=h;
     z11=(x10,.55h);
     z12=(1/2[x10,x13],.3h);
     x13=good.x 1.75twd; y13=y11;
     z14=(x13,h);
     draw z10---z11..z12{right}..z13---z14;
  endchar;
fi;

beginchar(156,1.6twd#+brm#,ht#,.2ht#); "hma";
   italcorr brm#; path p;
   lm := 1.1twd;
   frame;
   x11 = good.x .8lm; y11=h; z12=(x11,.75h);
   z5 = (1/2penwd,.65h);
   z7 = (.65lm,1/2penwd); z8=(lm,.27h);
   z9 = (.9lm,-.3h);
   z10 = (1/2penwd,.2h);
   z14 = (.9lm-.5penwd,.1h);
   z13 = (.9lm,y14-.5penwd);
   z15 = (x3,y14);
   z16 = (x13,.25h);
   p =  z9{curl0}..tension1.3..z10{up}..tension1.3..z16---z13..tension.9..{right}z14--z15;
   draw p;
   z6 = point 1.3 of p;
   z17 = (x3,-.2h);
   draw z3--z17;
   draw z11--z12{left}...z5{down}..z6;
endchar;

beginchar(157,1.6twd#+brm#,ht#,.2ht#); "hya";
   italcorr brm#; path p;
   lm := 1.1twd;
   frame;
   x11 = good.x .8lm; y11=h; z12=(x11,.75h);
   z5 = (1/2penwd,.65h);
   z7 = (.65lm,1/2penwd); z8=(lm,.27h);
   z9 = (.9lm,-.3h);
   z10 = (1/2penwd,.2h);
   z13 = (.65lm,.1h);
   z14 = (x3,.2h);
   z15 = (.62lm,.45h);
   p =  z9{curl0}..tension1.3..z10{up}..z15{right}..{left}z13;
   draw z13{dir-70}..tension1.1..{curl.2}z14;
   draw p;
   z6 = point 1.5 of p;
   draw z11--z12{left}...z5{down}..z6;
   z17 = (x3,-.2h);
   draw z3--z17;
endchar;

% beginchar(158,2.2twd#+rm#,ht#,.25ht#); "hla"; % original.
%    italcorr rm#+.5twd#;
%    path p; path q;
%    lm := 1.1twd; pickup frame_pen;
%    xoff := w-rm-lm;
%    z1 = (0,h); z2 = (w,h);
%    draw z1--z2;
%    x3 = good.x xoff+.8lm; y3 = h; z4 = (x3,.75h);
%    z5 = (xoff+1/2penwd,.65h); z6 = (xoff+.4lm,.4h);
%    z7 = (xoff+.65lm,1/2penwd); z8 = (w-rm,.27h);
%    z9 = (xoff+1.1lm,-.3h);
%    z10 = (xoff+1/2penwd,.2h);
%    draw z3--z4{left}...z5{down}..z6;
%    p =  z7..z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
%    draw p;
%    z11 = (.8xoff,y9);
%    z12 = (1/2penwd,.1h);
%    z13 = (.9xoff,-.1h);
%    q = z11{curl0}..tension1.1..z12{up}..tension1.3..{curl0}z13;
%    draw q;
%    z14= point 1.65 of q;
%    z15 = point 3.1 of p;
%    draw z14{dir30}..{curl0.5}z15;
% endchar;

beginchar(158,2.2twd#+rm#,ht#,.4ht#); "hla"; % revision
   italcorr rm#+.5twd#;
   lm := w-rm; pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3=good.x .55lm; y3=h; z4=(x3,.75h);
   z5=(1/2penwd,.65h); z6=(.27lm,.42h);
   z7=(lm,-.3h); z8=(lm,.22h);
   z9=(.35lm,-.4h);
   z10=(1/2penwd,.15h);
   draw z3--z4{left}...z5{down}..z6;
   draw z7--z8{up}..tension1.5..z6..z10{down}..tension1.3..{curl0}z9;
   z15=(x7,.16h);
   z16=(.70x7,-.12h);
   z17=(.42x7,.14h);
   z18=(.33x7,.03h);
   z19=(.55x7,-.35h);
   draw z15{left}..{curl4}z16;
   draw z16{curl6}..{left}z17..{down}z18..{curl0}z19;
endchar;

% beginchar(159,1.65twd#+rm#,ht#,.35ht#); "hva"; % original.
%    italcorr rm#+.5twd#;
%    path p;
%    lm := 1.1twd; pickup frame_pen;
%    xoff := w-rm-lm;
%    z1 = (0,h); z2 = (w,h);
%    draw z1--z2;
%    x3 = good.x xoff+.8lm; y3 = h; z4 = (x3,.75h);
%    z5 = (xoff+1/2penwd,.65h); z6 = (xoff+.4lm,.4h);
%    z7 = (xoff+.65lm,1/2penwd); z8 = (w-rm,.27h);
%    z9 = (xoff+1.1lm,-.3h);
%    z10 = (xoff+1/2penwd,.2h);
%    draw z3--z4{left}...z5{down}..z6;
%    p=z7..z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
%    draw p;
%    z11 = point 3.4 of p;
%    z12 = point 3.5 of p;
%    z13 = (1/2penwd,y12);
%    draw z11{curl.2}..tension1.3..z13{down}..tension1.3..{curl.5}z12;
% endchar;

beginchar(159,1.65twd#+rm#,ht#,.45ht#); "hva"; % revision
   italcorr rm#+.55twd#;
   lm := w-rm; pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3=good.x .55lm; y3=h; z4=(x3,.75h);
   z5=(1/2penwd,.65h); z6=(.27lm,.4h);
   z7=(lm,-.2h); z8=(lm,.27h);
   z9=(.73lm,-.4h);
   z10=(1/2penwd,.2h);
   draw z3--z4{left}...z5{down}..z6;
   draw z7--z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
   draw (lm,.05h)..(.75lm,.25h)..(.5lm,.05h)..(.75lm,-.1h)..cycle;
endchar;

% beginchar(160,1.5twd#+rm#,ht#,.25ht#); "hra"; % original
%    italcorr rm#+.5twd#;
%    path p;
%    lm := 1.1twd; pickup frame_pen;
%    xoff := w-rm-lm;
%    z1 = (0,h); z2 = (w,h);
%    draw z1--z2;
%    x3 = good.x xoff+.8lm; y3 = h; z4 = (x3,.75h);
%    z5 = (xoff+1/2penwd,.65h); z6 = (xoff+.4lm,.4h);
%    z7 = (xoff+.65lm,1/2penwd); z8 = (w-rm,.27h);
%    z9 = (xoff+1.1lm,-.3h);
%    z10 = (xoff+1/2penwd,.2h);
%    draw z3--z4{left}...z5{down}..z6;
%    p=z7..z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
%    draw p;
%    z11 = point 3.3 of p;
%    z12 = (1/2penwd,y9);
%    draw z12--z11;
% endchar;

beginchar(160,1.5twd#+rm#,ht#,.25ht#); "hra"; % revision
   italcorr rm#+.5twd#;
   path p;
   lm := 1.1twd; pickup frame_pen;
   xoff := w-rm-lm;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   x3 = good.x xoff+.8lm; y3 = h; z4 = (x3,.75h);
   z5 = (xoff+1/2penwd,.65h); z6 = (xoff+.4lm,.4h);
   z7 = (xoff+.7lm,1/2penwd); z8 = (xoff+.87lm,.27h);
   z9 = (xoff+.9lm,-.3h);
   z10 = (xoff+1/2penwd,.2h);
   draw z3--z4{left}...z5{down}..z6;
   p=z7..z8{up}..tension1.1 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
   draw p;
   z11 = point 3.3 of p;
   z12 = (1/2penwd,y9);
   draw z12--z11;
endchar;

% beginchar(161,1.6twd#+rm#,ht#,.25ht#); "hna"; % original.
%    italcorr rm#+.5twd#;
%    path p;
%    lm := 1.1twd; pickup frame_pen;
%    xoff := w-rm-lm;
%    z1 = (0,h); z2 = (w,h);
%    draw z1--z2;
%    x3 = good.x xoff+.8lm; y3 = h; z4 = (x3,.75h);
%    z5 = (xoff+1/2penwd,.65h); z6 = (xoff+.4lm,.4h);
%    z7 = (xoff+.65lm,1/2penwd); z8 = (w-rm,.27h);
%    z9 = (xoff+1.1lm,-.3h);
%    z10 = (xoff+1/2penwd,.2h);
%    draw z3--z4{left}...z5{down}..z6;
%    p=z7..z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
%    draw p;
%    z11 = point 3.3 of p;
%    z13 = (1.25penwd,y9+.75penwd);
%    z12 = (x13,y13+.75penwd);
%    filldraw fullcircle scaled 1.5penwd shifted(x13,y13);
%    draw z12--z11;
% endchar;

beginchar(161,1.6twd#+rm#,ht#,.4ht#); "hna"; % revision
   italcorr rm#+.5twd#;
   lm := w-rm; pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3=good.x .55lm; y3=h; z4=(x3,.75h);
   z5=(1/2penwd,.65h); z6=(.27lm,.4h);
   z7=(lm,-.2h); z8=(lm,.22h);
   z9=(.73lm,-.4h);
   z10=(1/2penwd,.2h);
   draw z3--z4{left}...z5{down}..z6;
   draw z7--z8{up}..tension1.0 and 1.2..z6..z10{down}..tension1.3..{curl0}z9;
   y16 = good.y .17h; x16 = lm;
   y15 = y16 - .75penwd; x15 = .5lm +1/2penwd;
   filldraw fullcircle scaled 1.5penwd shifted(x15,y15);
   z17 = (x15,y16);
   draw z16--z17;
endchar;

if altna:
  beginchar(162,1.4twd#+rm#,ht#,.2ht#); "h.na"; % alternate
     italcorr rm#+.5twd#; path p;
     lm := w-rm; pickup frame_pen;
     z1=(0,h); z2=(w,h);
     draw z1--z2;
     x3=good.x .55lm; y3=h; z4=(x3,.75h);
     z5=(1/2penwd,.65h); z6=(.27lm,.42h);
     z7=(lm,-.3h); z8=(lm,y6);
     z9=(.35lm,-.4h);
     z10=(1/2penwd,.15h);
     draw z3--z4{left}...z5{down}..z6;
     draw z7--z8--z6..z10{down}..tension1.3..{curl0}z9;
     pickup sub_pen;
     z11=(.70x7,y8); z12=(x11,-.12h);
     draw z11--z12;
     z13=(x9,.6[y7,y11]);
     z14=(x9+.28(w-rm),y7);
     p = z13{down}..tension1.1..{curl0}z14;
     z15=(x9+.11(w-rm),y11);
     z16=point .2 of p;
     draw p; draw z15{curl0}..tension1.1..{left}z16;
  endchar;
else:
  beginchar(162,1.4twd#+rm#,ht#,.2ht#); "h.na"; % original
     italcorr rm#+.85twd#;
     path p;
     lm := 1.1twd; pickup frame_pen;
     z1 = (0,h); z2 = (w,h);
     draw z1--z2;
     x3 = good.x .8lm; y3 = h; z4 = (x3,.75h);
     z5 = (1/2penwd,.65h); z6 = (.4lm,.4h);
     z7 = (w-rm,-.1h); z8 = (x7,y6);
     z9 = (1.0lm,-.3h);
     z10 = (1/2penwd,.2h);
     z11 = (.45(w-rm),y6);
     z12 = (.7(w-rm),y6);
     z13 = (.5[x11,x12],0);
     draw z3--z4{left}...z5{down}..z6;
     draw z7---z8---z6..z10{down}..tension1.3..{curl0}z9;
     draw z11{down}..z13{right}..z12{up};
  endchar;
fi;

beginchar(163,1.15twd#+rm#,ht#,0); ".s.ta";
   path p;
   italcorr rm#+.5twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm:= w-rm;
   x3=good.x .75lm; y3=h;
   z4=(x3,.53h);
   z6=(.55lm,0);
   z7=(lm,.1h);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.2..(1/2penwd,y)..{right}z6..{curl0}z7) < 0 enddef;
   z5 = (1/2penwd,solve dwn(y4,y6));
   p =  z4{curl0}..tension1.2..z5..z6{right}..{curl0}z7;
   draw p;
   z9 = point 0.45 of p;
   z10 = (penwd,h);
   z11 = (1/2penwd,.72h);
   draw z10..z11{down}..{curl.3}z9;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--(x3,y4);
endchar;

beginchar(164,1.15twd#+rm#,ht#,0); ".s.tha";
   path p;
   italcorr rm#+.5twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm:= w-rm;
   x3=good.x .75lm; y3=h;
   z4=(x3,.5h);
   z6=(.55lm,0);
   z7=(lm,y5);
   z8=(x4+1/2penwd,y4-penwd);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.1..(1/2penwd,y)..{right}z6) < 0 enddef;
   z5 = (1/2penwd,solve dwn(y4,y6));
   p =  z4{curl0}..tension1.1..z5..z6{right}..z7{up}..(x8+1/2penwd,y8);
   draw p;
   z9 = point 0.45 of p;
   z10 = (penwd,h);
   z11 = (1/2penwd,.72h);
   draw z10..z11{down}..{curl.3}z9;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--z4;
endchar;

% beginchar(165,4/3twd#+brm#,ht#,0); "lla"; % original.
%    italcorr brm#;
%    path p; path q;
%    frame; z5=(x3,.75h);
%    z6=(.625x3,.48h);
%    z7=(.25x3,.75h);
%    z8=(1/2penwd,.58h);
%    z9=(.2x3,.3h);
%    draw z5{left}..{curl4}z6;
%    p = z6{curl6}..{left}z7..{down}z8..{curl0}z9;
%    hdif := .43h;
%    z10 = (x5,y5-hdif);
%    z11 = (x6,y6-hdif);
%    z12 = (x7,y7-hdif);
%    z13 = (x8,y8-hdif);
%    z14 = (x9,y9-hdif);
%    draw z10{left}..{curl4}z11;
%    q = z11{curl6}..{left}z12..{down}z13..{curl0}z14;
%    draw q;
%    draw subpath (0,xpart(p intersectiontimes q)) of p;
% endchar;

if altla:
  beginchar(165,1.5twd#+brm#,ht#,0); "lla"; % alternate
     italcorr brm#;
     path p; path q;
     pickup frame_pen;
     lm := 4/3twd;
     z1 = (0,h);
     z2 = (w,h);
     z3 = (lm,h);
     z5=(x3,.75h);
     draw z1--z2;
     draw z3--z5;
     z6=(.6x3,.48h);
     z7=(.25x3,.75h);
     z8=(1/2penwd,.58h);
     z9=(.2x3,.3h);
     draw z5{left}..{curl4}z6;
     p = z6{curl6}..{left}z7..{down}z8..{curl0}z9;
     hdif := .43h;
     z10 = (x5,y5-hdif);
     z11 = (x6,y6-hdif);
     z12 = (x7,y7-hdif);
     z13 = (x8,y8-hdif);
     z14 = (x9,y9-hdif);
     draw z10{left}..{curl4}z11;
     q = z11{curl6}..{left}z12..{down}z13..{curl0}z14;
     draw q;
     draw subpath (0,xpart(p intersectiontimes q)) of p;
     z15 = (.94(w-rm),.5h);
     z16 = (.88(w-rm),.3h);
     draw z5{right}..z15{down}..tension2..z16;
     z17 = (x15,y15-hdif);
     z18 = (x16,y16-hdif);
     draw z10{right}..z17{down}..tension2..z18;
  endchar;
else:
  beginchar(165,4/3twd#+brm#,ht#,0); "lla"; % version 2.0
     italcorr brm#;
     path p; path q;
     frame; z5=(x3,.75h);
     z6=(.525x3,.48h);
     z7=(.25x3,.75h);
     z8=(1/2penwd,.58h);
     z9=(.2x3,.3h);
     draw z5{left}..{curl4}z6;
     p = z6{curl6}..{left}z7..{down}z8..{curl0}z9;
     hdif := .43h;
     z10 = (x5,y5-hdif);
     z11 = (x6,y6-hdif);
     z12 = (x7,y7-hdif);
     z13 = (x8,y8-hdif);
     z14 = (x9,y9-hdif);
     draw z10{left}..{curl4}z11;
     q = z11{curl6}..{left}z12..{down}z13..{curl0}z14;
     draw q;
     draw subpath (0,xpart(p intersectiontimes q)) of p;
  endchar;
fi;

beginchar(166,11/12twd#+brm#,ht#,.2ht#); "vna";
   italcorr brm#;
   frame; z5 = (x3,.56h);
   z6 = (1/2penwd,.54h);
   z7 = (x3,.52h);
   draw z5..tension1.5..z6{down}..tension1.5..z7;
   z8 = (x3,-.2h);
   draw z3--z8;
   low_n(1.1penwd,1/2penwd);
endchar;

beginchar(167,11/12twd#+brm#,ht#,.2ht#); "bna";
   italcorr brm#; path p;
   frame; z5 = (x3,.56h);
   z6 = (1/2penwd,.54h);
   z7 = (x3,.52h);
   p = z5..tension1.5..z6{down}..tension1.5..z7;
   draw p;
   y8 = h; z9 = (.58x3,.54h);
   z8 = z9 + whatever*dir125;
   y10 = 0;
   z10 = z9 + whatever*dir305;
   z11 = p intersectionpoint (z9--z8);
   z12 = p intersectionpoint (z9--z10);
   draw z11--z12;
   z13 = (x3,-.2h);
   draw z13--z3;
   low_n(1.1penwd,1/2penwd);
endchar;

beginchar(168,11/12twd#+brm#,ht#,.3ht#); "vva";
   italcorr brm#;
   frame; z5 = (x3,.62h);
   z6 = (1/2penwd,.6h);
   z7 = (x3,.58h);
   draw z5..tension1.5..z6{down}..tension1.5..z7;
   z8 = (x3,-.3h);
   draw z3--z8;
   z9 = (x3,.06h);
   z10 = (1/2penwd,.04h);
   z11 = (x3,.02h);
   draw z9..tension1.5..z10{down}..tension1.5..z11;
endchar;

beginchar(169,11/12twd#+brm#,ht#,.3ht#); "bba";
   italcorr brm#; path p; path q;
   frame; z5 = (x3,.62h);
   z6 = (1/2penwd,.6h);
   z7 = (x3,.58h);
   p =  z5..tension1.5..z6{down}..tension1.5..z7;
   draw p;
   z8 = (x3,-.3h);
   draw z3--z8;
   z9 = (x3,.06h);
   z10 = (1/2penwd,.04h);
   z11 = (x3,.02h);
   q = z9..tension1.5..z10{down}..tension1.5..z11;
   draw q;
   y12 = h; z13 = (.58x3,.6h);
   z12 = z13 + whatever*dir125;
   y14 = 0;
   z14 = z13 + whatever*dir305;
   z15 = p intersectionpoint (z13--z12);
   z16 = p intersectionpoint (z13--z14);
   draw z15--z16;
   y18 = h; z19 = (.58x3,.04h);
   z18 = z19 + whatever*dir125;
   y20 = -.3h;
   z20 = z19 + whatever*dir305;
   z21 = q intersectionpoint (z19--z18);
   z22 = q intersectionpoint (z19--z20);
   draw z21--z22;
endchar;

beginchar(170,1.9twd#+brm#,ht#,.3ht#); ".s.trya";
   path p;
   italcorr brm#;
   frame;
   lm:= 1.15twd;
   x23=good.x .75lm; y23=h;
   z24=(x23,.53h);
   z6=(.55lm,0);
   z7=(lm,.1h);
   draw z23--z24;
   vardef dwn(expr y) = xpart direction 1 of (z24{curl0}..tension1.2..
     (1/2penwd,y)..{right}z6..{curl0}z7) < 0 enddef;
   z5 = (1/2penwd,solve dwn(y24,y6));
   p =  z24{curl0}..tension1.2..z5..z6{right}..{curl0}z7;
   draw p;
   z9 = point 0.45 of p;
   z10 = (penwd,h);
   z11 = (1/2penwd,.72h);
   draw z10..z11{down}..{curl.3}z9;
   z12 = (.55lm,-.4h);
   draw z7--z12;
   z13 = (w-brm,0);
   draw z7{dir-80}..{curl.5}z13;
   z14 = (x3,-.3h);
   draw z3--z14;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--z24;
endchar;

beginchar(171,1.15twd#+rm#,ht#,.4ht#); ".s.tva";
   path p;
   italcorr rm#+.4twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm:= w-rm;
   x3=good.x .75lm; y3=h;
   z4=(x3,.53h);
   z6=(.55lm,0);
   z7=(lm,.1h);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.2..
     (1/2penwd,y)..{right}z6..{curl0}z7) < 0 enddef;
   z5 = (1/2penwd,solve dwn(y4,y6));
   p =  z4{curl0}..tension1.2..z5..z6{right}..{curl0}z7;
   draw p;
   z9 = point 0.45 of p;
   z10 = (penwd,h);
   z11 = (1/2penwd,.72h);
   draw z10..z11{down}..{curl.3}z9;
   z12 = point 1.6 of p;
   z13 = point 2.4 of p;
   z14 = (x13,y13-.5h);
   z15 = .6[z14,z13];
   z16 = (1/2penwd,.2[y15,y12]);
   draw z13--z14;
   draw z12..tension1.2..z16{down}..tension1.3..{curl.4}z15;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--z4;
endchar;

beginchar(172,13/17twd#+.25twd#+rm#+2penwd#,ht#,.4ht#); "'nka";
   italcorr rm#+.5twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-2penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.75 of p;
   z10 = (x16,y16-.65h);
   z11 = (x16,.53[y10,y16]);
   z12 = (.25x16,.53[y10,y16]);
   z13 = (x16,.53[y10,y16]);
   z14 = (1.55x16,y13);
   z15 = (1.46x16,.1[y10,y16]);
   draw z16--z10;
   pickup sub_pen;
   draw z11..tension1.4..z12{down}..tension1.4..z13;
   draw z13{curl.5}..z14{down}..tension1.3..z15;
endchar;

beginchar(173,13/17twd#+.25twd#+rm#+2penwd#,ht#,.45ht#); "'nkta";
   italcorr rm#+.6twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-2penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.75 of p;
   z10 = (x16,y16-.65h);
   z11 = (x16,.75[y10,y16]);
   z12 = (.2x16,y11);
   z14 = (1.55x16,y17);
   z15 = (1.46x16,.1[y10,y16]);
   z17 = (x16,.53[y10,y16]);
   z18 = (.4x16,.4[y10,y16]);
   z19 = (.55x16,y10);
   draw z16--z10;
   pickup sub_pen;
   draw z17{left}..tension1.2..z18..{curl0}z19;
   draw z12--z11;
   draw z11..z14{down}..tension1.3..z15;
endchar;

beginchar(174,1.9twd#+brm#,ht#,.45ht#); "'nktya";
   italcorr brm#; path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (lm+2penwd,.45h+.8penwd); sqdot(z9);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.75 of p;
   z10 = (x16,y16-.65h);
   z11 = (x16,.75[y10,y16]);
   z12 = (.2x16,y11);
   z13 = (1.15lm,.15[y10,y3]);
   z14 = (x3,.2[y10,y3]);
   z15 = (x3,y10);
   z20 = (1.35lm,.77[y10,y11]);
   z17 = (x16,.53[y10,y16]);
   z18 = (.4x16,.25[y10,y16]);
   z19 = (.55x16,y10);
   draw z16--z10;
   draw z3--z15;
   pickup  sub_pen;
   draw z17{left}..tension1.2..z18..{curl0}z19;
   draw z12--z11..z20{down}..z13;
   draw z13{dir-70}..tension1.1..{curl.2}z14;
endchar;

beginchar(175,1.9twd#+brm#,ht#,.4ht#); "'nkya";
   italcorr brm#; path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (lm+2penwd,.45h+.8penwd); sqdot(z9);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.75 of p;
   z10 = (x16,y16-.65h);
   z11 = (x16,.53[y10,y16]);
   z12 = (.2x16,y11);
   z13 = (1.25lm,.15[y10,y3]);
   z14 = (x3,.2[y10,y3]);
   z15 = (x3,y10);
   z20 = (1.4lm,.9[y10,y11]);
   draw z16--z10;
   draw z3--z15;
   pickup sub_pen;
   draw z11{curl.5}..tension1.3..z12{down}..tension1.3..{curl.5}z11;
   draw z11..tension1.2..z20{down}..tension1.1..{left}z13;
   draw z13{dir-70}..{curl.2}z14;
endchar;

if altksa:
  beginchar(176,13/17twd#+.25twd#+rm#+2penwd#,ht#,.45ht#); "'nk.sa";
     italcorr rm#+.4twd#; path p;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     x3 = good.x w-rm-2penwd; y3=h;
     z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
     z6 = (x3+1/2penwd,.36h);
     z7 = (1/2(.25twd+x3),1/7h);
     z8 = (1/2penwd,.45h);
     z9 = (w-rm,.45h+.8penwd); sqdot(z9);
     draw z1--z2; draw z3--z4;
     p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
     draw p;
     z10 = point 2.4 of p;
     z11 = (x10,y7-.65h);
     draw z10--z11;
     z12=(x10,.60[y11,y10]);
     z13=(1/2penwd,y12);
     draw z12--z13;
     z14=(.60x12,y12);
     z15=(.30x12,.32[y11,y10]);
     z16=(.70x12,.15[y11,y10]);
     z17= z16 + (.3thick*(dir(rot+90)));
     y18=.00[y11,y10]; z18=z16+whatever*dir285;
     pickup sub_pen;
     draw z14{dir225}..tension.9..{down}z15..tension.9 and 1.1..{dir30}z16;
     draw z17--z18;
     fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
     scaled (1.0*thick) shifted (z16 + .10thick*(dir rot));
  endchar;
else:
  beginchar(176,13/17twd#+.25twd#+rm#+2penwd#,ht#,.45ht#); "'nk.sa";
     italcorr rm#+.4twd#; path p;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     x3 = good.x w-rm-2penwd; y3=h;
     z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
     z6 = (x3+1/2penwd,.36h);
     z7 = (1/2(.25twd+x3),1/7h);
     z8 = (1/2penwd,.45h);
     z9 = (w-rm,.45h+.8penwd); sqdot(z9);
     draw z1--z2; draw z3--z4;
     p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
     draw p;
     z16 = point 2.4 of p;
     z10 = (x16,y7-.65h);
     draw z16--z10;
     pickup sub_pen;
     z11 = (x16,.7[y10,y7]);
     z12 = (.35x16,y7);
     z13 = (1/2penwd,.32[y10,y7]);
     z14 = (.6x16,.15[y10,y7]);
     z15 = (.7x16,y10-1/2penwd);
     z17 = (.2x16,.65[y10,y7]);
     z18 = (.5x16,.65[y10,y7]);
     z19 = (x14-1/4penwd,y14+1/4penwd);
     draw z11{dir230}..tension1.1..z17..z12{right}..z18..z13{down}..z14;
     draw z14--z15;
  endchar;
fi;

if altksa:
  beginchar(177,13/17twd#+.75twd#+rm#+2penwd#,ht#,.45ht#); "'nk.sva";
     italcorr rm#+.4twd#; path p;
     lm := .5twd;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     x3 = good.x w-rm-2penwd; y3=h;
     z4 = (x3,.74h); z5 = (lm+.25twd+1/2penwd,.6h);
     z6 = (x3+1/2penwd,.36h);
     z7 = (1/2(lm+.25twd+x3),1/7h);
     z8 = (lm+1/2penwd,.45h);
     z9 = (w-rm,.45h+.8penwd); sqdot(z9);
     draw z1--z2; draw z3--z4;
     p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
     draw p;
     z10 = point 2.4 of p;
     z11 = (x10,y7-.65h);
     draw z10--z11;
     z12 = (x10,.52[y11,y7]);
     z13 = (.85(x10-lm),.52[y11,y7]);
     pickup sub_pen;
     draw z12{curl.5}..tension1.3..z13{down}..tension1.3..{curl.5}z12;
     z14=(x13,.60[y11,y10]);
     z15=(1/2penwd,y14);
     draw z14--z15;
     z16=(.60x14,y14);
     z17=(.30x14,.32[y11,y10]);
     z18=(.70x14,.15[y11,y10]);
     z19= z18 + (.3thick*(dir(rot+90)));
     y20=.00[y11,y10]; z20=z18+whatever*dir285;
     pickup sub_pen;
     draw z16{dir225}..tension.9..{down}z17..tension.9 and 1.1..{dir30}z18;
     draw z19--z20;
     fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
     scaled (1.0*thick) shifted (z18 + .10thick*(dir rot));
  endchar;
else:
  beginchar(177,13/17twd#+.75twd#+rm#+2penwd#,ht#,.45ht#); "'nk.sva";
     italcorr rm#+.4twd#; path p;
     lm := .5twd;
     pickup frame_pen;
     z1=(0,h); z2=(w,h);
     x3 = good.x w-rm-2penwd; y3=h;
     z4 = (x3,.74h); z5 = (lm+.25twd+1/2penwd,.6h);
     z6 = (x3+1/2penwd,.36h);
     z7 = (1/2(lm+.25twd+x3),1/7h);
     z8 = (lm+1/2penwd,.45h);
     z9 = (w-rm,.45h+.8penwd); sqdot(z9);
     draw z1--z2; draw z3--z4;
     p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
     draw p;
     z16 = point 2.4 of p;
     z10 = (x16,y7-.65h);
     draw z16--z10;
     z11 = (.85(x16-lm),.52[y10,y7]);
     z12 = (.35(x16-lm),y7);
     z13 = (1/2penwd,.32[y10,y7]);
     z14 = (.6(x16-lm),.15[y10,y7]);
     z15 = (.7(x16-lm),y10-1/2penwd);
     z17 = (.16(x16-lm),.65[y10,y7]);
     z18 = (.5(x16-lm),.65[y10,y7]);
     z20 = (x16,.52[y10,y7]);
     z21 = (.85(x16-lm),y20);
     pickup sub_pen;
     draw z20{curl.5}..tension1.3..z11{down}..tension1.3..{curl.5}z20;
     draw z11{dir230}..tension1.1..z17..z12{right}..z18..z13{down}..z14;
     draw z14--z15;
  endchar;
fi;

beginchar(178,13/17twd#+.25twd#+rm#+2penwd#,ht#,.45ht#); "'nkha";
   italcorr rm#+.4twd#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-2penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y7-.65h);
   draw z16--z10;
   z11 = (1/2penwd,.73[y10,y7]);
   z12 = point 3.45 of p;
   z13 = (.55x16,y10);
   pickup sub_pen;
   q = z11{down}..tension1.1..{curl0}z13;
   draw q;
   z14 = point .1 of q;
   draw z12{curl0}..tension1.1..{left}z14;
   z15 = (x16,.55[y10,y7]);
   z17 = (.5x16,.5[y10,y7]);
   z18 = (x16,.45[y10,y7]);
   draw z15..tension1.3..z17{down}..tension1.3..z18;
endchar;

beginchar(179,13/17twd#+.25twd#+rm#+penwd#,ht#,.35ht#); ".dga";
   italcorr rm#+.2twd#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y7-.65h);
   draw z16--z10;
   z11 = point 3.3 of p;
   z12 = (x11,.3[y10,y11]);
   z13 = (1.2x11,2/3[y11,y12]);
   z14 = (.35x16,y12+.08h);
   q = z11..z13{down}..z12{left}..z14{up};
   z15 = point 2.3 of q;
   draw q..{curl.2}z15;
   v[charcode]=currentpicture;
endchar;

beginchar(180,13/17twd#+.25twd#+rm#+penwd#,ht#,.45ht#); ".dgha";
   italcorr rm#+.2twd#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y7-.65h);
   draw z16--z10;
   z11 = .4[z10,z16];
   z12 = (.25x16,y11);
   z13 = (.55x16,.55[y10,y16]);
   z14 = point 3.36 of p;
   q = z11{curl0}..z12{up}..{right}z13;
   draw q;
   z15 = point 1.6 of q;
   z17 = (.35x16,.85[y10,y16]);
   draw z15{curl0}..z14{right};
   v[charcode]=currentpicture;
endchar;

beginchar(181,13/17twd#+.25twd#+rm#+2penwd#,ht#,.4ht#); "'nna";
   italcorr rm#+.4twd#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-2penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y7-.65h);
   draw z16--z10;
   y11 := good.y .5[y10,y16]; x11 := x16;
   y12 := y11 - .75penwd; x12 := .4x16;
   filldraw fullcircle scaled 1.5penwd shifted(x12,y12);
   z13 = (x12,y11);
   draw z11--z13;
endchar;

beginchar(182,13/17twd#+.25twd#+rm#+penwd#,ht#,.45ht#); ".dghra";
   italcorr rm#+.2twd#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-penwd; y3=h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   draw z1--z2; draw z3--z4;
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y7-.65h);
   draw z16--z10;
   z11 = .5[z10,z16];
   z12 = (.25x16,.4[y10,y16]);
   z13 = (.55x16,.55[y10,y16]);
   z14 = point 3.36 of p;
   q = z11{curl0}..z12{up}..{right}z13;
   draw q;
   z15 = point 1.6 of q;
   z17 = (.35x16,.85[y10,y16]);
   draw z15{curl0}..z14{right};
   z18 = .45[z10,z16];
   z19 = (x12,y10-1/2penwd);
   draw z18--z19;
   v[charcode]=currentpicture;
endchar;

beginchar(183,1.8twd#+brm#,ht#,0); ".dya";
   italcorr brm#; path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z10 = point 2.2 of p;
   z9 = (w-brm,.35h);
   draw z10{dir-30}..{curl.3}z9;
endchar;

beginchar(184,1.9twd#+brm#,ht#,.35ht#); ".dgya";
   italcorr brm#; path p; path q;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.3 of p;
   z10 = (x16,y16-.65h);
   z11 = point 3.3 of p;
   z12 = (x11,.3[y10,y11]);
   z17 = (1.2x11,2/3[y11,y12]);
   z18 = (.35x16,y12+.08h);
   q = z11..z17{down}..z12{left}..z18{up};
   z19 = point 2.3 of q;
   draw q..{curl.2}z19;
   z13 = (1.1lm,.2[y10,y3]);
   z14 = (x3,.25[y10,y3]);
   z15 = (x3,y10);
   z20 = (1.35lm,.68[y10,y16]);
   draw z16..z20{down}..tension1.1..{curl.5}z13;
   draw z13{dir-70}..{curl.2}z14;
   draw z3--z15;
endchar;

beginchar(185,1.9twd#+brm#,ht#,.35ht#); "'nghya";
   italcorr brm#; path p; path q;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (lm+2penwd,.45h+.8penwd); sqdot(z9);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y16-.65h);
   z13 = (1.15lm,.2[y10,y3]);
   z14 = (x3,.25[y10,y3]);
   z15 = (x3,y10);
   draw z16{dir250}..z13{dir-70}..tension1.1..{curl.2}z14;
   z11 = (.25x16,y13);
   z12 = (.65x16,.55[y10,y16]);
   z17 = point 3.36 of p;
   q = z13{curl0}..z11{up}..{right}z12;
   draw q;
   z18 = point 1.6 of q;
   draw z18{curl0}..z17{right};
   draw z3--z15;
endchar;

beginchar(186,1.9twd#+brm#,ht#,.35ht#); "'nkhya";
   italcorr brm#; path p; path q; path r;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (lm+2penwd,.45h+.8penwd); sqdot(z9);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y16-.65h);
   z15 = (x3,y10);
   z11 = (1/2penwd,.73[y10,y7]);
   z12 = point 3.45 of p;
   z17 = (.55x16,y10);
   q = z11{down}..tension1.1..{curl0}z17;
   draw q;
   z18 = point .1 of q;
   draw z12{curl0}..tension1.1..{left}z18;
   z13 = (1.15lm,.2[y10,y3]);
   z14 = (x3,.25[y10,y3]);
   r =  z16{dir250}..z13{dir-70}..tension1.1..{curl.2}z14;
   draw r;
   z19 = point 0.8 of r;
   z20 = point 1.2 of r;
   z21 = (.65x16,y20);
   draw z19..tension1.4..z21{down}..tension1.3..z20;
   draw z3--z15;
endchar;

beginchar(187,1.9twd#+brm#,ht#,.35ht#); ".dma";
   italcorr brm#; path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y16-.65h);
   z14 = (x3,.2[y10,y3]);
   z15 = (x3,y10);
   z11 = (x16,y14-penwd);
   z12 = (x11-1/2penwd,y11+1/2penwd);
   draw z16--z11;
   draw (reverse halfcircle rotated rot scaled usthick shifted z12)--z14;
   draw z3--z15;
endchar;

beginchar(188,13/17twd#+.25twd#+rm#+2penwd#,ht#,.6ht#); "'n'na";
   italcorr rm#+.6twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-2penwd; y3 = h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   draw z3--z4;
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z10 = (x3,y6);
   z11 = (x3,0);
   z12 = p intersectionpoint (z10--z11);
   addto currentpicture also currentpicture shifted (0,y12-h);
   draw z1--z2;
endchar;

beginchar(189,13/17twd#+.25twd#+rm#+2penwd#,ht#,.4ht#); "'nga";
   italcorr rm#+.4twd#;
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   addpic(179);
endchar;

beginchar(190,1.9twd#+brm#,ht#,.3ht#); "'ngya";
   italcorr brm#;
   z9 = (13/17twd+.25twd+2penwd,.45h+.8penwd); sqdot(z9);
   path p; path q;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.3 of p;
   z10 = (x16,y16-.65h);
   z11 = point 3.3 of p;
   z12 = (x11,.3[y10,y11]);
   z17 = (1.2x11,2/3[y11,y12]);
   z18 = (.35x16,y12+.08h);
   q = z11..z17{down}..z12{left}..z18{up};
   z19 = point 2.3 of q;
   draw q..{curl.2}z19;
   z13 = (1.1lm,.2[y10,y3]);
   z14 = (x3,.25[y10,y3]);
   z15 = (x3,y10);
   z20 = (1.35lm,.68[y10,y16]);
   draw z16..z20{down}..tension1.1..{curl.5}z13;
   draw z13{dir-70}..{curl.2}z14;
   draw z3--z15;
endchar;

beginchar(191,13/17twd#+.25twd#+rm#+2penwd#,ht#,.4ht#); "'ngha";
   italcorr rm#+.4twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   addpic(180);
endchar;

beginchar(192,13/17twd#+.25twd#+rm#+2penwd#,ht#,.4ht#); "'nghra";
   italcorr rm#+.4twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   z9 = (w-rm,.45h+.8penwd); sqdot(z9);
   addpic(182);
endchar;

beginchar(193,1.9twd#+brm#,ht#,.35ht#); "'nma";
   italcorr brm#;
   z9 = (13/17twd+.25twd+2penwd,.45h+.8penwd); sqdot(z9);
   path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y16-.65h);
   z14 = (x3,.2[y10,y3]);
   z15 = (x3,y10);
   z11 = (x16,y14-penwd);
   z12 = (x11-1/2penwd,y11+1/2penwd);
   draw z16--z11;
   draw (reverse halfcircle rotated rot scaled usthick shifted z12)--z14;
   draw z3--z15;
endchar;

beginchar(194,1.9twd#+brm#,ht#,.35ht#); "'nya";
   italcorr brm#; path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z16 = point 2.4 of p;
   z10 = (x16,y16-.65h);
   z13 = (1.15lm,.2[y10,y3]);
   z14 = (x3,.25[y10,y3]);
   z15 = (x3,y10);
   z20 = (1.35lm,.8[y10,y16]);
   draw z16{curl0}..z20{down}..z13;
   draw z13{dir-70}..tension1.1..{curl.2}z14;
   draw z3--z15;
   z9 = (13/17twd+.25twd+2penwd,.45h+.8penwd); sqdot(z9);
endchar;

beginchar(195,1.65twd#+rm#,ht#,0); "kka";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h); x3=good.x twd; y3=h;
   z4 = (x3,0); draw z1--z2; draw z3--z4;
   z5 = (x3,.65h);
   z6 = (1/2penwd,.65h);
   z8 = (w-rm,.6h);
   z9 = (.96x8,.48h);
   draw z5{curl.5}..tension1.9..z6{down}..tension1.9..{curl.5}z5;
   draw z5{curl.5}..tension1.2..z8{down}..tension1.3..z9;
   z10 = (x3,.17h);
   z11 = (1/2penwd,.17h);
   z13 = (w-rm,.12h);
   z14 = (.96x13,0);
   draw z10{curl.5}..tension1.9..z11{down}..tension1.9..{curl.5}z10;
   draw z10{curl.5}..tension1.2..z13{down}..tension1.3..z14;
endchar;

beginchar(196,1.55twd#+rm#,ht#,0); "kta";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   lm := 23/16twd;
   xm := w - rm - lm;
   z1=(0,h); z2=(w,h); x3 = good.x (xm + .55lm); y3=h;
   z4 = (x3,0); draw z1--z2; draw z3--z4;
   z7 = (x3,.5h);
   z8 = (w-rm,.5h);
   z9 = (xm+.94lm,.1h);
   draw z7{curl.5}..z8{down}..tension1.3..z9;
   z10 = (x3,.75h);
   z11 = (1/2penwd,y10);
   draw z10--z11;
   z12 = (x3,.5h);
   z13 = (.65xm+.35x3,y12);
   z14 = (.5xm+.5x3,0);
   draw z12---z13..{curl0}z14;
endchar;

beginchar(197,2.0twd#+brm#,ht#,0); "ktya";
   italcorr brm#;
   frame;
   lm := 23/16twd;
   xm := .1twd;
   x5 = good.x (xm + .55lm); y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.75h);
   z10 = (x5,.75h);
   z11 = (1/2penwd,y10);
   draw z10--z11;
   z12 = (x5,.5h);
   z13 = (.65xm + .35x5,y12);
   z14 = (.5xm + .5x5,0);
   draw z12---z13..{curl0}z14;
   z8 = (.77(w-brm),.6h);
   z9 = (.65(w-brm),.4h);
   z15 = (x3,.45h);
   draw z9{dir-70}..{curl.5}z15;
   draw z7{right}..z8..tension1.3..z9;
endchar;

beginchar(198,2.15twd#+rm#,ht#,0); "ktva";
   italcorr rm#+.65twd#; path p;
   pickup frame_pen;
   lm := 23/16twd;
   z1=(0,h); z2=(w,h); x3 = good.x (w-rm-.45lm); y3=h;
   z4 = (x3,0); draw z1--z2; draw z3--z4;
   z7 = (x3,.5h);
   z8 = (w-rm,.5h);
   z9 = (.94(w-rm),.1h);
   draw z7{curl.5}..z8{down}..tension1.3..z9;
   z10 = (x3,.75h);
   z11 = (1/2penwd,y10);
   draw z10--z11;
   z15 = (x3,.37h);
   z16 = (.55lm,.37h);
   p = z15..tension1.5..z16{down}..tension1.5..z15;
   draw p;
   z12 = point 0.85 of p;
   z13 = (.4x12,y12);
   z14 = (.57x12,0);
   draw z12---z13..{curl0}z14;
endchar;

beginchar(199,23/16twd#+rm#,ht#,0); "kna";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   lm := w-rm;
   z1 = (0,h); z2 = (w,h); x3 = good.x .55lm; y3 = h;
   z4 = (x3,0); draw z1--z2; draw z3--z4;
   z5 = (x3,.6h);
   z6 = (1/2penwd,.55h);
   z7 = (x3,.5h);
   z8 = (lm,.5h);
   z9 = (.94lm,.1h);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
   draw z7{curl.5}..z8{down}..tension1.3..z9;
   low_n(1.1penwd,.15h);
endchar;

beginchar(200,1.9twd#+brm#,ht#,0); "kya";
   italcorr brm#;
   frame;
   lm := 23/16twd;
   x5 = good.x .55lm; y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.76h);
   z8 = (.7(w-brm),.64h);
   z9 = (.6(w-brm),.45h);
   z15 = (x3,.45h);
   draw z9{dir-70}..{curl.5}z15;
   draw z7{right}..z8..tension1.3..z9;
   z10 = (x5,.6h);
   z11 = (1/2penwd,.55h);
   z12 = (x5,.5h);
   draw z10..tension1.3..z11{down}..tension1.3..z12;
endchar;

beginchar(201,2.0twd#+brm#,ht#,0); "kma";
   italcorr brm#;
   frame;
   lm := 23/16twd;
   x5 = good.x .55lm; y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.76h);
   y8 = good.y .27h+penwd; x8 = x3;
   z9 = (1.1twd+3/2penwd,y8-penwd);
   z13 = (x9-1/2penwd,y9+1/2penwd);
   z14 = (x9,y7-penwd);
   draw z7{right}..z14---z9;
   draw (reverse halfcircle rotated rot scaled usthick shifted z13)--z8;
   z15 = (x3,.45h);
   z10 = (x5,.6h);
   z11 = (1/2penwd,.55h);
   z12 = (x5,.5h);
   draw z10..tension1.3..z11{down}..tension1.3..z12;
endchar;

beginchar(202,1.8twd#+rm#,ht#,0); "kla";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   lm := 23/16twd;
   z1=(0,h); z2=(w,h); x3=good.x w-rm-.45lm; y3=h;
   z4 = (x3,0); draw z1--z2; draw z3--z4;
   z5 = (x3,.6h);
   z6 = (w-rm-lm+1/2penwd,.55h);
   z7 = (x3,.5h);
   z8 = (w-rm,.5h);
   z9 = (w-rm-.06lm,.1h);
   draw z5..tension1.3..z6{down}..tension1.3..z7;
   draw z7{curl.5}..z8{down}..tension1.3..z9;
   z14=(x3,.38h);
   z10=(.55x3,.18h);
   z11=(1/4x3,.4h);
   z12=(1/2penwd,.3h);
   z13=(3/8x3,0);
   draw z14{left}..{curl4}z10;
   draw z10{curl6}..{left}z11..{down}z12..{curl0}z13;
endchar;

beginchar(203,1.65twd#+rm#,ht#,0); "kva";
   italcorr rm#+.65twd#;
   pickup frame_pen;
   z1=(0,h); z2=(w,h); x3=good.x twd; y3=h;
   z4 = (x3,0); draw z1--z2; draw z3--z4;
   z5 = (x3,.65h);
   z6 = (1/2penwd,.65h);
   draw z5{curl.5}..tension1.9..z6{down}..tension1.9..{curl.5}z5;
   z10 = (x3,.17h);
   z11 = (1/2penwd,.17h);
   draw z10{curl.5}..tension1.9..z11{down}..tension1.9..{curl.5}z10;
   z7 = (x3,.65h);
   z8 = (w-rm,.5h);
   z9 = (.94(w-rm),.1h);
   draw z7{curl.5}..z8{down}..tension1.3..z9;
endchar;

beginchar(204,2.1twd#+brm#,ht#,0); "kvya";
   italcorr brm#;
   frame;
   x5 = good.x twd; y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.76h);
   z8 = (.77(w-brm),.6h);
   z9 = (.64(w-brm),.42h);
   z15 = (x3,.42h);
   z12 = (x5,.65h);
   z13 = (1/2penwd,.65h);
   draw z12{curl.5}..tension1.9..z13{down}..tension1.9..{curl.5}z12;
   z10 = (x5,.17h);
   z11 = (1/2penwd,.17h);
   draw z10{curl.5}..tension1.9..z11{down}..tension1.9..{curl.5}z10;
   draw z9{dir-70}..{curl.5}z15;
   draw z12..tension1.3..z8..tension1.3..z9;
endchar;

beginchar(205,1.1twd#+brm#,ht#,.1ht#); "ghna";
   italcorr brm#;
   frame;
   path p;
   z5 = (x3,.5h);
   z6 = (.65x3,.65h);
   z10 = (.18x3,.5h);
   p = z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7 = point 1.7 of p;
   z8 =(.26x3,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9 = (1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
   low_n(.3(w-brm),.1h);
endchar;

beginchar(206,1.2twd#+brm#,ht#,0); "cca";
   italcorr brm#; path p;
   frame; y5 = good.y .7h; x5 = 1/2penwd;
   z6 = (w-brm-penwd,y5);
   z9 = (.44x3,y5);
   z7 = (.55x3,.35h);
   z8 = (w-brm,.45h);
   draw z5--z6; p = z9{curl.5}..z7{right}..z8;
   y10 = good.y .38h; x10 = 1/2penwd;
   z11 = (w-brm-penwd,y10);
   draw subpath (0,xpart(p intersectiontimes (z10--z11))) of p;
   z12 = (.44x3,y10);
   z13 = (.55x3,.03h);
   z14 = (w-brm,.13h);
   draw z10--z11; draw z12{curl.5}..z13{right}..z14;
endchar;

beginchar(207,1.2twd#+brm#,ht#,0); "c~na";
   italcorr brm#;
   frame; y5 = good.y .74h; x5 = 1/2penwd;
   z6 = (w-brm-penwd,y5);
   z9 = (.6x3,y5);
   z7 = (2/5x6,.54h);
   z8 = (w-brm,.62h);
   draw z5--z6; draw z9..z7{down}..tension1.1..{curl0.1}z8;
   z10 = (.1(w-brm),.3h);
   z11 = (.4(w-brm),.15h);
   z12 = (.2(w-brm),0);
   z13 = (w-brm,y11);
   z14 = (1/2penwd,.05h);
   draw z10..z11{down}..z12{left}..z14;
   draw z11{dir-20}..z13;
endchar;

if altcha:
  beginchar(208,2.6twd#+rm#,ht#,0); "chya"; % alternate
     italcorr brm#;
     frame;
     lm := 1.8twd; path p;
     x13 = good.x .75lm; y13=h; z14 = (x13,.72h);
     z5 = (x3,.3h); z6 = (lm,0);
     z7 = (.38lm,0); z8 = (.5lm,.45h);
     z12 = (x13,.2h);
     p= z5{curl.2}..z6..z12..z14{right}..z7{left}..tension.9..{right}z8;
     draw p;
     z9 = point 4.75 of p;
     z10 = (.8x8,.75h);
     z11 = (1/2penwd,.7[y9,y10]);
     draw z9..tension1.4..z11{up}..tension1.3..{curl0}z10;
  endchar;
else:
  beginchar(208,2.6twd#+rm#,ht#,0); "chya"; % original
     italcorr brm#;
     frame;
     lm := 1.8twd; path p;
     x13 = good.x .75lm; y13=h; z14 = (x13,.72h);
     z5 = (x3,.3h); z6 = (lm,0);
     z7 = (.38lm,0); z8 = (.5lm,.45h);
     z12 = (x13,.2h);
     draw z13--z14;
     p= z5{curl.2}..z6..z12..z14{right}..z7{left}..tension.9..{right}z8;
     draw p;
     z9 = point 4.75 of p;
     z10 = (.8x8,.75h);
     z11 = (1/2penwd,.7[y9,y10]);
     draw z9..tension1.4..z11{up}..tension1.3..{curl0}z10;
  endchar;
fi;

beginchar(209,1.2twd#+brm#,ht#,.1ht#); "~nca";
   italcorr brm#;
   frame; y5 = good.y .3h; x5 = 1/2penwd;
   z6 = (w-brm-penwd,y5);
   z9 = (.6x3,y5);
   z7 = (2/5x6,.1h);
   z8 = (w-brm,.18h);
   draw z5--z6; draw z9..z7{down}..tension1.1..{curl0.1}z8;
   z10 = (.1(w-brm),.8h);
   z11 = (.4(w-brm),.65h);
   z12 = (.2(w-brm),.5h);
   z13 = (w-brm,y11);
   z14 = (1/2penwd,.53h);
   draw z10..z11{down}..z12{left}..z14;
   draw z11{dir-20}..z13;
endchar;

beginchar(210,1.4twd#+brm#,ht#,0); "~nja";
   italcorr brm#;
   lm := 1.2twd;
   frame;
   y5 = good.y .3h; x5 = 1/2penwd;
   z7 = (.45x3,y5);
   z8 = (w-brm,y5);
   z6 = (.52x3,0);
   draw z5{curl.5}..tension1.2..z6{right}..{curl0}z7--z8;
   z10 = (.1lm,.8h);
   z11 = (.4lm,.65h);
   z12 = (.2lm,.5h);
   z13 = (w-brm,y11);
   z14 = (1/2penwd,.53h);
   draw z10..z11{down}..z12{left}..z14;
   draw z11{dir-20}..z13;
endchar;

beginchar(211,1.15twd#+rm#,ht#,.4ht#); ".t.ta";
   italcorr rm#+.5twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm := w-rm;
   x3 = good.x .7lm; y3=h;
   z4 = (x3,.72h);
   z6 = (.55lm,.3h);
   z7 = (lm,.4h);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.1..
   (1/2penwd,y)..z6{right}..{curl0}z7) < 0 enddef;
   z55 = (1/2penwd,solve dwn(y4,y6));
   p =  z4{curl0}..tension1.1..z55..z6{right}..{curl0}z7;
   draw p;
   z8 = p intersectionpoint ((x3,.65h)--(x3,0));
   hdif := y3-y8;
   z9 = (x4,y4-hdif);
   z10 = (x55,y55-hdif);
   z11 = (x6,y6-hdif);
   z12 = (x7,y7-hdif);
   draw z8--z9;
   draw z9{curl0}..tension1.1..z10..z11{right}..{curl0}z12;
endchar;

beginchar(212,1.8twd#+brm#,ht#,0); ".tya";
   italcorr brm#;
   frame;
   lm := 1.0twd;
   x5 = good.x .7lm; y5=h;
   z8 = (x5,.66h);
   z7 = (x5+1/2penwd,.2h);
   draw z5--z8;
   vardef dwn(expr y) = xpart direction 1 of (z8{curl0}..tension1.1..
     (1/2penwd,y)..tension1.1..{curl0}z7) < 0 enddef;
   z55 = (1/2penwd,solve dwn(y8,y7));
   draw z8{curl0}..tension1.1..z55..tension1.1..{curl0}z7;
   z9 = (.58x3,.33h);
   z10 = (x3,.4h);
   z11 = .4[z8,z5];
   z12 = (.65x3,.88y11);
   draw z9{dir-60}..tension1.1..{curl.2}z10;
   draw z11{right}..z12..tension1.1..z9;
endchar;

beginchar(213,1.45twd#+brm#,ht#,.1ht#); ".thya";
   italcorr brm#;
   frame; path p;
   lm := 1twd;
   x9 = good.x .75lm; y9 = h;
   z10 = (x9,.72h);
   z6 = (.55lm,.22h);
   z7 = (lm,y5);
   z8 = (x10+penwd,y10-penwd);
   draw z9--z10;
   vardef dwn(expr y) = xpart direction 1 of (z10{curl0}..(1/2penwd,y)
   ..{right}z6) < 0 enddef;
   z5 = (1/2penwd,solve dwn(y10,y6));
   p = z10{curl0}..z5..z6{right}..z7{up}..{curl0}z8;
   draw p;
   z11 = point 2.15 of p;
   z12 = (x3,y11);
   draw z11{dir-90}..tension.95..{curl.2}z12;
endchar;

beginchar(214,1.15twd#+rm#,ht#,.25ht#); ".tka";
   italcorr rm#+.5twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm := w-rm;
   x3 = good.x .7lm; y3=h;
   z4 = (x3,.72h);
   z6 = (.55lm,.3h);
   z7 = (lm,.4h);
   draw z3--z4;
   vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.1..
   (1/2penwd,y)..z6{right}..{curl0}z7) < 0 enddef;
   z55 = (1/2penwd,solve dwn(y4,y6));
   p =  z4{curl0}..tension1.1..z55..z6{right}..{curl0}z7;
   draw p;
   z16 = point 2.1 of p;
   z10 = (x16,y16-.7h);
   z11 = (x16,.53[y10,y16]);
   z12 = (1/2penwd,.53[y10,y16]);
   z13 = (x16,.53[y10,y16]);
   z14 = (1.65x16,y13);
   z15 = (1.55x16,.1[y10,y16]);
   draw z16--z10;
   draw z11..tension1.4..z12{down}..tension1.4..z13;
   draw z13{curl.5}..z14{down}..tension1.3..z15;
endchar;

beginchar(215,1.3twd#+brm#, ht#, 0); "tna";
   italcorr brm#;
   frame; y5 = good.y 2/3h; x5 = x3;
   z6 = (0.35twd,y5); z7 = (0.45twd,0);
   draw z5---z6..{curl0}z7;
   low_n(.7twd,.38h);
endchar;

beginchar(216,twd#+brm#,ht#,0); "pta";
   italcorr brm#;
   frame;
   z5 = (1/2penwd,h);
   z6 = (w-brm,.5h);
   x7 = x5+.17(w-brm);
   y7 = y6+.14h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z9 = (1/2penwd,.62y6); z10 = (0.45x3,0);
   draw z6{left}..tension1.2..z9{down}..{curl0}z10;
endchar;

beginchar(217,twd#+brm#,ht#,0); "pna";
   italcorr brm#;
   frame;
   z5 = (penwd,h);
   z6 = (w-brm,.5h);
   x7 = x5+.17(w-brm);
   y7 = y6+.1h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   low_n(1.1penwd,.2h);
endchar;

beginchar(218,1.3twd#+brm#,ht#,0); "pla";
   italcorr brm#;
   frame;
   z5 = (.3twd+penwd,h);
   z6 = (w-brm,.5h);
   x7 = x5+.17twd;
   y7 = y6+.1h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z14=(x3,.38h);
   z10=(.55x3,.18h);
   z11=(1/4x3,.4h);
   z12=(1/2penwd,.3h);
   z13=(3/8x3,0);
   draw z14{left}..{curl4}z10;
   draw z10{curl6}..{left}z11..{down}z12..{curl0}z13;
endchar;

beginchar(219,11/12twd#+brm#,ht#,.3ht#); "bva";
   italcorr brm#; path p;
   frame; z5 = (x3,.62h);
   z6 = (1/2penwd,.6h);
   z7 = (x3,.58h);
   p =  z5..tension1.5..z6{down}..tension1.5..z7;
   draw p;
   z8 = (x3,-.3h);
   draw z3--z8;
   z9 = (x3,.06h);
   z10 = (1/2penwd,.04h);
   z11 = (x3,.02h);
   draw z9..tension1.5..z10{down}..tension1.5..z11;
   y12 = h; z13 = (.58x3,.6h);
   z12 = z13 + whatever*dir125;
   y14 = 0;
   z14 = z13 + whatever*dir305;
   z15 = p intersectionpoint (z13--z12);
   z16 = p intersectionpoint (z13--z14);
   draw z15--z16;
endchar;

beginchar(220,1.5twd#+brm#,ht#,0); "sna";
   italcorr brm#;
   frame; path p; path q;
   z5 = (1/2penwd,.65h);
   z6 = (.6twd,0);
   p = z5{down}..tension1.1..{curl0}z6;
   z7 = point .2 of p;
   z8 = (.424twd,h);
   q = z8{curl0}..tension1.1..{left}z7;
   z9 = point .65 of q;
   z10 = (w-brm,y9);
   draw p; draw q; draw z9{dir-30}..tension1.1..z10;
   low_n(.95twd,.25h);
endchar;

beginchar(221,1.6twd#+brm#,ht#,0); "mla";
   italcorr brm#;
   frame; x5 = good.x 3/2penwd; y5=h;
   z6 = (x5,y7-penwd);
   y7 = good.y .42h+penwd; x7=x3;
   z8 = (x6-1/2penwd,y6+1/2penwd);
   draw z5--z6;
   draw (reverse halfcircle rotated rot scaled usthick shifted z8)--z7;
   lm := 1.2twd;
   bm := w-brm-lm;
   z14 = (w-brm,.28h);
   z10 = (.55lm+bm,.08h);
   z11 = (1/4lm+bm,.3h);
   z12 = (1/2penwd+bm,.2h);
   z13 = (3/8lm+bm,-.1h);
   draw z14{left}..{curl4}z10;
   draw z10{curl6}..{left}z11..{down}z12..{curl0}z13;
endchar;

beginchar(222,1.5twd#+brm#,ht#,0); "bhna";
   italcorr brm#;
   tframe;
   z5 = (0,h);
   z6 = (3/2penwd+.1twd,.76h);
   z7 = (x6,.42h);
   z8 = (x3,y7+penwd);
   z9 = (x7-1/2penwd,y7+1/2penwd);
   draw z5{right}..tension.95..z6---z7;
   draw (reverse halfcircle rotated rot scaled usthick shifted z9)--z8;
   low_n(.85twd,.25h);
endchar;

beginchar(223,1.5twd#+brm#,ht#,0); "mna";
   italcorr brm#;
   frame; x5 = good.x 3/2penwd; y5=h;
   z6 = (x5,y7-penwd);
   y7 = good.y .42h+penwd; x7=x3;
   z8 = (x6-1/2penwd,y6+1/2penwd);
   draw z5--z6;
   draw (reverse halfcircle rotated rot scaled usthick shifted z8)--z7;
   low_n(.85twd,.25h);
endchar;

beginchar(224,1.2twd#+brm#,ht#,0); "nna";
   italcorr brm#;
   frame; path p;
   z5 = (x3,.47h);
   z6 = (1.0penwd,.72h);
   z7 = (x6,y6-.5penwd);
   z8 = (.3(w-brm),.22h);
   x9 = x8 + (1/4penwd * sqrt 2);
   y9 = y8 - (1/4penwd * sqrt 2);
   filldraw fullcircle scaled 1.0penwd shifted(x7,y7);
   filldraw fullcircle scaled 1.0penwd shifted(x9,y9);
   p = z5{left}..z8;
   draw p;
   z10 = point .17 of p;
   draw z10{curl2}..{left}z6;
endchar;

beginchar(225,1.15twd#+rm#,ht#,.45ht#); ".t.tha";
   italcorr rm#+.5twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   lm := w-rm;
   x3 = good.x .7lm; y3=h;
   z4 = (x3,.72h);
   z6 = (.55lm,.3h);
   z7 = (lm,.4h);
   draw z3--z4;
   vardef dwna(expr y) = xpart direction 1 of (z4{curl0}..tension1.1..
   (1/2penwd,y)..z6{right}..{curl0}z7) < 0 enddef;
   z55 = (1/2penwd,solve dwna(y4,y6));
   p =  z4{curl0}..tension1.1..z55..z6{right}..{curl0}z7;
   draw p;
   z8 = p intersectionpoint ((x3,.65h)--(x3,0));
   hdif := y3-y8;
   z9 = (x4,y4-hdif);
   z11 = (x6,y6-hdif-.05h);
   z13 = (x9+penwd,y9-penwd);
   vardef dwnb(expr y) = xpart direction 1 of (z9{curl0}..tension1.1..
   (1/2penwd,y)..z11{right}) < 0 enddef;
   z10 = (1/2penwd,solve dwnb(y9,y11));
   z12 = (lm,y10);
   draw z9{curl0}..tension1.1..z10..z11{right}..z12{up}..{curl0}z13;
   draw z8--z9;
endchar;

if altjna:
  beginchar(226,1.1twd#+brm#,ht#,0); "j~na";
     italcorr brm#;
     frame;
     y5=good.y .7h; x5=x3;
     z6=(1/2penwd,y5);
     z7=(x6,.25h);
     z8=(.55(w-brm),0);
     z9=(x7+1/2penwd,y7-1/2penwd);
     y10=.3[y9,y6]; x10=.65(w-brm);
     draw z5--z6;
     draw z6{curl0}..tension1.1..z10{down}..z9{left}..z7{up}..
     tension1.3..{curl0}z8;
  endchar;
else:
  beginchar(226,1.1twd#+brm#,ht#,.25ht#); "j~na";
     italcorr brm#+.3twd#;
     frame;
     z5 = (w-brm,.45h);
     z6 = (.4(w-brm),.7h);
     z9 = (.2(w-brm),.6h);
     z7 = (.6(w-brm),.18h);
     z8 = (1/2penwd,.05h);
     z10 = (.7(w-brm),-.22h);
     draw z5{curl.2}..z6{left}..z9{down}..z7{down}..tension1.6
      ..z8{up}..tension1.3..{curl0}z10;
  endchar;
fi;

beginchar(227,1.1twd#+brm#,ht#,.2ht#); "h.r";
   italcorr brm#+.55twd#;
   lm := w-brm; pickup frame_pen;
   z1=(0,h); z2=(w,h);
   draw z1--z2;
   x3 = good.x .8lm; y3 = h; z4 = (x3,.75h);
   z5 = (1/2penwd,.65h); z6 = (.4lm,.4h);
   z7 = (.58lm,.08h); z8 = (.9lm,.27h);
   z9 = (.85lm,-.3h);
   z10 = (1/2penwd,.2h);
   z11 = (1.1lm,-.05h);
   draw z3--z4{left}...z5{down}..z6;
   draw z9{curl0}..tension1.2..z10{up}..z6..tension1.2 and 1.0..
     z8{down}..z7{down}..{curl.5}z11;
endchar;

beginchar(228,1.75twd#+brm#,ht#,0); ".dhya";
   italcorr brm#;
   path p;
   lm := 1.1twd;
   frame;
   x9 = good.x .85lm; y9=h;
   z10 = (x9,.72h);
   z5 = (1/2penwd,.47h);
   z6 = (.7lm,1/2penwd);
   z7 = (lm,.23h);
   draw z9--z10;
   p = z10{left}..tension.9..{down}z5..tension.9..{right}z6..{up}z7;
   draw p..z6;
   z8 = (w-brm,.3h);
   draw z7{dir-30}..{curl.3}z8;
endchar;

beginchar(229,13/17twd#+.25twd#+rm#+penwd#,ht#,.6ht#); ".d.da";
   italcorr rm#+.5twd#; path p;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3 = good.x w-rm-1.5penwd; y3 = h;
   z4 = (x3,.74h); z5 = (.25twd+1/2penwd,.6h);
   draw z3--z4;
   z6 = (x3+1/2penwd,.36h);
   z7 = (1/2(.25twd+x3),1/7h);
   z8 = (1/2penwd,.45h);
   p = z4{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z10 = (x3,y6);
   z11 = (x3,0);
   z12 = p intersectionpoint (z10--z11);
   addto currentpicture also currentpicture shifted (0,y12-h);
   draw z1--z2;
endchar;

beginchar(230,1.9twd#+brm#,ht#,0); "knya";
   italcorr brm#;
   frame;
   lm := 23/16twd;
   x5 = good.x .55lm; y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.76h);
   z8 = (.7(w-brm),.64h);
   z9 = (.6(w-brm),.45h);
   z15 = (x3,.45h);
   draw z9{dir-70}..{curl.5}z15;
   draw z7{right}..z8..tension1.3..z9;
   z10 = (x5,.6h);
   z11 = (1/2penwd,.55h);
   z12 = (x5,.5h);
   draw z10..tension1.3..z11{down}..tension1.3..z12;
   y13 := good.y .15h; x13 := x5;
   y14 := y13 - .75penwd; x14 := 1.25penwd;
   filldraw fullcircle scaled 1.5penwd shifted(x14,y14);
   z16 = (x14,y13);
   draw z13--z16;
endchar;

beginchar(231,2.1twd#+brm#,ht#,0); "krya";
   italcorr brm#;
   frame;
   x5 = good.x twd; y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.76h);
   z8 = (.75(w-brm),.63h);
   z9 = (.65(w-brm),.4h);
   z15 = (x3,.45h);
   draw z9{dir-70}..tension1.1..{curl.3}z15;
   draw z7{right}..z8..tension1.3..z9;
   z10 = (x5,.5h);
   z11 = (1/2penwd,.65h);
   z12 = (.3x5,.25h);
   draw z7{left}..z11;
   draw z10--z12;
endchar;

beginchar(232,1.1twd#,ht#,0); "half ghna";
   pickup frame_pen;
   z1 = (0,h); z3 = (w,h);
   draw z1--z3;
   path p;
   z5 = (w,.55h);
   z6 = (.55w,.72h);
   z10 = (.18w,.58h);
   p = z5{curl0}..tension1.1..z10{up}..{curl0}z6;
   draw p;
   z7 = point 1.7 of p;
   z8 =(.26w,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9 = (1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
   low_n(.3w,.2h);
endchar;

beginchar(233,1.2twd#,ht#,0); "half gra";
   path p;
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   lm := 1.1twd;
   draw z1--z2;
   z3 = (1.1w,.5h);
   z4 = (.75w,.25h);
   draw z3--z4;
   z5 = (.25lm,h);
   z6 = (x5,.3h);
   z7 = 2/3[z5,z6];
   z8 = z7 shifted (.1lm,0);
   z9 = (1/2penwd,y6+.08h);
   p = z5..z8{down}..z6{left}..z9{up};
   z10 = point 2.4 of p;
   draw p..z10;
endchar;

if altjna:
  beginchar(234,1.1twd#,ht#,0); "half j~na";
     pickup frame_pen;
     z1 = (0,h); z2 = (w,h);
     draw z1--z2;
     y5=good.y .7h; x5=x2;
     z6=(1/2penwd,y5);
     z7=(x6,.25h);
     z8=(.55w,0);
     z9=(x7+1/2penwd,y7-1/2penwd);
     y10=.3[y9,y6]; x10=.65w;
     draw z5--z6;
     draw z6{curl0}..tension1.1..z10{down}..z9{left}..z7{up}..tension1.3..{curl0}z8;
  endchar;
else:
  beginchar(234,1.1twd#,ht#,0); "half j~na";
     pickup frame_pen;
     z1 = (0,h); z2 = (w,h);
     draw z1--z2;
     z5 = (w,.45h);
     z6 = (.4w,.7h);
     z9 = (.2w,.6h);
     z7 = (.6w,.18h);
     z8 = (1/2penwd,.05h);
     z10 = (.7w,-.22h);
     draw z5{curl.2}..z6{left}..z9{down}..z7{down}..tension1.6..z8{up}..tension1.3..{curl0}z10;
  endchar;
fi;

beginchar(235,1.2twd#,ht#,0); "half ~nca";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   y5 = good.y .3h; x5 = 1/2penwd;
   z6 = (.63w,y5);
   z9 = (.55w,y5);
   z7 = (.35w,.1h);
   z8 = (w,.4h);
   draw z5--z6; draw z9..z7{down}..tension1.1..{curl.1}z8;
   z10 = (.1w,.8h);
   z11 = (.4w,.65h);
   z12 = (.2w,.5h);
   z13 = (w,y11);
   z14 = (1/2penwd,.53h);
   draw z10..z11{down}..z12{left}..z14;
   draw z11{dir-20}..z13;
endchar;

beginchar(236,twd#,ht#,0); "half tra";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5 = (w,.5h);
   z6 = (1/2penwd,.65h);
   z7 = (.3w,.25h);
   draw z5{dir120}..z6;
   draw z5--z7;
endchar;

beginchar(237,twd#+brm#,ht#,.45ht#); "dgra";
   italcorr brm#; path p; path q;
   pickup frame_pen;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(1/2penwd,.5h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot)));
   z8= (x7,-.45h);
   draw z1--z2; draw z3--z4;
   p =  z4{left}..{down}z5..tension1.2..{dir30}z6;
   draw p;
   draw z7--z8;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
   z9 = point 1.35 of p;
   z10 = (.5x9,y9-.5h);
   z12 = (1/2penwd,y10+.08h);
   q = z9{down}..tension1.3..z10{left}..z12{up};
   z13 = point 1.3 of q;
   draw q..{curl.2}z13;
   z14 = (x7,.5[y8,y7]);
   z15 = (.4x7,y8);
   draw z14--z15;
endchar;

beginchar(238,twd#+brm#,ht#,.45ht#); "dghra";
   italcorr brm#; path p; path q;
   pickup frame_pen;
   z1= (0,h); z2= (w,h);
   draw z1--z2;
   x3= good.x w-brm; y3=h;
   z4 =(x3,.74h);
   z5= (.22(w-brm),.61h);
   z6= (x3,.42h);
   z7= (x3,-.3h);
   z8= (x3,0);
   draw z3--z4;
   p= z4{left}..tension1.4..z5{down}..tension1.4..{curl.3}z6--z7;
   draw p;
   z9= point 1.25 of p;
   z10= (.15x3,0);
   z11= (.5x3,.15h);
   q= z8{curl0}..z10{up}...{right}z11;
   draw q;
   z12= point 1.7 of q;
   vardef yup(expr y)= xpart direction 1 of (z12{curl0}..(1/2penwd,y)..{right}z9) < 0
   enddef;
   z13= (1/2penwd,solve yup(y12,y9));
   draw z12{curl.2}..z13..{right}z9;
   z14 = (x3,0);
   z15 = (.35x3,-.45h);
   draw z14--z15;
endchar;

beginchar(239,1.4twd#+brm#,ht#,.1ht#); "drya";
   italcorr brm#;
   frame; path p;
   x10=good.x 5/6twd; y10=y1;
   z7=(x10,.72h);
   z5=(1/2penwd,.53h);
   z6=(x10,0.27h);
   z8=(x10-.15twd,y6);
   z9=(x3,.15h);
   draw z10--z7;
   p = z7{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6..
   z8..tension.9..{curl.5}z9;
   draw p;
   z11 = point 3.2 of p;
   z12 = (.2x3,-.2h);
   draw z11--z12;
endchar;

beginchar(240,1.1twd#+brm#,ht#,.1ht#); "dhna";
   italcorr brm#;
   path p;
   tframe;
   z5=(x3,.5h);
   z6=(.65x3,.65h);
   z10=(.18x3,.5h);
   p=z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7= point 1.7 of p;
   z8=(.26x3,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9=(1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
   low_n(.3(w-brm),.1h);
endchar;

beginchar(241,1.1twd#,ht#,0); "half dhna";
   pickup frame_pen;
   path p;
   z5 = (w,.55h);
   z6 = (.55w,.72h);
   z10 = (.18w,.58h);
   p = z5{curl0}..tension1.1..z10{up}..{curl0}z6;
   draw p;
   z7 = point 1.7 of p;
   z8 =(.26w,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9 = (1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
   x3 = w;
   low_n(.3w,.2h);
endchar;

beginchar(242,1.1twd#,ht#,0); "half dhra";
   path p;
   pickup frame_pen;
   z5=(w,.5h);
   z6=(.65w,.65h);
   z10=(.18w,.5h);
   p=z5{curl0}..z10{up}...{right}z6;
   draw p;
   z7= point 1.7 of p;
   z8=(.26w,h);
   vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z8) < 0
   enddef;
   z9=(1/2penwd,solve yup(y7,y8));
   draw z7{curl0}..z9..{right}z8;
   z11 = (w,.4h);
   z12 = (0,0);
   draw z11--z12;
endchar;

beginchar(243,twd#,ht#,0); "half pta";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5 = (1/2penwd,h);
   z6 = (w,.5h);
   x7 = x5+.17w;
   y7 = y6+.14h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   z9 = (1/2penwd,.62y6); z10 = (0.45w,0);
   draw z6{left}..tension1.2..z9{down}..{curl0}z10;
endchar;

beginchar(244,1.3twd#,ht#,0); "half 'sca";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5= (w,.5h);
   z7= (.45w,.67h);
   z8= (1/2penwd,.55h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   y6= good.y .33h; x6= .23w;
   z10= (.85w,y6);
   z11= (.5w,.15h);
   z12= (w,.5h);
   z13= (.6w,y6);
   draw z6--z10;
   draw z13..z11{down}..{curl.1}z12;
   draw z7--z5;
endchar;

beginchar(245,1.3twd#,ht#,0); "half 'sra";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5= (w,.5h);
   z7= (.45w,.67h);
   z8= (1/2penwd,.53h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   z6=(w,.38h);
   z10=(.45w,.2h);
   draw z5--z10;
   draw z7--z5;
endchar;

beginchar(246,1.3twd#,ht#,0); "half 'sva";
   pickup frame_pen;
   z1 = (0,h); z2 = (w,h);
   draw z1--z2;
   z5= (w,.5h);
   z7= (.45w,.67h);
   z8= (1/2penwd,.55h);
   z9= (.8x7,h);
   draw z8--z7{right}..z9{left}..{right}z7;
   z6=(w,.5h);
   z10=(.47w,.28h);
   z11=(w,.5h);
   draw z6{curl.3}..tension1.3..z10{down}..tension1.2..{curl.3}z11;
   draw z7--z5;
endchar;

beginchar(247,1.8twd#+brm#,ht#,0); ".s.tya";
   italcorr brm#;
   frame; path p;
   lm := 1.0twd;
   x5 = good.x .7lm; y5=h;
   z8 = (x5,.6h);
   z7 = (x5+1/2penwd,.2h);
   draw z5--z8;
   vardef dwn(expr y) = xpart direction 1 of (z8{curl0}..tension1.2..
     (1/2penwd,y)..tension1.1..{curl0}z7) < 0 enddef;
   z55 = (1/2penwd,solve dwn(y8,y7));
   p = z8{curl0}..tension1.2..z55..{curl0}z7;
   draw p;
   z13 = point 0.45 of p;
   z14 = (penwd,h);
   z15 = (1/2penwd,.73h);
   draw z14..z15{down}..{curl.3}z13;
   z9 = (.58x3,.33h);
   z10 = (x3,.4h);
   z11 = .4[z8,z5];
   z12 = (.65x3,.88y11);
   draw z9{dir-60}..tension1.1..{curl.2}z10;
   draw z11{right}..z12..tension1.1..z9;
   pickup penrazor scaled subthick;
   draw (1/2penwd,h)--z8;
endchar;

beginchar(248,5/6twd#+brm#,ht#,.35ht#); "ddva";
   italcorr brm#+.2twd#;
   pickup frame_pen;
   path p; path q;
   z1 = (0,h); z2 = (w,h);
   x3 = good.x w-brm; y3 = h;
   z4 = (x3,.4h);
   z5 = (1/2penwd,.22h);
   z6 = (x3+penwd,1/2penwd);
   z7 = (x3,y6);
   y8 = -.3h; z8 = z7+whatever*dir305;
   draw z1--z2;
   p = z4{curl0}..tension1.2..{down}z5..tension1.1..{curl.2}z6;
   draw p;
   q = z6..tension1.2..z7{down}..tension1.3..{curl0}z8;
   draw q;
   z9 = (x3,.73h);
   z10 = (1/2penwd,.56h);
   z11 = point 0.5 of p;
   draw z3--z9;
   draw z9{left}..{down}z10..{curl.3}z11;
   z12 = point 1.4 of p;
   z13 = point 1.5 of q;
   z14 = (.15(w-brm),y13);
   draw z12..z14{down}..tension1.2..{curl.5}z13;
endchar;

beginchar(249,1.2twd#+brm#,ht#,.35ht#); "ddhva";
   italcorr brm#+.1twd#; path p; path q;
   pickup frame_pen;
   lm := 5/6twd;
   z1=(0,h); z2=(w,h);
   x3=good.x w-brm; y3=h;
   z4=(x3,.72h);
   z5=(w-brm-lm+1/2penwd,.53h);
   z6=(x3,0.27h);
   z7= z6 + (.3thick*(dir(rot+90)));
   y8=-.3h; z8=z7+whatever*dir305;
   draw z1--z2; draw z3--z4;
   p = z4{left}..tension.9..{down}z5..tension.9 and 1.1..{dir30}z6;
   draw p;
   fill ((0,0)--(quartercircle rotated -45 & halfcircle rotated 45)--cycle)
   scaled (1.6*thick) shifted (z6 + .3thick*(dir rot));
   z9 = .4[z7,z8];
   z11 = point 1.6 of p;
   z10 = (w-brm-.8lm,y9);
   q = z11..z10{down}..tension1.1..{curl.2}z9;
   draw q;
   z12 = point 0.7 of q;
   z13 = (.15(w-brm),.45h);
   draw z12{curl.1}..tension1.2..z13{right};
   draw z7--z8;
   z16 = point 1.15 of q;
   z14 = point 1.6 of q;
   z15 = (1/2penwd,y14-1/2penwd);
   draw z16{curl.2}..tension1.2..z15{down}..tension1.3..{curl.5}z14;
endchar;

beginchar(250,1.3twd#+brm#,ht#,0); "sra";
   italcorr brm#;
   frame; path p; path q;
   z5 = (1/2penwd,.65h);
   z6 = (.6twd,0);
   p = z5{down}..tension1.1..{curl0}z6;
   z7 = point .2 of p;
   z8 = (.424twd,h);
   q = z8{curl0}..tension1.1..{left}z7;
   z9 = point .65 of q;
   z10 = (w-brm,y9);
   draw p; draw q; draw z9{dir-30}..z10;
   z11 = (x3,.42h);
   z12 = (.55x3,.1h);
   draw z11--z12;
endchar;

beginchar(251,1.8twd#+brm#,ht#,0); ".drya";
   italcorr brm#; path p;
   lm := 13/17twd+.25twd;
   frame;
   z23 = (lm,h);
   z24 = (x23,.74h); z5 = (.25twd+1/2penwd,.6h);
   z6 = (x23+1/2penwd,.36h);
   z7 = (1/2(.25twd+x23),1/7h);
   z8 = (1/2penwd,.45h);
   draw z23--z24;
   p = z24{left}..z5{down}..z6{down}..z7{left}..z8;
   draw p;
   z10 = point 2.2 of p;
   z9 = (w-brm,.35h);
   draw z10{dir-30}..{curl.3}z9;
   z14 = point 2.9 of p;
   z11 = (x14,y14-1/2penwd);
   z12 = (x11-.35twd,y11-.45h);
   z13 = (x11+.32twd,y11-.25h);
   pickup sub_pen;
   draw z11--z12;
   draw z11--z13;
endchar;

beginchar(252,2.0twd#+brm#,ht#,0); "ktrya";
   italcorr brm#;
   frame;
   lm := 23/16twd;
   xm := .1twd;
   x5 = good.x (xm + .55lm); y5=h;
   z6 = (x5,0); draw z5--z6;
   z7 = (x5,.75h);
   z10 = (x5,.75h);
   z11 = (1/2penwd,y10);
   draw z10--z11;
   z12 = (x5,.5h);
   z13 = (.65xm + .35x5,y12);
   z14 = (.5xm + .5x5,0);
   draw z12---z13..{curl0}z14;
   z8 = (.77(w-brm),.6h);
   z9 = (.65(w-brm),.4h);
   z15 = (x3,.45h);
   draw z9{dir-70}..{curl.5}z15;
   draw z7{right}..z8..tension1.3..z9;
   z17 = (x6-.35twd,y6-.45h+1/2penwd);
   z16 = (x6+.32twd,y6-.25h+1/2penwd);
   pickup sub_pen;
   draw z6--z16;
   draw z6--z17;
endchar;

% beginchar(253,0,ht#,.25ht#); "sub-r"; % original
%    pickup sub_pen;
%    z1=(-.35twd,mb-.45h);
%    z2=(0,mb-1/2penwd);
%    draw z1--z2;
% endchar;

beginchar(253,0,0,.25ht#); "sub-r"; % revision
   pickup sub_pen;
   z1=(-.35twd,mb-.45ht);
   z2=(0,mb-1/2penwd);
   draw z1--z2;
endchar;

beginchar(254,.9twd#+brm#,ht#,0); "pra";
   italcorr brm#;
   frame;
   z5=(penwd,h);
   z6=(w-brm,.53h);
   x7=x5+.15(w-brm);
   y7=y6-.08h;
   draw z5..tension1.4..z7{z6-z5}..tension1.2..z6;
   pickup sub_pen;
   z11=(w-brm,.45h);
   z12=(.1twd,1/2penwd);
   draw z11--z12;
endchar;

% beginchar(255,twd#,ht#,0); "hyphen"; % original
%    pickup frame_pen;
%    y1 = good.y 0.5h;
%    z1=(.3w, y1);
%    z2=(w,y1);
%    draw z1--z2;
% endchar;

beginchar(255,twd#,.5ht#,0); "hyphen"; % revision
   pickup frame_pen;
   z1=(.3w,0.5ht);
   z2=(w,y1);
   draw z1--z2;
endchar;

ligtable "." : "." =: ";";

end.
