%
%    dnchars.mf v2.0
%
%    METAFONT source file for the Devanagari font
%    Copyright (C) 1991-1999 University of Groningen, The Netherlands
%
%    Author     : Frans J. Velthuis <velthuis@rc.rug.nl>
%    Maintainer : Anshuman Pandey <apandey@u.washington.edu>
%    Date       : 11 December 1999
%
%    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 1999.12.11 char mod: ka
%    o 1999.12.11 char mod: half-ka
%    o 1999.12.11 char mod: ha 
%    o 1999.12.11 char mod: hra
%    o 1999.12.11 char mod: qa
%    o 1999.12.11 char mod: half-qa
%    o 1999.03.06 char mod: "sla
%    o 1999.03.06 char mod: hna
%    o 1999.03.06 char mod: hla
%    o 1999.03.06 char mod: hva
%    o 1998.07.08 char mod: la
%    o 1998.07.08 char mod: half-la
%    o 1998.07.08 char mod: lla
%    o 1998.01.01 char add: hyphen
%

beginchar("a",1.52twd#+brm#,ht#,0); "front-a";
  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;

beginchar("A",2rm#,ht#,0); "A 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-I";
  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); "I";
    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-U";
% 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";
    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); "U matra";
    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";
    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); "k";      % 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;

% modified by Anshuman Pandey
beginchar("k",23/16twd#+rm#,ht#,0); "k";        % version 2
    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); "kh";
    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); "g";
  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); "c";
  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;

beginchar("C",1.8twd#+rm#,ht#,0); "ch";
    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;

beginchar("j",1.4twd#+brm#,ht#,0); "j";
    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); "'n";
    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); ".t";
    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); ".th";
    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;

beginchar("Z",1.1twd#+brm#,ht#,0); ".n";
    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;

beginchar("t",twd#+brm#, ht#, 0); "t";
  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); "th";
    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#); "d";
    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); "dh";
    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}z
8) < 0
    enddef;
    z9=(1/2penwd,solve yup(y7,y8));
    draw z7{curl0}..z9..{right}z8;
endchar;

beginchar("J",1.45twd#+brm#,ht#,0); "jh";
    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;

beginchar("X",13/17twd#+.25twd#+rm#+penwd#,ht#,-.1ht#); ".d";
    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); ".dh";
    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#); "-n";
    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#); "R";
    italcorr rm#+.5twd#;
    z9=(11/17twd+1/2penwd,-penwd); sqdot(z9);
    addpic(ASCII "X");
endchar;

beginchar("n",twd#+brm#,ht#,0); "n";
    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); "p";
    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); "ph";
    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); "b";
    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); "bh";
    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); "m";
    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); "v";
    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); "y";
    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); "r";
    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); "l"; % 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;

% modified by Anshuman Pandey
beginchar("l",4/3twd#+brm#,ht#,0); "l"; % version 2.
    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;

beginchar("f",4/3twd#+brm#,ht#,0); "'s";
  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;

beginchar("q",.9twd#+brm#,ht#,0); ".s";
    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); "s";
% 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#); "h";      % 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;

% modified by Anshuman Pandey
beginchar("h",1.1twd#+rm#,ht#,.2ht#); "h";      % version 2
    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#); ".rh";
    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-I + 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";
    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("+",1.1twd#+brm#,ht#,0); "jn";
    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(34,1.3twd#+brm#,ht#,0); "ks";
    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;

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

beginchar("/",twd#+brm#,ht#,0); "tr";
    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;

beginchar(27,2twd#+rm#,ht#,0); ".r";
    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;

beginchar(11,1.1twd#+brm#,ht#,0); ".g";
    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); ".kh";
    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); "f";
    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); "z";
    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); "q";       % 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;

% modified by Anshuman Pandey
beginchar("*",23/16twd#+rm#,ht#,0); "q";        % version 2
    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); "gh";
    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}z
8) < 0
    enddef;
    z9=(1/2penwd,solve yup(y7,y8));
    draw z7{curl0}..z9..{right}z8;
endchar;

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

beginchar("#",1.3twd#,ht#,0); "/ks";
    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;

beginchar("<",1.1twd#,ht#,0); "/B";
    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); "/D";
    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}z
8) < 0
    enddef;
    z9=(1/2penwd,solve yup(y7,y8));
    draw z7{curl0}..z9..{right}z8;
endchar;

beginchar("]",1.1twd#,ht#,0); "/G";
    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}z
8) < 0
    enddef;
    z9=(1/2penwd,solve yup(y7,y8));
    draw z7{curl0}..z9..{right}z8;
endchar;

beginchar("$",1.45twd#,ht#,0); "/J";
    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;

beginchar("H",1.36twd#,ht#,0); "/K";
    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); "/P";
    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); "/S";
    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); "/T";
    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;

beginchar(23,1.1twd#,ht#,0); "/Z";
    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;

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;

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;

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;

% modified by Anshuman Pandey
beginchar("?",1.35twd#,ht#,0); "half-ka";    % version 2
    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;

% modified by Anshuman Pandey
beginchar("S",4/3twd#,ht#,0); "half-la"; % version 2.
    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); "/z";
    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;

% modified by Anshuman Pandey
beginchar(10,1.35twd#,ht#,0); "half-qa";    % version 2
    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); "rstroke";
    italcorr brm#;
    pickup sub_pen;
    z1=(w-brm,.4h);
    z2=(0,0);
    draw z1--z2;
endsav;

beginchar(17,2twd#+rm#,ht#,0); "..r";
	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;

beginchar(14,0,ht#,0); "sub ..r";
	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); "L";
	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); "/L";
	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";
	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 r";
	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;

beginchar(24,1.65twd#+rm#,ht#,0); ".l";
	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;

beginchar(25,1.65twd#+rm#,ht#,0); ".L";
	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;

beginchar(124,0,ht#,0); "sub-.L";
	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;

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;

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;

beginchar("5",1.15twd#+rm#,ht#,0); "5";
    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;

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;

beginchar("8",1.1twd#+rm#,ht#,0); "8";
    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;

beginchar("9",1.1twd#+rm#,ht#,0); "9";
    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;

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); "sr";
	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); "tt";
	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); "/tt";
	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); "ph+r";
    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); "fr";
    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); "jr";
	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); "zr";
	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); "kr";
	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#); "d+dh";
	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#); "d+bh";
	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#); "d+gh";
	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#); "d+g";
	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#); "d+d";
	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); "d+y";
	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); "d+bh+y";
	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); "d+dh+y";
	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#); "d+d+y";
	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#); "d+n";
	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#); "d+v";
	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#); "d+b";
	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); "d+m";
	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#); "d+v+y";
	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); "'s + c";
	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); "'s + n";
	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); "'s + v";
	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); "'s + r";
	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); "'s + l";     % 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;

% modified by Anshuman Pandey
beginchar(154,1.3twd#+brm#,ht#,0); "'s + l";      % version 2
	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;

beginchar(155,1.3twd#+brm#,ht#,0); "'s + b";
	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;

beginchar(156,1.6twd#+brm#,ht#,.2ht#); "h + m";
	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#); "h + y";
	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#); "h+l";  % 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;

% modified with help from Charles Wikner <wikner@nacdh4.nac.ac.za>
beginchar(158,2.2twd#+rm#,ht#,.4ht#); "h+l";    % version 2.
    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#); "h+v"; % 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;

% modified with help from Charles Wikner <wikner@nacdh4.nac.ac.za>
beginchar(159,1.65twd#+rm#,ht#,.45ht#); "h+v";  % version 2.
    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#); "h+r";  % 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;

% modified by Anshuman Pandey
beginchar(160,1.5twd#+rm#,ht#,.25ht#); "h+r";   % version 2
	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#); "h+n";  % 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;

% modified with help from Charles Wikner <wikner@nacdh4.nac.ac.za>
beginchar(161,1.6twd#+rm#,ht#,.4ht#); "h+n"; % version 2.
    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;

beginchar(162,1.4twd#+rm#,ht#,.2ht#); "h+.n";
	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;

beginchar(163,1.15twd#+rm#,ht#,0); ".s+.t";
	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+.th";
	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); "l + l";  % 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;

beginchar(165,4/3twd#+brm#,ht#,0); "l + l"; % version 2.
	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;

beginchar(166,11/12twd#+brm#,ht#,.2ht#); "v+n";
	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#); "b+n";
	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#); "v+v";
	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#); "b+b";
	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+.t+r+y";
	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+.t+v";
	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#); "-n+k";
	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#); "-n+k+t";
	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#); "-n+k+t+y";
	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#); "-n+k+y";
	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;

beginchar(176,13/17twd#+.25twd#+rm#+2penwd#,ht#,.45ht#); "-n+ks";
	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;

beginchar(177,13/17twd#+.75twd#+rm#+2penwd#,ht#,.45ht#); "-n+ks+v";
	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;

beginchar(178,13/17twd#+.25twd#+rm#+2penwd#,ht#,.45ht#); "-n+kh";
	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#); ".d+g";
	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#); ".d+gh";
	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#); "-n+n";
	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#); ".d+gh+r";
	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); ".d+y";
	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#); ".d+g+y";
	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#); "-n+gh+y";
	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#); "-n+kh+y";
	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#); ".d+m";
	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+-n";
	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#); "-n+g";
	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#); "-n+g+y";
	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#); "-n+gh";
	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#); "-n+gh+r";
	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#); "-n+m";
	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#); "-n+y";
	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); "k+k";
	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); "k+t";
	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); "k+t+y";
	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); "k+t+v";
	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); "k+n";
	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); "k+y";
	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); "k+m";
	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); "k+l";
	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); "k+v";
	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); "k+v+y";
	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#); "gh+n";
	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); "c+c";
	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+'n";
	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;

beginchar(208,2.6twd#+rm#,ht#,0); "ch+y";
	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;

beginchar(209,1.2twd#+brm#,ht#,.1ht#); "'n+c";
	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); "'n+j";
	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+.t";
	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); ".t+y";
	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#); ".th+y";
	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#); ".t+k";
	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); "t+n" ;
	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); "p+t";
	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); "p+n";
	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); "p+l";
	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#); "b+v";
	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); "s+n";
	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); "m+l";
	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); "bh+n";
	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); "m+n";
	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); "n+n";
	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+.th";
	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;

beginchar(226,1.1twd#+brm#,ht#,.25ht#); "Sanskrit jn";
	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;

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); ".dh+y";
	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+.d";
	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); "k+n+y";
	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); "k+r+y";
	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); "/(gh+n)";
	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); "/(g+r)";
	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;

beginchar(234,1.1twd#,ht#,0); "/(Sanskrit jn)";
	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;

beginchar(235,1.2twd#,ht#,0); "/('n+c)";
	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); "/(tr)";
	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#); "d+g+r";
	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#); "d+gh+r";
	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#); "d+r+y";
	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#); "dh+n";
	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); "/(dh+n)";
	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); "/(dh+r)";
	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); "/(p+t)";
	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); "/('s + c)";
	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); "/('s + r)";
	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); "/('s + v)";
	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+.t+y";
	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#); "d+d+v";
	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#); "d+dh+v";
	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); "s+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;
	z11 = (x3,.42h);
	z12 = (.55x3,.1h);
	draw z11--z12;
endchar;

beginchar(251,1.8twd#+brm#,ht#,0); ".d+r+y";
	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); "k+t+r+y";
	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";
    pickup sub_pen;
    z1=(-.35twd,mb-.45h);
    z2=(0,mb-1/2penwd);
    draw z1--z2;
endchar;

beginchar(254,.9twd#+brm#,ht#,0); "p+r";
    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;

% created by Dominik Wujastyk <d.wujastyk@ucl.ac.uk>
beginchar(255,twd#,ht#,0); "hyphen";
    pickup frame_pen;
    y1 = good.y 0.5h;
    z1=(.3w, y1);
    z2=(w,y1);
    draw z1--z2;
endchar;

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

end.