summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/bengali
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/bengali
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff)
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/bengali')
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bn.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnbanjon.mf508
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bndigit.mf86
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnjuk.mf980
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnkaar.mf90
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnlig.mf121
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnligtbl.mf36
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnmacro.mf668
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnmisc.mf33
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnpunct.mf203
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnr10.mf29
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnsl10.mf30
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/bnswar.mf162
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/xbnr10.mf29
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/xbnsl10.mf30
-rw-r--r--Master/texmf-dist/fonts/source/public/bengali/xbnsupp.mf80
16 files changed, 3102 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bn.mf b/Master/texmf-dist/fonts/source/public/bengali/bn.mf
new file mode 100644
index 00000000000..89a96afef9e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bn.mf
@@ -0,0 +1,17 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bn.mf: METAFONT file that calls the base files
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+input bnswar;
+input bnkaar;
+input bnbanjon;
+input bndigit;
+input bnpunct;
+input bnlig;
+input bnmisc;
+input bnjuk;
+input bnligtbl;
+
+%% End of the file bn.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnbanjon.mf b/Master/texmf-dist/fonts/source/public/bengali/bnbanjon.mf
new file mode 100644
index 00000000000..d2fc9de15fc
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnbanjon.mf
@@ -0,0 +1,508 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnbanjon.mf: METAFONT file that defines the Bengali consonants
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar("k",0.70stwd#,stht#,stdp#); "The letter ka";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (5/8w,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/8w,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (5/8w,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (5/8w,3/4h);
+draw z3..z4;
+z8 = (7/8w,2/7h); z8r = z8 + (len/2,-len/2); z8l = z8 - (len/2,-len/2);
+penstroke z5e{right}..z8e;
+fill fullcircle scaled 1.1pt shifted (z8 - (0.44pt,-0.2pt));
+endchar;
+
+beginchar("K",0.62stwd#,stht#,stdp#); "The letter kha";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+rt z4 = (1/6w,14/25h); z5 = (1/2w,3/4h);
+z6 = (2/3w,3/5h); z7 = (1/4w,11/30h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z4{right}..{dir 30}z5{dir -45}..{down}z6{down}..{dir -165}z7;
+z7r + (0.25pt,-0.25pt) = z7l - (0.25pt,-0.25pt) = z7;
+z2l + (0.15pt,0) = z2r - (0.15pt,0) = z2 + (0,0.17pt);
+penstroke z7e{dir -10}..{dir -65}z2e;
+fill fullcircle scaled 1.3pt shifted (z4 + (0.15pt,0.39pt));
+endchar;
+
+beginchar("g",0.56stwd#,stht#,stdp#); "The letter ga";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+rt z4 = (5/6w,4/7h); top z5 = (9/20w,3/4h); rt z6 = (1/7w,11/21h);
+z7 = (1/2w,19/40h); z8 = (17/50w,4/15h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z4{dir 120}..{left}z5{left}..{down}z6{dir 30}..{down}z7{down}..{dir -125}z8;
+endchar;
+
+beginchar("G",0.56stwd#,stht#,stdp#); "The letter gha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0); draw z3..z4;
+z5 = (1/5w,3/4h-0.05pt); z6 = (1/8w,14/23h);
+z7 = (14/25w,21/40h); z8 = (2/9w,3/10h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z5{dir -120}..{down}z6{down}..{dir 30}z7--z8;
+z8r + (0.25pt,-0.25pt) = z8l - (0.25pt,-0.25pt) = z8;
+z4l + (0.15pt,0) = z4r - (0.15pt,0) = z4;
+penstroke z8e{right}..tension 1.5 ..{dir -75}z4e;
+endchar;
+
+beginchar("q",0.62stwd#,stht#,stdp#); "The letter una";
+z1 = (1/5w,3/4h); z2 = (19/40w,19/31h); z3 = (23/29w,23/31h);
+z4 = (1/2w,3/4h); z5 = (4/9w,3/8h); z6 = (19/40w,16/45h);
+z7 = (4/5w,1/2h); lft z8 = (7/8w,5/16h); z9 = (23/40w,1/12h);
+z10 = (9/50w,1/3h); z11 = (1/10w,13/20h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1..tension 1.2..{right}z2{right}..tension 1.2..
+{up}z3{up}..{dir -130}z4{dir -130}..
+tension 2..z5--z6{dir 0}..{dir 60}z7{dir -60}..{down}z8{down}
+..{left}z9{left}..z10..z11;
+endchar;
+
+beginchar("c",0.48stwd#,stht#,stdp#); "The letter cha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+top lft z3 = (1/6w,3/4h); lft z4 = (1/6w,1/4h);
+z5 = (2/5w,1/16h); z6 = (5/6w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3--z4{down}..z5{dir 30}..{up}z6{dir 165}..{dir 100}z3;
+endchar;
+
+beginchar("C",0.55stwd#,stht#,stdp#); "The letter chha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+top z3 = (1/6w,3/4h); z4 = (1/6w,5/12h); z5 = (1/5w,3/8h);
+z6 = (11/20w,9/16h); z7 = (13/20w,9/16h); z8 = (5/6w,4/9h);
+z9 = (1/5w,9/40h); z10 = (w,-1/3d);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z3..z4{down}..{right}z5{right}..{dir 80}z6{left}..{up}z3;
+draw z6{right}..z7..{down}z8{down}..{left}z9;
+z9r + (0.2pt,-0.2pt) = z9l - (0.2pt,-0.2pt) = z9;
+z10l + (0,0.15pt) = z10r - (0,0.15pt) = z10;
+penstroke z9e{right}..{dir -45}z10e;
+endchar;
+
+beginchar("j",0.70stwd#,stht#,stdp#); "The letter ja";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (8/20w,3/4h); z4 = (5/21w,1/2h); z5 = (8/20w,9/24h);
+z6 = (21/36w,37/80h); z7 = (11/16w,3/10h); z8 = (1/2w,1/8h);
+rt z9 = (1/10w,5/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir -135}..{down}z4{down}..{right}z5{right}..{dir30}z6
+ {dir -60}..{down}z7{down}..{left}z8{left}..{up}z9;
+rt z11 = z11l + (0.2pt,-0.2pt) = z11r - (0.2pt,-0.2pt) = (11/12w,3/5h);
+z12 = z12l + (0.15pt,0) = z12r - (0.15pt,0) = (8/9w,0);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z3{dir -90}..{dir 15}z11;
+penstroke z11e{dir -120}..{dir -75}z12e;
+endchar;
+
+beginchar("J",0.68stwd#,stht#,stdp#); "The letter jha";
+z1 = (w-0.9pt,3/4h); z2 = (w-0.9pt,1/11h);
+z3 = (5/8w,3/4h); z4 = (5/8w,0); lft z5 = 4/7[z3,z4];
+pickup pencircle scaled penth#; draw (z1+(0,0.3pt))..z2; draw z3..z4;
+draw (0,3/4h)..z3; draw z1..(w,3/4h);
+draw z5{dir -45}..{dir -75}z2;
+rt z6 = (5/8w,13/20h); z7 = (1/7w,8/21h);
+pickup pencircle scaled 0.5pt;
+draw z6{z7-z6 rotated -8}..z7;
+z4 + (0,0.2pt) = z4l + (0.15pt,0) = z4r - (0.15pt,0);
+z7 = z7r + (0.2pt,-0.2pt) = z7l - (0.1pt,-0.27pt);
+penstroke z7e{right}.. tension 1.5 .. z4e;
+endchar;
+
+beginchar("Q",0.90stwd#,stht#,stdp#); "The letter ina";
+numeric wd; wd = 17/24w;
+z1 = (9/20wd,2/5h); z2 = (19/25wd,3/4h); z3 = (6/7wd,2/3h);
+z4 = (6/7wd,0); z5 = (1/2wd,1/6h);
+z6 = (1/5wd,1/5h); z7 = (1/8wd,3/8h); z8 = (1/6wd,1/2h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{dir 135}..tension 1.2..{right}z2{right}..z3{down}..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw (z4+(0,0.2pt)){up}...{left}z5{left}..z6..{up}z7{up}..z8;
+fill fullcircle scaled 1.4pt shifted (z1 + (0.47pt,0.38pt));
+z9 = 9/20[z3,z4] + (0,0.4pt); z13 = 11/20[z3,z4] + (0,0.4pt); z10 = (8/9w,13/24h) + (0,0.4pt);
+z11 = (5/6w,1/3h) + (0,0.4pt); z12 = (8/9w,3/24h) + (0,0.4pt);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated 60;
+draw z9{dir 75}..z10..z11;
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -60;
+draw z13{dir -75}..z12..z11;
+fill fullcircle scaled 1.1pt shifted (z11 + (-0.1pt,0));
+endchar;
+
+beginchar("T",0.48stwd#,stht#,stdp#); "The letter Ta";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+top lft z3 = (1/6w,3/4h); lft z4 = (1/6w,1/4h);
+z5 = (2/5w,1/16h); z6 = (5/6w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3--z4{down}..z5{dir 30}..{up}z6;
+fill fullcircle scaled 1.2pt shifted (z6 - (0.43pt,0.15pt));
+z7 = (w-0.7pt,3/4h); z8 = (1/2w,31/32h); z9 = (-1/8w,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z7{dir 60}..{left}z8{left}...z9{dir 75};
+endchar;
+
+beginchar("Z",0.5stwd#,stht#,stdp#); "The letter Tha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (4/7w,3/4h); z4 = (1/6w,9/40h); z5 = (7/16w,1/16h);
+z6 = (5/6w,3/8h); z7 = (1/3w,9/8h); z8 = (2/5w,19/16h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z3{dir -75}..{dir -150}z4{down}..{right}z5{right}..{up}z6{up}
+ ..{dir 120}z3..{up}z7{up}..{dir 45}z8;
+endchar;
+
+beginchar("D",0.60stwd#,stht#,stdp#); "The letter Da";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (1/2w,3/4h); z4 = (1/2w,9/22h); z5 = (11/20w,3/8h);
+z6 = (41/50w,21/40h); lft z7 = (8/9w,5/16h);
+z8 = (23/40w,1/12h); z9 = (1/10w,13/20h); z10 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{down}..{down}z4{dir -60}..{dir -60}z5{dir 30}..{dir60}z6{dir -60}
+ ..{down}z7{down}..{left}z8{left}..z10..z9;
+endchar;
+
+beginchar("X",0.48stwd#,stht#,stdp#); "The letter Dha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+top lft z3 = (1/6w,3/4h); lft z4 = (1/6w,1/4h);
+z5 = (2/5w,1/16h); z6 = (5/6w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3--z4{down}..z5{dir 30}..{up}z6;
+fill fullcircle scaled 1.2pt shifted (z6 - (0.43pt,0.15pt));
+endchar;
+
+beginchar("N",0.52stwd#,stht#,stdp#); "The letter murdhanya Na";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+rt z4 = 1/4[z1,z2]; z5 = (7/16w,3/4h); rt z6 = (1/6w,9/16h); z7 = (3/8w,27/64h);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -30;
+draw z4{dir 130}..{left}z5{left}..{down}z6{down}...{dir 20}z7;
+fill fullcircle scaled 1.1pt shifted (z7+(0.08pt,0.37pt));
+endchar;
+
+beginchar("t",0.60stwd#,stht#,stdp#); "The letter ta";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+z3 = (1/2w,5/9h); lft z4 = (6/7w,7/20h);
+z5 = (3/5w,1/12h); rt z6 = (1/10w,13/20h); z7 = (1/5w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir 28}..{down}z4{down}..{left}z5{left}..z7..z6;
+fill fullcircle scaled 1.5pt shifted (z3 + (0.24pt,-0.44pt));
+endchar;
+
+beginchar("z",0.58stwd#,stht#,stdp#); "The letter tha";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+z4 = (1/7w,5/8h); z5 = (3/8w,3/4h);
+z6 = (3/5w,5/8h); z7 = (1/5w,3/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z4{dir 90}...{right}z5{right}..{down}z6{down}..{dir -160}z7;
+z2l + (0.1pt,-0.4pt) = z2r - (0.1pt,0.4pt) = z2;
+z7r + (0.1pt,-0.24pt) = z7l - (0.1pt,-0.24pt) = z7;
+penstroke z7e{right}..tension1.2..{dir -75}z2e;
+fill fullcircle scaled 1pt shifted (z4 + (0.33pt,0pt));
+endchar;
+
+beginchar("d",0.47stwd#,stht#,stdp#); "The letter da";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+z3 = (1/6w,3/4h); z4 = (1/6w,3/10h); draw z3..z4;
+z5 = (6/7w,4/7h); z4' = 1/2[z4,z5] + (0,0.25pt);
+pickup pencircle xscaled 0pt yscaled 0.5pt rotated 45;
+draw z4{z4'-z4}..z4'..{z5-z4'}z5;
+z6 = z6l + (0.17pt,0) = z6r - (0.17pt,0) = (3/4w,0);
+z5l + (0.2pt,-0.2pt) = z5r - (0.2pt,-0.2pt) = z5;
+penstroke z5e{dir -120}..{dir -75}z6e;
+endchar;
+
+beginchar("x",0.52stwd#,stht#,stdp#); "The letter dha";
+pickup pencircle scaled penth#;
+z1 = (w-0.9pt,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (w-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6w,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (w-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (w-0.9pt,3/4h);
+draw z3..z4;
+z8 = 9/20[z5,z6] + (0,0.2pt); z9 = (1/4w,27/40h); bot z10 = (11/30w,3/4h);
+pickup pencircle scaled 0.3pt;
+draw z8{left}..{up}z9{up}..{right}z10;
+fill fullcircle scaled 1.0pt shifted (z10 + (0.1pt,-0.33pt));
+endchar;
+
+beginchar("n",0.52stwd#,stht#,stdp#); "The letter na";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0);
+draw z1..z2; draw z3..z4;
+z5 = (1/4w,5/12h); bot z6 = z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z5{dir 20}..{down}z6;
+fill fullcircle scaled 1.5pt shifted (z5 - (-0.14pt,0.485pt));
+endchar;
+
+beginchar("p",0.60stwd#,stht#,stdp#); "The letter pa";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+rt z4 = (5/6w,5/9h); top z5 = (8/19w,3/4h); rt z6 = (1/8w,17/28h);
+z7 = (2/7w,3/8h); z8 = (17/24w,5/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z4--z8{z8-z4}..{left}z5{left}..{dir -140}z6{dir 30}..{dir -140}z7;
+pickup pencircle xscaled 0pt yscaled 0.6pt rotated 50;
+draw z7--z8;
+endchar;
+
+beginchar("f",0.67stwd#,stht#,stdp#); "The letter pha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+z3 = (13/20w,3/5h); z4 = (13/20w,0); draw z3..z4;
+top rt z5 = (1/10w,3/4h); z6 = (2/5w,43/80h); z7 = (1/6w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7;
+z7r + (0.25pt,-0.25pt) = z7l - (0.25pt,-0.25pt) = z7;
+z4l + (0.15pt,0) = z4r - (0.15pt,0) = z4;
+penstroke z7e{right}..tension 1.5 ..{dir -75}z4e;
+lft z8 = (7/8w,4/9h); z9 = (5/6w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{right}..{down}z8{down}..z9;
+fill fullcircle scaled 1.2pt shifted (z9 + (-0.18pt,0.30pt));
+endchar;
+
+beginchar("b",0.52stwd#,stht#,stdp#); "The letter ba";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (w-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6w,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (w-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (w-0.9pt,3/4h);
+draw z3..z4;
+endchar;
+
+beginchar("v",0.63stwd#,stht#,stdp#); "The letter bha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (2/5w,3/7h); z4 = (4/5w,1/2h); lft z5 = (7/8w,5/16h);
+z6 = (17/30w,1/12h); rt z7 = (1/10w,13/20h); z8 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 15;
+draw z3{dir -29}..{dir 60}z4{dir -50}..{down}z5{down}..{left}z6{left}..z8..z7;
+fill fullcircle scaled 1.65pt shifted (z3 + (0.36pt,0.48pt));
+endchar;
+
+beginchar("m",0.55stwd#,stht#,stdp#); "The letter ma";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0);
+draw z1..z2; draw z3..z4;
+z5 = (1/6w,3/4h-0.04pt); z6 = (7/16w,1/4h);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z5{dir -135}..z6{dir -142};
+z4l + (0.1pt,0) = z4r - (0.1pt,0) = z4;
+z6l + (0,0.23pt) = z6r - (0,0.23pt) = z6 + (0,0.27pt);
+penstroke z6e{right}..{down}z4e;
+fill fullcircle scaled 1.5pt shifted (z6 - (0.21pt,-0.03pt));
+endchar;
+
+beginchar("Y",0.55stwd#,stht#,stdp#); "The letter antashthya ja";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0); draw z3..z4;
+top rt z5 = (1/10w,3/4h); z6 = (1/2w,43/80h); z7 = (1/6w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7;
+z7r + (0.25pt,-0.25pt) = z7l - (0.25pt,-0.25pt) = z7;
+z4l + (0.15pt,0) = z4r - (0.15pt,0) = z4;
+penstroke z7e{right}..tension 1.5 ..{dir -75}z4e;
+endchar;
+
+beginchar("r",0.52stwd#,stht#,stdp#); "The letter ra";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (w-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6w,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (w-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (w-0.9pt,3/4h);
+draw z3..z4;
+fill fullcircle scaled 0.9pt shifted (9/20w,2/21h);
+endchar;
+
+beginchar("l",0.62stwd#,stht#,stdp#); "The letter la";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0);
+draw z1..z2; draw z3..z4;
+z5 = (5/6w,9/20h); z6 = (16/24w,5/9h); z7 = (9/16w,2/5h);
+z8 = (1/3w,5/9h); z9 = (1/8w,13/32h); z10 = (3/8w,4/15h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt;
+draw z5{dir 135}..{left}z6{left}..{dir -75}z7{dir 105}..{left}z8{left}
+ ..{down}z9{down}..{dir 14.5}z10;
+fill fullcircle scaled 1.2pt shifted (z10 + (-0.09pt,0.32pt));
+endchar;
+
+beginchar("S",0.56stwd#,stht#,stdp#); "The letter talabya sha";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+z4 = (0,3/4h); z5 = (5/16w,19/32h);
+top z6 = (14/25w,3/4h); z7 = 2/7[z1,z2];
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z4{right}..{dir -60}z5{dir 60}..{right}z6{right}..{z7-z6}z7;
+fill fullcircle xscaled 1.4pt yscaled 2.5pt rotated -45 shifted (z5 + (-0.50pt,-0.62pt));
+fill fullcircle xscaled 1.4pt yscaled 2.5pt rotated 45 shifted (z5 + (0.50pt,-0.62pt));
+endchar;
+
+beginchar("F",0.55stwd#,stht#,stdp#); "The letter murdhanya sa";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0); draw z3..z4;
+top rt z5 = (1/10w,3/4h); z6 = (1/2w,43/80h); z7 = (1/6w,1/3h); rt z8 = (5/6w,8/20h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7; draw (z6+(0,0.1pt))--z8;
+z7r + (0.25pt,-0.25pt) = z7l - (0.25pt,-0.25pt) = z7;
+z4l + (0.15pt,0) = z4r - (0.15pt,0) = z4;
+penstroke z7e{right}..tension 2.5 ..{dir -75}z4e;
+endchar;
+
+beginchar("s",0.60stwd#,stht#,stdp#); "The letter danto sa";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0);
+draw z1..z2; draw z3..z4;
+top z5 = (1/9w,3/4h); rt z10 = (w-0.9pt,5/13h); z7 = (1/6w,1/3h); z8 = (1/4w,3/11h);
+z9 - z10 = 3/2(z7 - z8); rt z6 = 5/8[z8,z9];
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z5{right}..{down}z6;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z7..z8..z9...{dir -45}z10;
+endchar;
+
+beginchar("h",0.5stwd#,stht#,stdp#); "The letter ha";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (3/10w,3/4h); z4 = (1/3w,3/5h); z5 = (5/6w,1/2h);
+lft z6 = (1/8w,5/16h); z7 = (w,-1/3d);
+z6l + (0.15pt,-0.3pt) = z6r - (0.15pt,-0.3pt) = z6;
+z7l - (0,0.15pt) = z7r + (0,0.15pt) = z7;
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z4{dir 30}..{down}z5{down}..{dir 150}z6;
+pickup pencircle scaled 0.3pt;
+draw z3{dir -20}..{dir -75}(z4 + (0.5pt,0));
+penstroke z6e{dir -30}..{dir -45}z7e;
+fill fullcircle xscaled 1.5pt yscaled 1pt rotated 30 shifted (z4 + (0,-0.20pt));
+endchar;
+
+beginchar("R",0.60stwd#,stht#,stdp#); "The letter Da-e bindu ra";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (1/2w,3/4h); z4 = (1/2w,9/22h); z5 = (11/20w,3/8h);
+z6 = (41/50w,21/40h); lft z7 = (8/9w,5/16h);
+z8 = (23/40w,1/12h); z9 = (1/10w,13/20h); z10 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{down}..{down}z4{dir -60}..{dir -60}z5{dir 30}..{dir60}z6{dir -60}
+ ..{down}z7{down}..{left}z8{left}..z10..z9;
+fill fullcircle scaled 1.2pt shifted (23/40w,-2/5d);
+endchar;
+
+beginchar("V",0.48stwd#,stht#,stdp#); "The letter Dha-e bindu ra";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+top lft z3 = (1/6w,3/4h); lft z4 = (1/6w,1/4h);
+z5 = (2/5w,1/16h); z6 = (5/6w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3--z4{down}..z5{dir 30}..{up}z6;
+fill fullcircle scaled 1.2pt shifted (z6 - (0.43pt,0.15pt));
+fill fullcircle scaled 1.2pt shifted (3/8w,-2/5d);
+endchar;
+
+beginchar("y",0.55stwd#,stht#,stdp#); "The letter antashthya ya";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0); draw z3..z4;
+top rt z5 = (1/10w,3/4h); z6 = (1/2w,43/80h); z7 = (1/6w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7;
+z7r + (0.25pt,-0.25pt) = z7l - (0.25pt,-0.25pt) = z7;
+z4l + (0.15pt,0) = z4r - (0.15pt,0) = z4;
+penstroke z7e{right}..tension 1.5 ..{dir -75}z4e;
+fill fullcircle scaled 1.2pt shifted (11/25w,1/20h);
+endchar;
+
+beginchar("B",0.52stwd#,stht#,stdp#); "The letter khanda-ta";
+z1 = (17/60w,28/40h); z2 = (1/2w,4/7h); z3 = (2/3w,52/80h);
+z4 = (1/2w,3/4h); z5 = (1/7w,21/40h); z6 = (9/10w,0);
+pickup pencircle xscaled 0.5pt yscaled 0.3pt rotated 60;
+%pickup pencircle scaled 0.4pt;
+draw z1..{right}z2{right}..{up}z3{up}..{left}z4{left} ..z1..
+{down}z5{down}..{down}z6;
+endchar;
+
+beginchar("M",0.32stwd#,stht#,stdp#); "The letter anuswar";
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+z1 = (1/2w,3/4h); z2 = (1/2w,3/4h-11/20w); draw z1..z2..cycle;
+z3 = z3l - (0,0.30pt) = z3r + (0,0.30pt) = (1/5w,17/40h);
+z4 = z4l - (0,0.20pt) = z4r + (0,0.20pt) = (w,0);
+penstroke z3e{dir -45}...{dir -75}z4e;
+endchar;
+
+beginchar("H",0.27stwd#,stht#,stdp#); "The letter bisarga";
+z1 = (1/2w,3/4h); z4 = (1/2w,1/10h); z2 = (1/2w,3/4h-2/3w); z3 = (1/2w,1/10h+2/3w);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z1..z2..cycle; draw z3..z4..cycle;
+endchar;
+
+beginchar("w",0stwd#,stht#,stdp#); "chandrabindu";
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+z1 = (w-2.6pt,h); z2 = (w-1pt,3/4h+0.4pt); z3 = (w+0.6pt,h);
+draw z1..{right}z2{right}..z3;
+fill fullcircle scaled 1.1pt shifted (-1pt,h);
+endchar;
+
+%%% End of bnbanjon.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bndigit.mf b/Master/texmf-dist/fonts/source/public/bengali/bndigit.mf
new file mode 100644
index 00000000000..a77a226f27c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bndigit.mf
@@ -0,0 +1,86 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bndigit.mf: METAFONT file that defines the Bengali digits
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar("0",0.48stwd#,stht#,stdp#); "The number 0";
+z1 = (1/2w,7/16h+19/50w); z2 = (1/2w,7/16h-19/50w);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1..z2..cycle;
+endchar;
+
+beginchar("1",0.52stwd#,stht#,stdp#); "The number 1";
+z1 = (1/5w,3/4h); z2 = (3/4w,3/8h); z3 = (5/6w,1/4h); z4 = (7/12w,1/15h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1{dir -135}..z2..{down}z3{down}..{dir -160}z4;
+fill fullcircle xscaled 2.0pt yscaled 1.3pt rotated 20 shifted (z4 + (-0.12pt,0.35pt));
+endchar;
+
+beginchar("2",0.52stwd#,stht#,stdp#); "The number 2";
+z1 = (1/4w,3/4h); z2 = (5/9w,11/24h); z3 = (3/4w,21/41h);
+z4 = (1/5w,1/3h); z5 = (9/10w,-d/5);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt;
+draw z1{dir -135}..tension 2..{dir -45}z3{dir -45}..{dir 150}z4;
+z4l + (0.1pt,-0.35pt) = z4r - (0.1pt,-0.35pt) = z4 - (0.30pt,-0.04pt);
+z5l - (0.15pt,0) = z5r + (0.15pt,0) = z5;
+penstroke z4e{dir -30}..{dir -45}z5e;
+endchar;
+
+beginchar("3",0.60stwd#,stht#,stdp#); "The number 3";
+z3 = (1/2w,5/9h); lft z4 = (6/7w,7/20h);
+z5 = (3/5w,1/12h); rt z6 = (1/10w,13/20h); z7 = (1/5w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir 28}..{down}z4{down}..{left}z5{left}..z7..z6;
+fill fullcircle scaled 1.5pt shifted (z3 + (0.24pt,-0.44pt));
+endchar;
+
+beginchar("4",0.54stwd#,stht#,stdp#); "The number 4";
+z1 = (1/2w,3/4h); z2 = (1/6w,9/16h); z3 = (1/2w,3/8h);
+z4 = (5/6w,3/16h); z5 = (1/2w,0); z6 = (1/6w,3/16h); z7 = (5/6w,9/16h);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated 45;
+draw z1..z2..z3..z4..z5..z6..z3..z7..cycle;
+endchar;
+
+beginchar("5",0.54stwd#,stht#,stdp#); "The number 5";
+z1 = (1/2w,3/4h); z2 = (1/5w,1/9h); z3 = (3/4w,0); z4 = (9/10w,11/20h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{dir -145}..{dir -50}z2{dir -50}..{right}z3{dir 150}..
+{dir 30}z4{left}..{up}z1;
+endchar;
+
+beginchar("6",0.59stwd#,stht#,stdp#); "The number 6";
+top z3 = (7/20w,3/4h); z4 = (1/2w,9/22h); z5 = (11/20w,3/8h);
+z6 = (41/50w,21/40h); lft z7 = (8/9w,5/16h);
+z8 = (23/40w,1/12h); z9 = (1/10w,13/20h); z10 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir -10}..tension 1.2..{dir -70}z4{dir -60}..{dir -60}z5{dir 30}..{dir 60}z6{dir -60}
+ ..{down}z7{down}..{left}z8{left}..z10..z9;
+endchar;
+
+beginchar("7",0.48stwd#,stht#,stdp#); "The number 7";
+z1 = (3/4w,10/21h); z2 = (1/6w,1/2h); z3 = (1/2w,3/4h); z4 = (8/9w,0);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{left}..tension 1.4..{dir 135}z2{dir 135}..tension 1.4..
+{right}z3{right}..z1..tension 2.2..{dir -15}z4;
+endchar;
+
+beginchar("8",0.55stwd#,stht#,stdp#); "The number 8";
+z1 = (1/10w,3/4h); z2 = (1/6w,3/7h); z3 = (1/6w,1/6h);
+z4 = (1/4w,1/16h); z5 = (13/20w,17/42h); z6 = (9/10w,1/2h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt;
+draw z1{right}..tension 2.2..{down}z2--z3{down}..z4{right}..
+{up}z5{dir 135}..tension 2..{dir -135}z2;
+pickup pencircle xscaled 0 yscaled 0.5pt rotated 30;
+draw z5{dir 75}..{dir 75}z6;
+endchar;
+
+beginchar("9",0.55stwd#,stht#,stdp#); "The number 9";
+z1 = (1/6w,3/4h); z2 = (7/8w,1/5h); z3 = (2/3w,0);
+z4 = (23/60w,1/4h); z5 = (1/6w,1/10h);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated 45;
+draw z1{down}..{down}z2{down}..{dir -165}z3{up}..{left}z4{left}..{dir -75}z5;
+fill fullcircle scaled 1.2pt shifted (z5 + (0.39pt,-0.1pt));
+endchar;
+
+%%% End of bndigit.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnjuk.mf b/Master/texmf-dist/fonts/source/public/bengali/bnjuk.mf
new file mode 100644
index 00000000000..365448cac8d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnjuk.mf
@@ -0,0 +1,980 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnjuk.mf: METAFONT file that defines the Bengali conjunct consonants
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 20 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+input bnmacro;
+
+newchar(128,0.70,"k + k");
+matra(w,h);
+ka_(1/7w,1/3h,6/7w-0.9pt,(3/4-1/3)*h,3/10);
+ka(4/17w,0,(6/7-4/17)*w-0.25pt,11/20h,3/10);
+endchar;
+
+newchar(129,0.55,"k + T");
+matra(w,h); tiki(w,h,0);
+ka(1/7w,11/40h,13/20w,(3/4-11/40)*h,3/8);
+_Dha(3/10w,0,7/10w-0.9pt,3/10h);
+endchar;
+
+newchar(130,0.75,"k + t");
+matra(w,h);
+tta(1/11w,0,(16/25-1/11)*w,3/4h-0.8pt);
+shnur(15/25w,3/8h,10/25w-0.4pt,11/60h);
+endchar;
+
+newchar(131,0.70,"k + b");
+matra(w,h);
+ka_(1/7w,1/3h,6/7w-0.9pt,(3/4-1/3)*h,1/10);
+ba(4/17w,0,(5/7-4/17)*w-0.6pt,11/20h);
+endchar;
+
+newchar(132,0.68,"k + m");
+matra(w,h);
+ka(1/10w,3/10h,15/26w,(3/4 - 3/10)*h,3/10);
+ma(29/50w,0,21/50w-0.9pt,1/3h,1.2,-0.5pt);
+endchar;
+
+newchar(133,0.84,"k + r");
+matra(w,h);
+tra(1/11w,0,(16/25-1/11)*w,2/3h);
+shnur(16/25w,3/8h,9/25w-0.4pt,11/60h);
+endchar;
+
+newchar(134,0.65,"k + l");
+matra(w,h);
+ka(1/4w,3/10h,3/4w-0.9pt,(3/4-3/10)*h,3/10);
+la(1/10w,0,(3/4-1/10)*w-0.6pt,3/10h,0);
+endchar;
+
+newchar(135,0.82,"k + s");
+matra(w,h);
+khiyo(1/10w,0,9/10w-0.9pt,3/4h);
+endchar;
+
+newchar(136,0.75,"k + s + n");
+matra(w,h);
+khiyo(1/9w,1/16h,8/9w-0.9pt,(3/4-1/16)*h);
+na(1/4w,-11/30d,5/12w-0.32pt,11/32h,0);
+endchar;
+
+newchar(137,0.85,"k + s + m");
+matra(w,h);
+khiyo(1/10w,1/16h,17/24w,(3/4-1/16)*h);
+ma(575/1000w,-3/4d,425/1000w-0.9pt,39/100h,1.35,0);
+endchar;
+
+newchar(138,0.67,"k + ss");
+matra(w,h); rtbar(w,h);
+ka(1/8w,3/11h,11/20w,(3/4-3/11)*h,3/8);
+_ds(1/5w,0,4/5w-0.9pt,3/5h);
+endchar;
+
+newchar(139,0.65,"g + dh");
+pickup dflt_pen;
+draw ((1/6+9/16)*w-0.18pt,3/4h)..(w,3/4h);
+ga(1/6w,3/8h,9/16w-0.18pt,3/8h,0);
+dha(3/8w,0,5/8w-0.9pt,3/7h);
+endchar;
+
+newchar(140,0.56,"g + n");
+pickup dflt_pen;
+draw (w-0.9pt,3/4h)..(w,3/4h);
+ga(1/6w,3/8h,5/6w-0.9pt,3/8h,0);
+na(1/4w,0,3/4w-0.9pt,3/8h,1/9);
+endchar;
+
+newchar(141,0.56,"g + b");
+pickup dflt_pen;
+draw (w-0.9pt,3/4h)..(w,3/4h);
+ga(1/6w,3/8h,5/6w-0.9pt,3/8h,0);
+ba(4/9w,0,5/9w-0.9pt,3/7h);
+endchar;
+
+newchar(142,0.70,"g + m");
+pickup dflt_pen;
+draw (2/3w,3/4h)..(w,3/4h);
+ga(1/9w,3/8h,5/9w,3/8h,0);
+ma(2/3w,0,1/3w-0.9pt,3/10h,1.4,(3/8-3/10)*h);
+endchar;
+
+newchar(143,0.59,"g + l");
+pickup dflt_pen;
+draw (w-0.9pt,3/4h)..(w,3/4h);
+ga(1/5w,3/8h,4/5w-0.9pt,3/8h,0);
+la(1/7w,0,6/7w-0.9pt,7/20h,1/9);
+endchar;
+
+newchar(144,0.52,"gh + n");
+matra(w,h);
+gha(1/6w,3/20h,5/6w-0.9pt,(3/4-3/20)*h);
+na(1/3w,-1/4d,2/3w-0.9pt,3/8h,0);
+endchar;
+
+newchar(145,0.60,"una + k");
+matra(w,h);
+na(1/7w,2/5h,31/61w,(3/4-3/7)*h,-1);
+ka(1/5w,0,4/5w-0.9pt,31/60h,3/10);
+z1 = (11/20w,3/4h); z3 = (19/20w,3/4h); z2 = 3/5[z1,z3] - (0,1/7h);
+pickup dflt_pen; draw z1{dir -45}..z2..z3;
+endchar;
+
+newchar(146,1.22,"una + k + s");
+una(1/14w,1/8h,(5/12-1/12)*w,(3/4-1/8)*h);
+khiyo(5/12w,0,7/12w-0.9pt,3/4h);
+pickup dflt_pen; draw (4/11w,3/4h)..(w,3/4h);
+endchar;
+
+newchar(147,0.80,"una + kh");
+una(1/9w,1/5h,(1/2-1/60)*w,(3/4-1/5)*h);
+rtbar(w,21/20h); matra(1/7w,h);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+z1 = (29/50w,21/40h); z2 = (7/10w,18/50h); z3 = (29/50w,1/5h); z4 = (w-0.9pt,0);
+draw z1{dir -45}..{down}z2{down}..{dir -135}z3{dir -15}..z4;
+endchar;
+
+newchar(148,0.58,"una + g");
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (1/10w,3/4h); z4 = (1/6w,3/5h); z5 = (1/8w,17/80h);
+z6 = (1/5w,1/5h); z7 = 1/3[z6,z8];
+z8 = (8/9w,11/19h); z9 = (5/6w,0);
+pickup pencircle xscaled 0.2pt yscaled 0.6pt rotated 45;
+draw z4{dir 30}..z7..tension 2..z6..z5;
+draw z7..{dir 35}z8{dir -120}..{dir -75}z9;
+pickup pencircle scaled 0.3pt;
+draw z3{dir -20}..{dir -75}(z4 + (0.5pt,0));
+fill fullcircle scaled 1.2pt shifted (z4 + (0.19pt,-0.25pt));
+z1' = (9/20w,3/4h); z3' = (17/20w,3/4h); z2' = 3/5[z1',z3'] - (0,1/7h);
+pickup dflt_pen; draw z1'{dir -45}..z2'..z3';
+endchar;
+
+newchar(149,0.90,"una + gh");
+una(1/12w,1/8h,(1/2-1/18)*w,(3/4-1/8)*h);
+gha(1/2w,0,1/2w-0.9pt,3/4h);
+pickup dflt_pen; draw (9/19w,3/4h)..(w,3/4h);
+endchar;
+
+newchar(150,0.65,"una + m");
+una(1/9w,1/5h,(2/3-1/15)*w,(3/4-1/5)*h);
+ma(3/5w,0,2/5w-0.9pt,31/120h,1.8,-0.5pt);
+pickup dflt_pen; draw (19/30w,3/4h)..(w,3/4h);
+endchar;
+
+newchar(151,0.75,"ch + ch");
+matra(w,h);
+cha(1/8w,1/5h,(17/40-1/8)*w,(3/4-1/5)*h);
+cha(19/40w,0,21/40w-0.9pt,3/4h);
+endchar;
+
+newchar(152,0.75,"ch + chh");
+matra(w,h);
+cha(1/8w,1/5h,(17/40-1/8)*w,(3/4-1/5)*h);
+chha(19/40w,0,21/40w-0.9pt,3/4h);
+endchar;
+
+newchar(153,0.73,"ch + chh + b");
+matra(w,h);
+cha(1/8w,1/4h,(17/40-1/8)*w,(3/4-1/4)*h);
+chha(19/40w,1/15h,21/40w-0.9pt,(3/4-1/15)*h);
+ba(5/9w,-17/40d,1/4w,1/4h);
+endchar;
+
+newchar(154,0.65,"ch + ina");
+matra(w,h);
+cha(1/5w,3/9h,3/10w,(3/4-3/9)*h);
+ina(1/8w,0,7/8w-0.9pt,3/7h);
+endchar;
+
+newchar(155,0.95,"j + j");
+matra(w,h);
+ja(1/12w,11/50h,2/5w,(3/4-11/50)*h);
+ja(21/50w,0,23/50w,31/50h);
+jaleg(31/50w,0,19/50w-0.8pt,31/50h);
+top z1 = (12/50w,3/4h); z2 = (62/100w,31/50h);
+pickup pencircle xscaled 0.25pt yscaled 0.5pt;
+draw z1{dir -60}..{dir 15}z2;
+endchar;
+
+newchar(156,0.95,"j + j + b");
+matra(w,h);
+ja(1/12w,11/50h,2/5w,(3/4-11/50)*h);
+ja(21/50w,0,23/50w,31/50h);
+jaleg(31/50w,-1/30d,19/50w-0.6pt,1/30d + 31/50h);
+top z1 = (12/50w,3/4h); z2 = (62/100w,31/50h);
+pickup pencircle xscaled 0.25pt yscaled 0.5pt;
+draw z1{dir -60}..{dir 15}z2;
+z3 = (w-1.15pt,1/8h); z4 = (27/40w,-1/30h); z5 = (w-0.95pt,-3/5d);
+pickup dflt_pen;
+draw z3{z4-z3 rotated -3}..z4;
+draw z4{z5-z4 rotated -5}..{z5-z4 rotated 5}z5--z3;
+endchar;
+
+newchar(157,1.20,"j + jha");
+matra(79/100w,h);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+ja(1/12w,0,(1/2-1/12)*w,3/4h);
+jaleg(13/50w,0,(1/2-1/4)*w,3/4h);
+jha(1/2w,0,1/2w-0.9pt,3/4h,1.05);
+endchar;
+
+newchar(158,0.75,"j + ina");
+matra(w,h);
+ja(1/10w,0,11/16w,3/4h);
+hump(59/100w,9/38h,2/5w-0.9pt,1/3h);
+top z1 = (2/5w,3/4h); z2 = (23/40w,4/9h);
+pickup dflt_pen; draw z1..z2;
+endchar;
+
+newchar(159,0.72,"j + b");
+matra(w,h);
+ja(1/10w,0,11/16w,3/4h);
+jaleg(2/5w,-3/8d,3/5w-0.7pt,3/8d + 3/4h);
+z1 = (w-1.5pt,1/5h); z2 = (1/2w,1/30h); z3 = (w-1.15pt,-1/2d);
+pickup dflt_pen; draw z1{z2-z1 rotated -4}..z2; draw z2{z3-z2 rotated -6}..z3;
+endchar;
+
+beginchar(160,0.80stwd#,stht#,stdp#); "ina + ch";
+numeric wd; wd = 11/20w+0.9pt;
+z1 = (wd-0.9pt,3/4h+0.3pt); z2 = (wd-0.9pt,0);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+z4 = (1/7wd,5/8h); z5 = (3/8wd,3/4h);
+z6 = (3/5wd,5/8h); z7 = (1/5wd,3/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z4{dir 90}...{right}z5{right}..{down}z6{down}..{dir -160}z7;
+z2l + (0.1pt,-0.4pt) = z2r - (0.1pt,0.4pt) = z2;
+z7r + (0.1pt,-0.24pt) = z7l - (0.1pt,-0.24pt) = z7;
+penstroke z7e{right}..tension1.2..{dir -75}z2e;
+fill fullcircle scaled 1pt shifted (z4 + (0.33pt,0pt));
+hump(11/20w,1/4h,9/20w-1.1pt,9/20h);
+endchar;
+
+newchar(161,0.60,"ina + chh");
+z1 = (1/8w,13/20h); bot z2 = (3/10w,3/4h); z3 = (9/20w,13/20h);
+z4 = (1/8w,7/20h); z5 = (11/20w,8/20h); z5' = (26/40w,14/40h);
+z6 = (1/8w,1/8h); z7 = (w-0.5pt,-2/3d);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{up}..{right}z2{right}..{down}z3{down}..{down}z4{down}..{dir 60}z5
+ {dir -20}..z5'..{left}z6{right}..tension 1.5..z7;
+hump(9/20w,1/2h,11/20w-0.9pt,(3/4-1/2)*h);
+fill fullcircle scaled 1.1pt shifted (z1 + (0.34pt,0.06pt));
+endchar;
+
+newchar(162,0.69,"ina + j");
+ja(1/10w,0,13/17w,3/5h);
+hump(9/20w,1/2h,11/20w-0.9pt,(3/4-1/2)*h);
+z1 = (1/7w,12/19h); z2 = (1/3w,3/4h); z3 = (1/3w+0.48pt,3/5h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z1{up}..{right}z2{right}..{dir -135}z3;
+z4 = (5/6w,9/20h); z5 = (4/5w,0);
+pickup dflt_pen;
+draw z4{dir -120}..tension 1.8..z5;
+fill fullcircle scaled 1.1pt shifted (z1 + (0.45pt,-0.18pt));
+endchar;
+
+newchar(163,0.62,"ina + jh");
+ina(1/8w,3/8h,73/100w,3/8h);
+jha(1/5w,0,53/100w,3/7h,5/6);
+endchar;
+
+newchar(164,0.57,"T + T");
+matra(w,h);
+Dha(1/4w,1/15h,3/4w-0.9pt,(3/4-1/15)*h);
+tiki(w,h,0);
+z1 = (7/10w,1/5h); z2 = (1/2w,-1/3d); z3 = (1/8w,1/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z1{dir -30}..{left}z2{left}..{dir 125}z3;
+endchar;
+
+newchar(165,0.50,"T + b");
+matra(w,h);
+Dha(1/6w,1/10h,5/6w-0.9pt,(3/4-1/10)*h);
+tiki(w,h,-1/12);
+ba(6/13w,-1/2d,1/2w-0.9pt,3/10h);
+endchar;
+
+newchar(166,0.90,"D + D");
+matra(w,h);
+Da(1/11w,1/4h,(2/5-1/12)*w,(3/4-1/4)*h);
+Da(21/50w,0,29/50w-0.9pt,3/4h);
+endchar;
+
+newchar(167,0.78,"N + T");
+pickup dflt_pen; draw ((6/13+1/35)*w,3/4h)..(w,3/4h);
+mna(1/11w,3/8h,(6/13-1/16)*w,3/8h,0);
+Dha(6/13w,0,7/13w-0.9pt,3/4h); tiki(w,h,1/4);
+endchar;
+
+newchar(168,0.61,"N + Th");
+mna(1/7w,39/80h,41/100w,(3/4-35/80)*h,-1);
+Tha(1/4w,0,3/4w-0.9pt,3/4h);
+endchar;
+
+beginchar(169,0.63stwd#,stht#,stdp#); "N + D";
+z1 = (1/5w,61/100h); z1' = (39/100w,3/4h);
+z2' = (60/100w,3/5h); z2 = (74/100w,76/100h);
+z4 = (18/25w,8/20h); z5 = (7/8w,12/50h);
+z6 = (23/40w,1/18h); z8 = (1/10w,13/20h); z7 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1{dir 100}..{right}z1'{right}..{dir -60}z2'{dir 60}..
+ {dir 45}z2{dir -35}..{dir -135}z4
+ {dir -30}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z4 + (-0.37pt,0));
+fill fullcircle scaled 1.2pt shifted (z1 + (0.40pt,0.2pt));
+endchar;
+
+newchar(170,0.52,"N + N");
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+mna(1/6w,3/8h,5/6w-0.9pt,3/8h,1/9);
+mna(1/6w,0,5/6w-0.9pt,3/8h,0);
+endchar;
+
+newchar(171,0.65,"N + m");
+pickup dflt_pen; draw (5/8w,3/4h)..(w,3/4h);
+mna(1/8w,3/8h,1/2w,3/8h,1/9);
+ma(5/8w,0,3/8w-0.9pt,3/8h,1,0);
+endchar;
+
+newchar(172,0.57,"t + t");
+matra(w,h);
+tta(1/7w,0,6/7w-0.9pt,3/4h-0.8pt);
+endchar;
+
+newchar(173,0.55,"t + t + b");
+matra(w,h);
+tta(1/7w,1/9h,6/7w-0.9pt,(3/4-1/9)*h-0.7pt);
+ba(5/11w,-1/3d,1/3w,3/10h);
+endchar;
+
+beginchar(174,0.62stwd#,stht#,stdp#); "t + th";
+z1 = (w-0.9pt,3/4h+0.3pt); z1' = (w-0.9pt,3/4h); z2 = (w-0.9pt,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+z4 = (1/7w,3/5h); z4' = (7/25w,3/4h);
+z5 = (9/20w,3/5h); z5' = (11/20w,3/4h);
+z6 = (13/20w,5/8h); z7 = (1/4w,3/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z4{dir 100}...{right}z4'{right}..{dir -60}z5{dir 60}..
+ {dir 45}z5'{dir -50}..{down}z6{down}..{dir -160}z7;
+z2l + (0.1pt,-0.4pt) = z2r - (0.1pt,0.4pt) = z2;
+z7r + (0.1pt,-0.24pt) = z7l - (0.1pt,-0.24pt) = z7;
+penstroke z7e{right}..tension1.2..{dir -75}z2e;
+fill fullcircle scaled 1pt shifted (z4 + (0.33pt,0.2pt));
+endchar;
+
+newchar(175,0.58,"t + n");
+matra(w,h);
+ta_(1/10w,1/3h,9/10w-0.9pt,(3/4-1/3)*h);
+na(7/24w,0,17/24w-1.2pt,29/80h,0);
+endchar;
+
+newchar(176,0.60,"t + b");
+matra(w,h);
+ta_(1/10w,3/10h,9/10w-0.9pt,(3/4-3/10)*h);
+ba(4/9w,0,1/2w-0.9pt,3/8h);
+endchar;
+
+newchar(177,0.74,"t + m");
+matra(w,h);
+ta_(1/12w,1/3h,3/5w,(3/4 - 1/3)*h);
+ma(3/5w,0,2/5w-0.9pt,1/3h,1.2,-0.5pt);
+endchar;
+
+newchar(178,0.66,"t + r");
+matra(w,h);
+tra(1/8w,0,7/8w-0.9pt,2/3h);
+endchar;
+
+newchar(179,0.80,"t + r + u");
+matra(w,h);
+tra(1/10w,0,11/20w,2/3h);
+z1' = (13/20w,2/5h); z2' = (w-0.4pt,47/100h); z3' = (17/20w,3/5h);
+pickup pencircle scaled penth#;
+draw z1'{dir -60}..{up}z2'{up}..{left}z3';
+fill fullcircle scaled 1.3pt shifted (z3' + (-0.1pt,-0.46pt));
+endchar;
+
+newchar(180,0.87,"d + g");
+matra(21/50w,h);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+da(1/10w,0,(19/50-1/10)*w,3/4h,0);
+ga(23/50w,3/9h,27/50w-0.9pt,(3/4-3/9)*h,0.8);
+endchar;
+
+newchar(181,0.84,"d + gh");
+matra(w,h);
+da(1/10w,0,(19/50-1/11)*w,3/4h,0);
+gha(23/50w,0,27/50w-0.9pt,3/4h);
+endchar;
+
+newchar(182,0.58,"d + d");
+matra(w,h)
+da(1/8w,11/40h,(9/20-1/8)*w,(3/4-11/40)*h,0);
+da(9/20w+0.1pt,0,1/2w-1.0pt,(3/4-1/40)*h,-33/50);
+endchar;
+
+newchar(183,0.62,"d + dh");
+matra(w,h);
+da_(1/7w,3/8h,(2/3-1/7)*w-0.07pt,3/8h);
+dha(1/4w,0,3/4w-0.9pt,1/2h);
+endchar;
+
+newchar(184,0.53,"d + b");
+matra(w,h);
+da_(1/6w,3/8h,5/6w-0.9pt,3/8h);
+ba(1/3w,0,2/3w-0.9pt,1/2h);
+endchar;
+
+newchar(185,0.62,"d + bh");
+matra(w,h);
+da(1/6w,7/25h,1/3w,(3/4-7/25)*h,0);
+bha(1/8w,0,7/8w-0.9pt,8/19h);
+endchar;
+
+newchar(186,0.62,"d + bh + r");
+matra(w,h);
+da(1/6w,7/25h,1/3w,(3/4-7/25)*h,0);
+bhra(1/8w,0,7/8w-0.9pt,8/19h);
+endchar;
+
+newchar(187,0.56,"d + m");
+matra(w,h)
+da(1/8w,1/7h,(23/40-1/8)*w,(3/4-1/7)*h,0);
+ma(23/40w-0.1pt,0,17/40w-0.8pt,1/4h,2.0,0);
+endchar;
+
+newchar(188,0.50,"dh + n");
+dha_(9/40w,3/14h,31/40w-0.9pt,(3/4-3/14)*h);
+na(1/6w,-1/4d,5/6w-0.9pt,3/8h,0);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+endchar;
+
+newchar(189,0.92,"dh + b");
+dha_(1/11w,0,(1/2-1/10)*w,3/4h);
+ba(1/2w,0,1/2w-0.9pt,3/4h);
+pickup dflt_pen; draw (1/2w,3/4h)..(w,3/4h);
+endchar;
+
+newchar(190,0.78,"n + T");
+matra(w,h);
+na(1/8w,3/10h,(6/13-19/180)*w,3/8h,1/9);
+Dha(6/13w,0,7/13w-0.9pt,3/4h); tiki(w,h,1/4);
+endchar;
+
+newchar(191,0.63,"n + D");
+matra(w,h);
+na(1/10w,7/18h,(2/5-1/14)*h,1/3h,1/12);
+Da(1/8w,0,7/8w-0.9pt,3/4h);
+endchar;
+
+newchar(192,0.62,"n + t");
+matra(w,h);
+na_(1/5w,11/25h,4/5w-0.7pt,(3/4-11/25)*h);
+ta(1/10w,0,11/12w-0.9pt,3/8h,0.4);
+endchar;
+
+newchar(193,0.60,"n + t + u");
+matra(w,h);
+na_(1/10w,12/25h,4/5w-0.7pt,(3/4-12/25)*h);
+tta(1/5w,-11/20d,4/5w-0.9pt,4/7h);
+endchar;
+
+newchar(194,0.60,"n + t + b");
+matra(w,h);
+na_(1/5w,12/25h,4/5w-0.7pt,(3/4-12/25)*h);
+ta(1/10w,1/8h,11/12w-0.9pt,3/10h,0.4);
+ba(17/30w,-2/5d,1/4w,1/4h);
+endchar;
+
+newchar(195,0.62,"n + t + r");
+matra(w,h);
+na_(1/5w,12/25h,4/5w-0.7pt,(3/4-12/25)*h);
+tra(1/7w,-1/4d,6/7w-0.9pt,21/40h);
+endchar;
+
+newchar(196,0.60,"n + th");
+matra(w,h);
+na_(1/10w,12/25h,4/5w-0.7pt,(3/4-12/25)*h);
+ha(3/10w,-1/3d,7/10w-0.3pt,5/8h);
+endchar;
+
+newchar(197,0.68,"n + d");
+matra(w,h);
+na(1/10w,3/10h,(1/2-1/10)*w,3/8h,0.2);
+da(1/2w,0,1/2w-0.9pt,3/4h,0);
+endchar;
+
+newchar(198,0.62,"n + dh");
+matra(w,h);
+na(1/6w,3/9h,9/16w-0.38pt,3/8h,0.1);
+dha(5/17w,0,12/17w-0.9pt,19/39h);
+endchar;
+
+newchar(199,0.52,"n + n");
+matra(w,h);
+na(1/6w,3/10h,5/6w-0.9pt,3/8h,1/9);
+na(1/6w,0,5/6w-0.9pt,3/8h,1/9);
+endchar;
+
+newchar(200,0.55,"n + b");
+matra(w,h);
+na(1/7w,7/24h,6/7w-0.9pt,3/8h,1/6);
+ba(4/9w,0,5/9w-0.9pt,3/7h);
+endchar;
+
+newchar(201,0.65,"n + m");
+matra(w,h);
+na(1/8w,7/20h,1/2w,3/8h,1/15);
+ma(5/8w,0,3/8w-0.9pt,7/20h,1.1,0);
+endchar;
+
+newchar(202,0.70,"n + ss");
+matra(w,h);
+na(1/8w,9/28h,7/20w,3/12h,-1);
+ds(1/5w,0,4/5w-0.9pt,3/4h);
+endchar;
+
+newchar(203,0.80,"p + T");
+pickup dflt_pen; draw ((8/17+1/35)*w,3/4h)..(w,3/4h);
+pa(1/11w,9/20h,(8/17-1/16)*w,1/4*h,-1/10);
+Dha(8/17w,0,9/17w-0.9pt,3/4h); tiki(w,h,1/4);
+endchar;
+
+newchar(204,0.65,"p + t");
+pickup dflt_pen; draw ((4/5 + 1/7)*w-0.9pt,3/4h)..(w,3/4h);
+pa(1/7w,3/7h,4/5w-0.9pt,(3/4-3/7)*h,0.28);
+ta(1/11w,0,9/10w-0.9pt,3/8h,0.4);
+endchar;
+
+newchar(205,0.60,"p + n");
+pa(1/7w,7/17h,6/7w-0.9pt,(3/4-7/17)*h,0.3);
+na(1/3w,0,2/3w-0.9pt,3/8h,0.3);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+endchar;
+
+newchar(206,0.60,"p + p");
+pa(1/7w,3/7h,6/7w-0.9pt,(3/4-3/7)*h,0.3);
+pa(1/7w,0,6/7w-0.9pt,(3/4-3/7)*h,0.05);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+endchar;
+
+newchar(207,0.60,"p + l");
+pa(1/7w,7/17h,6/7w-0.9pt,(3/4-7/17)*h,0.3);
+la(1/5w,0,4/5w-0.9pt,3/8h,0.3);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+endchar;
+
+newchar(208,0.70,"p + ss");
+matra(w,h);
+pa(1/8w,23/60h,33/100w,1/5h,-1.15);
+ds(1/5w,0,4/5w-0.9pt,3/4h);
+endchar;
+
+newchar(209,0.68,"ph + l");
+matra(w,h);
+pha_(9/40w,1/5h,31/40w-0.9pt,(3/4-1/5)*h);
+la(1/8w,-1/5d,5/9w-0.05pt,1/3h,1/3);
+endchar;
+
+beginchar(210,0.69stwd#,stht#,stdp#); "b + j";
+matra(w,h);
+top z3 = (8/20w,3/4h); z5 = (8/20w,9/24h);
+z6 = (21/36w,37/80h); z7 = (11/16w,3/10h); z8 = (1/2w,1/8h);
+rt z9 = (1/10w,4/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3--z5{right}..{dir30}z6
+ {dir -60}..{down}z7{down}..{left}z8{left}..{up}z9;
+rt z11 = z11l + (0.2pt,-0.2pt) = z11r - (0.2pt,-0.2pt) = (11/12w,3/5h);
+z12 = z12l + (0.15pt,0) = z12r - (0.15pt,0) = (8/9w,0);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z3{dir -90}..{dir 15}z11;
+penstroke z11e{dir -120}..{dir -75}z12e;
+ba(1/8w,3/8h,(2/5-1/8)*w,3/8h);
+endchar;
+
+newchar(211,0.65,"b + d");
+matra(w,h);
+ba(1/10w,3/10h,(19/40-1/10)*w,3/7h);
+da(19/40w,0,21/40w-0.9pt,3/4h,0);
+endchar;
+
+newchar(212,0.65,"b + dh");
+matra(w,h);
+ba_(1/8w,3/8h,9/16w-0.22pt,3/8*h);
+dha(4/17w,0,13/17w-0.9pt,4/7h);
+endchar;
+
+newchar(213,0.54,"b + b");
+matra(w,h);
+ba_(1/7w,3/8h,6/7w-0.9pt,3/8*h);
+ba(4/17w,0,13/17w-0.9pt,4/7h);
+endchar;
+
+newchar(214,0.54,"b + l");
+matra(w,h);
+ba(1/4w,5/18h,3/4w-0.9pt,(3/4 - 5/18)*h);
+la(1/7w,0,6/7w-0.9pt,7/20h,1/9);
+endchar;
+
+newchar(215,0.70,"bh + r");
+matra(w,h);
+bhra(1/8w,0,7/8w-0.9pt,2/3h);
+endchar;
+
+newchar(216,0.60,"bh + l");
+matra(w,h);
+bha(1/8w,1/3h,7/8w-0.9pt,3/8h);
+la(4/25w,-1/5d,4/5w-0.9pt,3/9h,1/3);
+endchar;
+
+newchar(217,0.56,"m + n");
+matra(w,h);
+ma_(1/7w,11/25h,6/7w-0.7pt,(3/4-11/25)*h);
+na(1/5w,0,4/5w-0.9pt,3/8h,0.3);
+endchar;
+
+newchar(218,1.00,"m + p");
+ma_(1/12w,1/2h,(3/7-1/10)*w,(3/4-13/25)*h);
+pa(4/9w,3/8h,5/9w-0.9pt,3/8h,1);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+draw (0,3/4h)..(37/100w,3/4h);
+endchar;
+
+newchar(219,0.95,"m + ph");
+matra(w,h);
+ma_(1/11w,12/25h,(2/5-1/30)*w,(3/4-12/25)*h);
+pha(3/7w,0,4/7w-0.9pt,14/25h,0.38);
+endchar;
+
+newchar(220,0.56,"m + b");
+matra(w,h);
+ma_(1/7w,11/25h,6/7w-0.65pt,(3/4-11/25)*h);
+ba(1/3w,0,2/3w-0.9pt,29/60h);
+endchar;
+
+newchar(221,0.64,"m + bh");
+matra(w,h);
+ma_(1/6w,11/25h,5/6w-1.2pt,(3/4-11/25)*h);
+bha(1/8w,0,7/8w-0.9pt,8/17h);
+endchar;
+
+newchar(222,0.62,"m + bh + r");
+matra(w,h);
+ma_(1/6w,11/24h,5/6w-1.2pt,(3/4-11/24)*h);
+bhra(1/8w,0,7/8w-0.9pt,19/40h);
+endchar;
+
+newchar(223,0.70,"m + m");
+matra(w,h);
+ma_(1/9w,11/25h,18/30w,(3/4-11/25)*h);
+ma(2/3w,0,1/3w-0.9pt,3/8h,1,1/15h);
+endchar;
+
+newchar(224,0.58,"m + l");
+matra(w,h);
+ma_(1/7w,11/25h,6/7w-0.7pt,(3/4-11/25)*h);
+la(1/6w,0,5/6w-0.9pt,3/8h,0.3);
+endchar;
+
+newchar(225,0.65,"l + k");
+matra(w,h);
+la(1/10w,3/10h,(3/4-1/10)*w-0.6pt,3/8h,0.2);
+ka(1/4w,0,3/4w-0.9pt,1/2h,3/10);
+endchar;
+
+newchar(226,0.60,"l + g");
+matra(w,h);
+la(1/8w,3/10h,7/8w-0.9pt,3/8h,1/9);
+ga(1/4w,0,3/4w-0.9pt,3/8h,0);
+endchar;
+
+newchar(227,0.60,"l + g + u");
+matra(w,h);
+la(1/8w,1/3h,7/8w-1.2pt,3/8h,1/10);
+gu(1/10w,-1/2d,19/20w,2/3h);
+endchar;
+
+newchar(228,0.80,"l + T");
+matra(w,h);
+la(1/11w,3/10h,(8/17-1/14)*w,3/8h,1/9);
+Dha(8/17w,0,9/17w-0.9pt,3/4h); tiki(w,h,1/4);
+endchar;
+
+newchar(229,0.72,"l + D");
+matra(w,h);
+la(1/10w,7/18h,(1/2-1/14)*h,1/3h,1/12);
+Da(1/4w,0,3/4w-0.9pt,3/4h);
+endchar;
+
+newchar(230,0.60,"l + p");
+matra(w,h);
+la(1/6w,9/26h,5/6w-0.9pt,3/8h,0);
+pa(1/7w,1/25h,6/7w-0.9pt,(3/4-7/17-1/25)*h,0.13);
+endchar;
+
+newchar(231,0.60,"l + b");
+matra(w,h);
+la(1/8w,1/4h,7/8w-0.9pt,3/8h,1/4);
+ba(4/9w,0,5/9w-0.9pt,3/7h);
+endchar;
+
+newchar(232,0.70,"l + m");
+matra(w,h);
+la(1/9w,3/10h,5/9w,3/8h,1/9);
+ma(2/3w,0,1/3w-0.9pt,3/10h,1.4,0);
+endchar;
+
+newchar(233,0.62,"l + l");
+matra(w,h);
+la(1/8w,3/10h,7/8w-0.9pt,3/8h,1/9);
+la(1/8w,0,7/8w-0.9pt,3/8h,1/9);
+endchar;
+
+newchar(234,0.85,"sh + ch");
+pickup dflt_pen; draw (11/20w,3/4h)..(w,3/4h);
+draw (0,3/4h)..(1/10w,3/4h);
+sha(1/10w,7/17h,(21/40 - 1/10)*w,(3/4-7/17)*h,0);
+cha(21/40w,0,19/40w-0.9pt,3/4h);
+endchar;
+
+newchar(235,0.88,"sh + chh");
+pickup dflt_pen; draw (11/20w,3/4h)..(w,3/4h);
+draw (0,3/4h)..(1/10w,3/4h);
+sha(1/10w,7/17h,(11/20 - 1/10)*w,(3/4-7/17)*h,0);
+chha(11/20w,0,9/20w-0.9pt,3/4h);
+endchar;
+
+newchar(236,0.60,"sh + n");
+sha(1/7w,7/17h,6/7w-0.9pt,(3/4-7/17)*h,0.3);
+na(1/3w,0,2/3w-0.9pt,3/8h,0.3);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+draw (0,3/4h)..(1/7w,3/4h);
+endchar;
+
+newchar(237,0.72,"sh + m");
+pickup dflt_pen;
+draw (2/3w,3/4h)..(w,3/4h);
+draw (0,3/4h)..(1/9w,3/4h);
+sha(1/9w,7/17h,(2/3 - 1/9)*w,(3/4-7/17)*h,0.38);
+ma(2/3w,0,1/3w-0.9pt,3/10h,1.4,0);
+endchar;
+
+newchar(238,0.60,"sh + l");
+sha(1/7w,7/17h,6/7w-0.9pt,(3/4-7/17)*h,0.3);
+la(1/5w,0,4/5w-0.9pt,3/8h,0.3);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+draw (0,3/4h)..(1/7w,3/4h);
+endchar;
+
+newchar(239,0.60,"sh + b");
+pickup dflt_pen;
+draw (w-0.9pt,3/4h)..(w,3/4h);
+draw (0,3/4h)..(1/7w,3/4h);
+sha(1/7w,7/17h,6/7w-0.9pt,(3/4-7/17)*h,0.5);
+ba(4/9w,0,5/9w-0.9pt,3/7h);
+endchar;
+
+newchar(240,0.60,"s + k");
+matra(w,h);
+ms_(1/7w,3/7h,1/2w,(3/4-3/7)*h);
+ka(1/7w,0,6/7w-0.9pt,59/100h,2/5);
+endchar;
+
+newchar(241,0.82,"s + k + r");
+matra(w,h);
+ms_(1/9w,3/7h,(1/2-1/8)*w,(3/4-3/7)*h);
+tra(1/6w,-1/4d,(2/3-1/6)*w,23/40h);
+shnur(2/3w,1/4h,1/3w-0.3pt,1/9h);
+endchar;
+
+newchar(242,0.54,"s + T");
+matra(w,h); tiki(w,h,0);
+ms_(1/7w,3/8h,12/20w,(3/4-3/8)*h);
+_Dha(1/6w,0,5/6w-0.9pt,3/7h);
+endchar;
+
+newchar(243,0.61,"s + Th");
+matra(w,h);
+ms_(1/7w,31/80h,21/50w,(3/4-31/80)*h);
+Tha(1/4w,0,3/4w-0.9pt,3/4h);
+endchar;
+
+beginchar(244,0.80stwd#,stht#,stdp#); "s + N";
+pickup pencircle scaled penth#;
+numeric wd; wd = 11/20w + 0.9pt;
+z1 = (0,3/4h); z2=(wd-0.9pt,3/4h); draw z1..z2;
+top z3 = (wd-0.9pt,3/4h); z4 = (wd-0.9pt,0); draw z3..z4;
+top rt z5 = (1/10w,3/4h); z6 = (1/2wd,43/80h); z7 = (1/6wd,1/3h); rt z8 = (5/6wd,8/20h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7; draw (z6+(0,0.1pt))--z8;
+z7r + (0.25pt,-0.25pt) = z7l - (0.25pt,-0.25pt) = z7;
+z4l + (0.15pt,0) = z4r - (0.15pt,0) = z4;
+penstroke z7e{right}..tension 2.5 ..{dir -75}z4e;
+hump(11/20w,1/4h,9/20w-1.1pt,9/20h);
+endchar;
+
+newchar(245,0.88,"s + p");
+matra(3/10w,h);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+ms_(1/11w,3/7h+0.19pt,(5/12-1/8)*w,(3/4-3/7)*h);
+pa(5/12w,3/8h,7/12w-0.9pt,(3/4-3/8)*h,1);
+endchar;
+
+newchar(246,0.82,"s + ph");
+matra(w,h)
+ms_(1/11w,3/7h,5/15w,(3/4-3/7)*h);
+pha(7/19w,0,12/19w-0.9pt,14/25h,0.38);
+endchar;
+
+newchar(247,0.60,"s + m");
+matra(w,h);
+ms_(1/7w,3/7h,1/2w,(3/4-3/7)*h);
+ma(21/40w,0,19/40w-0.9pt,2/5h,0.8,0.8pt);
+endchar;
+
+newchar(248,0.75,"ss + k");
+matra(w,h);
+ds_(1/10w,1/2h,2/3w,1/4h);
+ka(3/8w,0,5/8w-0.9pt,22/40h,3/10);
+endchar;
+
+newchar(249,0.84,"ss + k + r");
+matra(w,h);
+ds_(1/9w,13/25h,(2/3-1/9)*w,(3/4-13/25)*h);
+tra(1/6w,-1/4d,(2/3-1/6)*w,11/20h);
+shnur(2/3w,1/4h,1/3w-0.3pt,1/9h);
+endchar;
+
+newchar(250,0.75,"ss + k + l");
+matra(w,h);
+ds_(1/10w,1/2h,2/3w,1/4h);
+ka(2/5w,1/15h,3/5w-0.9pt,9/20h,3/10);
+la(9/41w,-13/20d,1/2w,1/3h,0);
+endchar;
+
+newchar(251,0.80,"ss + kh");
+matra(21/40w,h);
+ds_(1/10w,3/6h,19/40w,(3/4-3/6)*h);
+rtbar(w,21/20h);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+z1 = (9/20w,3/10h); z2 = (3/5w,1/2h); z3 = (72/100w,18/50h);
+z4 = (27/50w,18/100h); z5 = (w-0.9pt,0);
+draw z1{right}..{up}z2{dir -45}..{down}z3{down}..{dir -135}z4{dir -15}..z5;
+fill fullcircle scaled 1.2pt shifted (z1 + (0,0.4pt));
+endchar;
+
+newchar(252,0.83,"ss + T");
+matra(w,h); tiki(w,h,1/4);
+ds(1/11w,1/6h,(11/20-1/11)*w,(3/4-1/6)*h);
+Dha(11/20w-0.25pt,0,9/20w-0.7pt,3/4h);
+endchar;
+
+newchar(253,0.68,"ss + t");
+matra(w,h);
+ds_(1/6w,9/19h,5/6w-0.6pt,(3/4-9/19)*h);
+ta(1/11w,0,10/11w-0.9pt,11/25h,0.2);
+endchar;
+
+newchar(254,0.60,"ss + t + u");
+matra(w,h);
+ds_(1/10w,12/25h,8/9w-0.9pt,(3/4-12/25)*h);
+tta(1/5w,-11/20d,4/5w-0.9pt,4/7h);
+endchar;
+
+newchar(255,0.65,"ss + t + r");
+matra(w,h);
+ds_(1/7w,13/25h,4/5w-0.5pt,(3/4-13/25)*h);
+tra(1/7w,-1/4d,6/7w-0.9pt,11/20h);
+endchar;
+
+newchar(16,0.60,"ss + th");
+matra(w,h);
+ds_(1/10w,12/25h,8/9w-0.9pt,(3/4-12/25)*h);
+ha(3/10w,-1/3d,7/10w-0.3pt,5/8h);
+endchar;
+
+newchar(17,0.63,"ss + n");
+matra(w,h);
+ds_(1/9w,9/19h,8/9w-0.6pt,(3/4-9/19)*h);
+na(1/4w,0,3/4w-0.9pt,3/8h,0.3);
+endchar;
+
+newchar(18,1.15,"ss + p");
+ds_(1/14w,10/20h,(9/20-1/15)*w,(3/4-10/20)*h);
+pa(1/2w,3/8h,1/2w-0.9pt,3/8h,1);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+draw (0,3/4h)..(41/100w,3/4h);
+endchar;
+
+newchar(19,1.15,"ss + p + l");
+ds_(1/14w,10/20h,(9/20-1/15)*w,(3/4-10/20)*h);
+pa(1/2w,3/8h,1/2w-0.9pt,3/8h,1);
+la(57/100w,0,43/100w-0.9pt,3/8h,0);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+draw (0,3/4h)..(41/100w,3/4h);
+endchar;
+
+newchar(20,1.02,"ss + ph");
+matra(w,h);
+pha(10/21w,0,11/21w-0.9pt,14/25h,0.38);
+ds_(1/11w,12/25h,2/5*w,(3/4-12/25)*h);
+endchar;
+
+newchar(21,0.63,"ss + b");
+matra(w,h);
+ds_(1/9w,9/19h,8/9w-0.6pt,(3/4-9/19)*h);
+ba(5/14w,0,9/14w-0.9pt,1/2h);
+endchar;
+
+newchar(22,0.77,"ss + m");
+matra(w,h);
+ds_(1/11w,9/19h,6/9w-0.2pt,(3/4-9/19)*h);
+ma(2/3w,0,1/3w-0.9pt,3/8h,1,(9/19-3/8)*h);
+endchar;
+
+newchar(23,0.63,"ss + l");
+matra(w,h);
+ds_(1/9w,9/19h,8/9w-0.6pt,(3/4-9/19)*h);
+la(1/5w,0,4/5w-0.9pt,3/8h,0.3);
+endchar;
+
+newchar(24,0.5,"h + N");
+matra(w,h);
+ha_(1/8w,1/8h,7/8w-0.4pt,(3/4-1/8)*h);
+mna(1/6w,-1/3d,5/6w-1.2pt,3/11h,0);
+endchar;
+
+newchar(31,0.65,"h + n");
+matra(w,h);
+ha_(1/12w,0,8/13*w,3/4h);
+shnur(18/30w,17/40h,12/30w-0.5pt,1/6h);
+endchar;
+
+newchar(32,0.75,"h + m");
+matra(w,h);
+ha_ma(1/10w,0,9/10w-0.9pt,3/4h);
+endchar;
+
+newchar(62,0.5,"h + b");
+matra(w,h);
+ha_(1/8w,1/8h,7/8w-0.4pt,(3/4-1/8)*h);
+ba(1/3w,-1/3d,3/7w,3/10h);
+endchar;
+
+newchar(125,0.5,"h + l");
+matra(w,h);
+ha_(1/8w,1/8h,7/8w-0.4pt,(3/4-1/8)*h);
+la(1/6w,-1/3d,5/6w-0.9pt,3/10h,-0.15);
+endchar;
+
+newchar(127,0.98,"rh + g");
+matra(11/20w,h);
+pickup dflt_pen; draw (w-0.9pt,3/4h)..(w,3/4h);
+Da(1/12w,0,(11/20-1/12)*w,3/4h);
+ga(21/40w,3/10h,19/40w-0.9pt,(3/4-3/10)*h,0.65);
+fill fullcircle scaled 1.2pt shifted (15/40w,-1/3d);
+endchar;
+
+%%% End of bnjuk.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnkaar.mf b/Master/texmf-dist/fonts/source/public/bengali/bnkaar.mf
new file mode 100644
index 00000000000..7fc2ac6e820
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnkaar.mf
@@ -0,0 +1,90 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnkaar.mf: METAFONT file that defines the Bengali vowel forms
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%
+% apandey 2002.03.27 commented out "a-kar" character; unneeded char
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%beginchar("a",0,stht#,stdp#); "a-kar";
+%endchar;
+
+beginchar("A",0.23stwd#,stht#,stdp#); "aa-kar";
+z1 = (1/2w,3/4h+0.3pt); z1' = (1/2w,3/4h); z2 = (1/2w,0); z3 = (w,3/4h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+pickup pencircle scaled 0.4pt; draw z1'..z3;
+z5 = (0,3/4h); lft z6 = (8/20w,19/32h); draw z5{dir -30}..{dir -60}z6;
+endchar;
+
+beginchar("i",0.22stwd#,stht#,stdp#); "hraswa i-kar";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+z3 = (1/2w,3/4h); z4=(1/2w,0); draw z3..z4;
+z5 = (1/4w,7/8h); z6 = (1.3w,9/8h); z7 = (3w,7/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z3..z5..{right}z6{right}..z7;
+endchar;
+
+beginchar("I",0.25stwd#,stht#,stdp#); "dirgha i-kar";
+z1 = (1/5w,3/4h); z2 = (w,3/4h); z3 = (3/5w,3/4h); z4 = (3/5w,0);
+z5 = (-3/4w,9/8h); z6 = (-9/5w,h); z7 = (-3/4w,7/8h); z8 = (-1/5w,3/4h);
+pickup pencircle scaled penth#;
+draw z1..z2; draw z3..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.5pt;
+draw z3{up}..{left}z5{left}..{down}z6{down}..{right}z7{right}..{dir -120}z8;
+endchar;
+
+beginchar("u",0stwd#,stht#,stdp#); "hraswa-u-kar";
+z1 = (w-0.9pt,0); z2 = (w-0.9pt,-9/20d); z3 = (w-1.8pt,-4/5d);
+z4 = (w-2.8pt,-1/2d); z5 = (w-2.0pt,-1/5d); z6 = (w+1.2pt,-7/5d);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 30;
+draw z1{down}..z2..{left}z3{left}..{up}z4{up}..{right}z5{right}..z2..tension 2..z6;
+endchar;
+
+beginchar("U",0stwd#,stht#,stdp#); "dirgha-u-kar";
+z1 = (w-0.9pt,0); z2 = (w-2.6pt,-9/20d);
+z3 = (w-0.7pt,-2/3d); z4 = (w+1.5pt,-7/5d);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 30;
+draw z1{left}..{down}z2{down}..{dir 20}z3--z4;
+endchar;
+
+beginchar("W",0stwd#,stht#,stdp#); "ri-kar";
+z1 = (w-0.9pt,0); z2 = (w-2.1pt,-1/3d); z3 = (w,-d);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1--z2--z3;
+endchar;
+
+beginchar("e",0.32stwd#,stht#,stdp#); "e-kar";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z4 = (1pt,3/8h); z3 = (w-0.4pt,3/4h); z5 = (w-0.1pt,0);
+draw z3..z4..{dir 15}z5;
+fill fullcircle scaled 1pt shifted (z5 + (-0.12pt,0.3pt));
+endchar;
+
+beginchar("E",0.32stwd#,stht#,stdp#); "oi-kar";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z4 = (1pt,3/8h); z3 = (w-0.4pt,3/4h); z5 = (w-0.1pt,0);
+draw z3..z4..{dir 15}z5;
+fill fullcircle scaled 1pt shifted (z5 + (-0.12pt,0.3pt));
+z6 = (1/8w,31/32h); z7 = (-1/3w,11/10h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt;
+draw z3{dir 60}..{left}z6{left}...z7{dir 75};
+endchar;
+
+beginchar("o",0,stht#,stdp#); "o-kar";
+endchar;
+
+beginchar("O",0.25stwd#,stht#,stdp#); "ou-kar";
+z1 = (1/5w,3/4h); z2 = (w,3/4h); z3 = (3/5w,3/4h); z4 = (3/5w,0);
+pickup pencircle scaled 0.4pt;
+draw z1..z2; draw z3..z4;
+z7' = (3/5w,3/4h); z8' = (-3/4w,31/32h); z9' = (-9/5w,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z7'{dir 60}..{left}z8'{left}...z9'{dir 75};
+endchar;
+
+%%% End of bnkaar.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnlig.mf b/Master/texmf-dist/fonts/source/public/bengali/bnlig.mf
new file mode 100644
index 00000000000..5e637f23463
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnlig.mf
@@ -0,0 +1,121 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnlig.mf: METAFONT file that defines some special ligatures
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 20 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(25,0.75stwd#,stht#,stdp#); "ra + u";
+numeric wd; wd = 12/20w + 0.9pt;
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (wd-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6wd,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (wd-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (wd-0.9pt,3/4h);
+draw z3..z4;
+fill fullcircle scaled 0.9pt shifted (9/20wd,2/21h);
+z1' = (12/20w,2/5h); z2' = (w-0.8pt,47/100h); z3' = (16/20w,3/5h);
+pickup pencircle scaled penth#;
+draw z1'{dir -60}..{up}z2'{up}..{left}z3';
+fill fullcircle scaled 1.3pt shifted (z3' + (-0.1pt,-0.46pt));
+endchar;
+
+beginchar(26,0.70stwd#,stht#,stdp#); "ra + U";
+numeric wd; wd = 13/20w + 0.9pt;
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (wd-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6wd,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (wd-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (wd-0.9pt,3/4h);
+draw z3..z4;
+fill fullcircle scaled 0.9pt shifted (9/20wd,2/21h);
+z1' = (13/20w,1/2h) + (0.02pt,0); z2' = (16/20w,11/20h);
+z3' = (w-0.9pt,1/2h); z4' = (w-0.8pt,1/20h);
+pickup pencircle xscaled 0.5pt yscaled 0.3pt rotated -30;
+draw z1'..tension 4..z2'..tension 4..z3'{down}..tension 4..{dir -30}z4';
+endchar;
+
+beginchar(27,0.56stwd#,stht#,stdp#); "ha + u";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (1/6w,1/2h); z3' = (37/100w,13/20h);
+z4 = (3/5w,1/2h); z4' = (74/100w,13/20h); z5 = (6/7w,1/2h);
+lft z6 = (1/7w,9/32h); z7 = (w,-1/3d);
+z6l + (0.15pt,-0.3pt) = z6r - (0.15pt,-0.3pt) = z6;
+z7l - (0,0.15pt) = z7r + (0,0.15pt) = z7;
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z3{dir 100}..{right}z3'{right}..{dir -60}z4{dir 60}..
+ {dir 45}z4'{dir -35}..{down}z5{down}..{dir 160}z6;
+penstroke z6e{dir -22}..{dir -45}z7e;
+fill fullcircle scaled 1.3pt shifted (z3 + (0.43pt,0.05pt));
+endchar;
+
+beginchar(28,0.67stwd#,stht#,stdp#); "ha + ri-kar";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+numeric wd; wd = 14/18w;
+z3 = (3/10wd,3/4h); z4 = (1/3wd,3/5h); z5 = (5/6wd,1/2h);
+lft z6 = (1/8wd,5/16h); z7 = (wd,-1/3d);
+z6l + (0.15pt,-0.3pt) = z6r - (0.15pt,-0.3pt) = z6;
+z7l - (0,0.15pt) = z7r + (0,0.15pt) = z7;
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z4{dir 30}..{down}z5{down}..{dir 150}z6;
+pickup pencircle scaled 0.3pt;
+draw z3{dir -20}..{dir -75}(z4 + (0.5pt,0));
+penstroke z6e{dir -30}..{dir -45}z7e;
+fill fullcircle xscaled 1.5pt yscaled 1pt rotated 30 shifted (z4 + (0,-0.20pt));
+z1' = (13/20w,1/2h) + (0.02pt,0); z2' = (16/20w,11/20h);
+z3' = (w-0.9pt,1/2h); z4' = (w-0.8pt,0);
+pickup pencircle xscaled 0.5pt yscaled 0.3pt rotated -30;
+draw z1'..tension 4..z2'..tension 4..z3'{down}..tension 4..{dir -45}z4';
+endchar;
+
+beginchar(29,0.70stwd#,stht#,stdp#); "ga + u";
+z1 = (7/10w,3/5h); z2 = (74/100w,76/100h);
+z4 = (19/25w,8/20h); z5 = (7/8w,12/50h);
+z6 = (24/40w,1/18h); z8 = (1/10w,13/20h); z7 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1--z2{dir -60}..{dir -135}z4
+ {dir -30}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z4 + (-0.37pt,0));
+z2' = (9/20w,3/4h); z3' = (9/40w,12/20h);
+z4' = (18/40w,11/20h); z5' = (7/20w,8/20h);
+draw z1{dir 120}..{left}z2'{left}..{down}z3'{dir 30}..{down}z4'{down}..z5';
+endchar;
+
+beginchar(30,0.72stwd#,stht#,stdp#); "sha + u";
+z1 = (7/10w,3/5h); z2 = (74/100w,76/100h);
+z4 = (19/25w,8/20h); z5 = (7/8w,12/50h);
+z6 = (24/40w,1/18h); z8 = (1/10w,13/20h); z7 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1--z2{dir -60}..{dir -135}z4
+ {dir -30}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z4 + (-0.37pt,0));
+z4' = (1/10w,3/4h); z5' = (6/16w,20/31h);
+z6' = (13/25w,3/4h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z4'{right}..{dir -60}z5'{dir 60}..{right}z6'{right}..{dir -60}z1;
+fill fullcircle xscaled 1.2pt yscaled 2.0pt rotated -45 shifted (z5' + (-0.50pt,-0.62pt));
+fill fullcircle xscaled 1.2pt yscaled 2.0pt rotated 45 shifted (z5' + (0.50pt,-0.62pt));
+endchar;
+
+%%% End of bnlig.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnligtbl.mf b/Master/texmf-dist/fonts/source/public/bengali/bnligtbl.mf
new file mode 100644
index 00000000000..fe6f3b50e85
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnligtbl.mf
@@ -0,0 +1,36 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnligtbl.mf: METAFONT file that defines the ligature tables
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 20 1997
+% June 1998: Modifications by Jaijeet Roychowdhury, now useable with ITRANS
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ligtable "a": "a" =: "A"; %% a + a = A
+ligtable "e": "e" =: "I"; %% e + e = I
+ligtable "o": "o" =: "U", "i" =: "E", "u" =: "O";
+ %% o + o = U, o + i = E, o + u = O
+ligtable "`": "`" =: oct"134"; %% ` + ` = ``
+ligtable "'": "'" =: oct"42"; %% ' + ' = "
+ligtable "-": "-" =: oct"173"; %% - + - = endash
+% jaijeet: next line changed
+ligtable oct"173": "-" =: "."; %% endash + - = emdash
+ligtable "r": "u" =: oct"31", "U" =: oct"32"; %% r + u = ru, r + U = rU
+ligtable "h": "u" =: oct"33", "W" =: oct"34"; %% h + u = hu, h + W = hW
+ligtable "g": "u" =: oct"35"; %% g + u = gu
+ligtable "S": "u" =: oct"36"; %% S + u = Su
+%ligtable ".": "." =: oct"74"; %% . + . = ..
+ligtable "|": "|" =: oct"74"; %% | + | = ..
+ligtable "k": oct"17" =: oct"205"; %% k + \rafala = \kr
+ligtable "t": oct"17" =: oct"262"; %% t + \rafala = \tr
+ligtable oct"262": "u" =: oct"263"; %% \tr + u = \tru
+ligtable oct"300": "u" =: oct"301", %% \nt + u = \ntu
+ oct"17" =: oct"303"; %% \nt + \rafala = \ntr
+ligtable "v": oct"17" =: oct"327"; %% v + \rafala = \vr
+ligtable oct"335": oct"17" =: oct"336"; %% \mv + \rafala = \mvr
+ligtable oct"342": "u" =: oct"343"; %% \lg + u = \lgu
+ligtable oct"360": oct"17" =: oct"361"; %% \ssk + \rafala = \sskr
+ligtable oct"370": oct"17" =: oct"371"; %% \sk + \rafala = \skr
+ligtable oct"375": "u" =: oct"376", %% \st + u = \stu
+ oct"17" =: oct"377"; %% \st + \rafala = \str
+
+%%% End of bnligtbl.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnmacro.mf b/Master/texmf-dist/fonts/source/public/bengali/bnmacro.mf
new file mode 100644
index 00000000000..7ea26ae138b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnmacro.mf
@@ -0,0 +1,668 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnbanjon.mf: METAFONT file that defines various macros
+% for use in bnjuk.mf
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def newchar(expr code, char_width, char_descr) =
+beginchar(code,char_width*stwd#,stht#,stdp#); char_descr;
+enddef;
+
+def matra(expr w,h) =
+pickup dflt_pen;
+draw (0,3/4h)..(w,3/4h);
+enddef;
+
+def rtbar(expr w,h) =
+pickup dflt_pen;
+draw (w-0.9pt,0)..(w-0.9pt,3/4h);
+enddef;
+
+def na(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z; pair z[];
+z1 = (xoff + w, yoff + (overshoot + 1)*h); z2 = (xoff + w, yoff);
+z3 = (xoff + 0.040w, yoff + 2/3h);
+pickup dflt_pen; draw z1..z2;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir 25}..{down}z2;
+fill fullcircle scaled 0.5h shifted (z3 + (0.062w,-0.152h));
+endgroup
+enddef;
+
+def na_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z2 = (1/5w,4/9h); z3 = (11/15w,0); top z4 = (15/16w,h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z2{right}..{right}z3{right}..{dir 105}z4;
+fill fullcircle scaled 1.4pt shifted (z2 + (-0.02w,-0.19h));
+endgroup
+enddef;
+
+def ma(expr xoff, yoff, w, h, overshoot, another) =
+begingroup
+save z; pair z[];
+z1 = (xoff + w, yoff + (overshoot + 1)*h); z2 = (xoff + w, yoff);
+z3 = (xoff - 0.25w, yoff + 4/5h); z4 = (xoff, yoff + h + another);
+pickup dflt_pen; draw z1..z2; draw z4{dir -80}..{dir -100}(z3 + (0.25w,0));
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{right}..{down}z2;
+fill fullcircle scaled 1.5pt shifted (z3 + (-0.02w,-0.152h));
+endgroup
+enddef;
+
+def la(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (w,(overshoot + 1)*h); z2 = (w,0);
+z3 = (w,1/2h); z4 = (3/4w,4/5h); z5 = (20/33w,11/20h);
+z6 = (7/24w,5/6h); z7 = (0,1/2h); z8 = (1/8w,4/15h);
+pickup dflt_pen; draw z1..z2;
+pickup pencircle xscaled 0.3pt yscaled 0.5pt;
+draw z3{dir 135}..{left}z4{left}..{dir -75}z5{dir 105}..{left}z6{left}
+ ..{down}z7{down}..{dir -15}z8;
+fill fullcircle scaled 1.2pt shifted (z8 + (0.042w,0.110h));
+endgroup
+enddef;
+
+def ds_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (0,1/6h); z2 = (1/8w,0); z3 = (6/15w,h);
+z4 = (17/20w,0); z5 = (9/10w,h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 60;
+draw z1..{right}z2{right}..{dir 75}z3{dir -75}..{right}z4{right}..{dir 135}z5;
+endgroup
+enddef;
+
+def ga(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (w,h+0.3pt); z2 = (w,-overshoot*h);
+pickup dflt_pen; draw z1..z2;
+rt z4 = (w,4/7h); z5 = (9/20w,h); rt z6 = (0,5/9h);
+z7 = (17/40w,11/40h); z8 = (16/50w,1/20h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z4{dir 120}..{left}z5{left}..{down}z6{dir 30}
+ ..{down}z7{down}..{dir -135}z8;
+endgroup
+enddef;
+
+def ba(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z1 = (w,h); z2 = (w,0); z3 = 1/8[z1,z2] - (0.015w,0); z4 = (0,1/2h);
+pickup dflt_pen; draw z1..z2;
+pickup pencircle scaled 0.5pt;
+draw z3{z4-z3 rotated -8}..z4;
+draw z4{right}.. tension 1.5 .. (z2 - (0.015w,0));
+endgroup
+enddef;
+
+def ba_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z1 = (w,h); z2 = (w,0); z3 = 1/8[z1,z2] - (0.015w,0);
+z4 = (0,8/24h); z5 = (1/3w,0);
+pickup dflt_pen; draw z1..z2;
+pickup pencircle scaled 0.5pt;
+draw z3{z4-z3 rotated -8}..z4;
+draw z4..z5;
+endgroup
+enddef;
+
+def ma_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z1 = (1/7w,h); z2 = (1/5w,4/9h); z3 = (11/15w,0); top z4 = (15/16w,h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1..{dir -120}z2{right}..{right}z3{right}..{dir 135}z4;
+fill fullcircle scaled 1.4pt shifted (z2 + (-0.10w,-0.12h));
+endgroup
+enddef;
+
+def pa(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (w,h+0.3pt); z2 = (w, -h * overshoot);
+pickup pencircle scaled 0.4pt; draw z1..z2;
+rt z4 = (w,19/40h); z5 = (9/20w,h); rt z6 = (0,2/3h);
+z7 = (1/5w,0); z8 = (19/24w,3/4h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z4--z8{z8-z4}..{left}z5{left}..{dir -140}z6{dir 30}..{dir -140}z7;
+pickup pencircle xscaled 0pt yscaled 0.6pt rotated 50;
+draw z7--z8;
+endgroup
+enddef;
+
+def sha(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (w,h+0.3pt); z2 = (w,0); z3 = (w,-overshoot * h);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z3;
+top z4 = (0,h+0.13pt); z5 = (11/30w,16/24h);
+top z6 = (16/25w,h); z7 = 1/2[z1,z2];
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z4{right}..{dir -60}z5{dir 60}..{right}z6{right}..{z7-z6}z7;
+fill fullcircle xscaled 1.3pt yscaled 2.3pt rotated -45 shifted (z5 + (-0.50pt,-0.62pt));
+fill fullcircle xscaled 1.3pt yscaled 2.3pt rotated 45 shifted (z5 + (0.50pt,-0.62pt));
+endgroup
+enddef;
+
+def cha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z3 = (0,h); z4 = (0,1/3h);
+z5 = (1/4w,1/16h); z6 = (w,16/27h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3--z4{down}..z5{dir 30}..{up}z6{dir 165}..{dir 100}z3;
+endgroup
+enddef;
+
+def chha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z3 = (0,h); z4 = (0,5/9h); z5 = (1/8w,1/2h);
+z6 = (11/20w,3/4h); z7 = (26/40w,3/4h); z8 = (w,17/27h);
+z9 = (1/5w,1/3h); z10 = (w,0);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z3..z4{down}..{right}z5{right}..{dir 80}z6{left}..{up}z3;
+draw z6{right}..z7..{down}z8{down}..{left}z9;
+draw z9{dir -25}..{dir -45}z10;
+endgroup
+enddef;
+
+def ta(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (2/3w,h); lft z4 = (w,7/15h);
+z5 = (3/4w,0); z6 = (1/4w,11/20h); z7 = (0,(1 + overshoot)*h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir 28}..{down}z4{down}..{left}z5{left}..z6..z7;
+fill fullcircle scaled 1.5pt shifted (z3 + (0.24pt,-0.44pt));
+endgroup
+enddef;
+
+def ta_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (3/5w,4/5h); lft z4 = (w,7/15h);
+z5 = (3/4w,0); z6 = (1/6w,1/2h); top z7 = (0,7/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir 28}..{down}z4{down}..{left}z5{left}..z6..z7;
+fill fullcircle scaled 1.5pt shifted (z3 + (0.24pt,-0.44pt));
+endgroup
+enddef;
+
+def dha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+ba(xoff,yoff,2/3w,h);
+z1 = (2/3w,6/7h); z2 = (41/40w,5/6h); z3 = (w,1/25h);
+pickup pencircle xscaled 0.35pt yscaled 0.5pt;
+draw z1--z2{dir -95}..tension 1.5..{dir -85}z3;
+endgroup
+enddef;
+
+def ka(expr xoff, yoff, w, h, pos) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+ba(xoff,yoff,2/3w,h);
+z1 = (2/3w,4/5h); z2 = (w,pos * h);
+draw z1{right}..{dir -120}z2;
+fill fullcircle scaled 1.1pt shifted (z2 + (-0.25pt,0.16pt));
+endgroup
+enddef;
+
+def ka_(expr xoff, yoff, w, h, pos) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+ba_(xoff,yoff,2/3w,h);
+z1 = (2/3w,4/5h); z2 = (w,pos * h);
+draw z1{right}..{dir -120}z2;
+fill fullcircle scaled 1.1pt shifted (z2 + (-0.25pt,0.16pt));
+endgroup
+enddef;
+
+def da(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (0,(1 + overshoot)*h); z4 = (0,17/50h);
+pickup dflt_pen; draw z3..z4;
+z5 = (9/8w,3/4h); z2 = 1/2[z4,z5] + (0,0.25pt);
+z6 = (w,0);
+pickup pencircle xscaled 0pt yscaled 0.5pt rotated 45;
+draw z4{z2-z4}..z2..{z5-z2}z5;
+pickup dflt_pen; draw z5{dir -105}..{dir -80}z6;
+endgroup
+enddef;
+
+def da_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (0,h); z2 = (0,0); z3 = (7/8w,1/2h); z4 = (w,1/3h); z5 = (w,0);
+z6 = 1/2[z2,z3] + (0,0.35pt);
+pickup dflt_pen; draw z1--z2{z6-z2}..{z3-z6}z3--z4--z5;
+endgroup
+enddef;
+
+def tiki(expr w,h,offshoot) =
+begingroup
+save z; pair z[];
+z1 = (w-0.7pt,3/4h); z2 = ((1 + offshoot)/2*w,31/32h);
+z3 = (offshoot*w,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z1{dir 60}..{left}z2{left}..z3;
+endgroup
+enddef;
+
+def shnur(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (0,1/2h); z2 = (1/2w,h); z3 = (5/6w,0);
+pickup dflt_pen;
+draw z1..{right}z2{right}..{dir -120}z3;
+fill fullcircle scaled (3/5w) shifted (z3 + (-0.17*w,0.11*h));
+endgroup
+enddef;
+
+def ha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z4 = (1/4w,4/5h); z5 = (5/6w,2/3h);
+z6 = (1/10w,11/24h); z7 = (w,0);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z4{dir 30}..{down}z5{down}..{dir 150}z6;
+pickup pencircle scaled 0.3pt;
+draw z6{dir -30}..{dir -45}z7;
+fill fullcircle xscaled 1.5pt yscaled 1pt rotated 30 shifted (z4 + (0,-0.20pt));
+endgroup
+enddef;
+
+def ha_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (2/10w,h); z4 = (1/4w,4/5h); z5 = (5/6w,2/3h);
+z6 = (1/10w,11/24h); z7 = (w,0);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z4{dir 30}..{down}z5{down}..{dir 150}z6;
+pickup pencircle scaled 0.3pt;
+draw z3{dir -20}..{dir -75}(z4 + (0.5pt,0));
+draw z6{dir -30}..{dir -45}z7;
+fill fullcircle xscaled 1.5pt yscaled 1pt rotated 30 shifted (z4 + (0,-0.20pt));
+endgroup
+enddef;
+
+def mna(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (w,(overshoot + 1)*h); z2 = (w,0);
+z4 = (8/16w,h); z3 = (0.040w,4/9h); rt z5 = (w,2/3h);
+pickup dflt_pen; draw z1..z2;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z3{dir 100}..{right}z4{right}..{dir -55}z5;
+fill fullcircle scaled 0.4h shifted (z3 + (0.120w,0.050h));
+endgroup
+enddef;
+
+def tra(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (9/20w,8/15h); z2 = (4/5w,h); z3 = (w,8/9h);
+z4 = (w,0); z5 = (1/2w,1/7h);
+z6 = (1/6w,1/5h); z7 = (0,1/2h); z8 = (1/18w,5/7h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{dir 135}..tension 1.2..{right}z2{right}..z3{down}..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw (z4+(0,0.2pt)){up}...{left}z5{left}..z6..{up}z7{up}..z8;
+fill fullcircle scaled 0.263h shifted (z1 + (0.0887w,0.0713h));
+endgroup
+enddef;
+
+def Dha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top lft z3 = (0,h); lft z4 = (0,3/16h);
+z5 = (2/5w,1/20h); z6 = (w,16/27h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3--z4{down}..z5{dir 30}..{up}z6;
+fill fullcircle scaled 1.2pt shifted (z6 - (0.43pt,0.15pt));
+endgroup
+enddef;
+
+def bha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (1/3w,5/8h); z4 = (6/7w,5/6h); z5 = (w,15/32h);
+z6 = (3/5w,0); z8 = (0,13/15h); z7 = (3/25w,7/16h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 15;
+draw z3{dir -29}..{dir 60}z4{dir -50}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z3 + (0.36pt,0.38pt));
+endgroup
+enddef;
+
+def Da(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z3 = (1/2w,h); z4 = (1/2w,6/11h); z5 = (11/20w,1/2h);
+z6 = (8/9w,7/10h); lft z7 = (w,5/12h);
+z8 = (23/40w,1/10h); z9 = (0,8/15h); z10 = (1/10w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{down}..{down}z4{dir -60}..{dir -60}z5{dir 30}..{dir60}z6{dir -60}
+ ..{down}z7{down}..{left}z8{left}..z10..z9;
+endgroup
+enddef;
+
+def ms_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z1 = (4/5w,h); z2 = (0,1/4h); z3 = (1/5w,0); z4 = (w,3/4h);
+pickup pencircle xscaled 0.3pt yscaled 0.5pt rotated 45;
+draw z1{left}..{down}z2{down}..{right}z3{right}..{up}z4{up}..{left}z1;
+z5 = (1/3w,2/3h); z6 = (2/3w,3/10h); draw z5..z6;
+endgroup
+enddef;
+
+def pha_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (7/10w,4/5h); z4 = (7/10w,0); draw z3..z4;
+top rt z5 = (0,h); z6 = (1/3w,43/60h); z7 = (1/10w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7;
+draw z7{right}..tension 1.5 ..{dir -75}(z4 - (0.08pt,0));
+lft z8 = (41/40w,14/27h); z9 = (w,1/4h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{right}..{down}z8{down}..z9;
+fill fullcircle scaled 1pt shifted (z9 + (-0.20pt,0.20pt));
+endgroup
+enddef;
+
+def pha(expr xoff, yoff, w, h, overshoot) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (7/10w,4/5*(1+overshoot)*h); z4 = (7/10w,0); draw z3..z4;
+top rt z5 = (1/7w,h); z6 = (11/40w,48/60h); z7 = (0w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+draw z5{right}.. tension 2 ..z6--z7;
+draw z7{right}..tension 1.5 ..{dir -75}(z4 - (0.08pt,0));
+lft z8 = (41/40w,(14/27+overshoot*3/4)*h); z9 = (w,(1/4+overshoot*3/4)*h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{right}..{down}z8{down}..z9;
+fill fullcircle scaled 1pt shifted (z9 + (-0.20pt,0.20pt));
+endgroup
+enddef;
+
+def ds(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+pickup dflt_pen;
+top z3 = (w,h); z4 = (w,0); draw z3..z4;
+top z5 = (1/20w,h); rt z10 = (w,3/7h);
+z7 = (0,2/5h); z8 = (1/7w,14/50h);
+z9 - z10 = (z7 - z8); rt bot z6 = 3/5[z8,z9];
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z5{right}..{down}z6;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z7..z8..z9..tension 1.4..z10;
+endgroup
+enddef;
+
+def _ds(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+pickup dflt_pen;
+top z3 = (w,h); z4 = (w,0); draw z3..z4;
+top z5 = (1/20w,h); rt z10 = (w,3/7h);
+z7 = (0,2/5h); z8 = (1/7w,14/50h);
+z9 - z10 = (z7 - z8); rt bot z6 = 3/5[z8,z9];
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z7..z8..z9..tension 1.4..z10;
+endgroup
+enddef;
+
+def _Dha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top lft z3 = (2/5w,h); lft z4 = (0,3/6h);
+z5 = (1/2w,0); z6 = (w,20/27h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z3..tension 2..z4{down}..z5..{up}z6;
+fill fullcircle scaled 1.2pt shifted (z6 - (0.43pt,0.15pt));
+endgroup
+enddef;
+
+def Tha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (1/2w,h); z4 = (0,3/10h); z5 = (6/16w,1/12h);
+z6 = (w,1/2h); z7 = (3/8w,3/2h); z8 = (9/19w,19/12h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z3{dir -75}..{dir -150}z4{down}..{right}z5{right}..{up}z6{up}
+ ..{dir 120}z3..{up}z7{up}..{dir 45}z8;
+endgroup
+enddef;
+
+def tta(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (1/5w,3/4h); z2 = (3/4w,h);
+z3 = (w,64/75h); z4 = (4/5w,3/5h); z5 = (w,28/75h);
+z6 = (3/5w,1/9h); z8 = (0,13/15h); z7 = (3/25w,4/9h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1{dir 75}..{right}z2{right}..{down}z3{down}..{dir -135}z4
+{dir -40}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.3pt shifted (z4 + (-0.37pt,0));
+fill fullcircle scaled 1.1pt shifted (z1 + (0.39pt,0));
+endgroup
+enddef;
+
+def gha(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z3 = (w,h); z4 = (w,0); pickup dflt_pen; draw z3..z4;
+z5 = (1/7w,h-0.05pt); z6 = (0,4/5h);
+z7 = (15/25w,7/10h); z8 = (1/9w,4/10h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z5{dir -120}..{down}z6{down}..{dir 30}z7--z8;
+draw z8{right}..tension 1.5 ..{dir -75}z4;
+endgroup
+enddef;
+
+def una(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (1/10w,h); z2 = (19/40w,76/93h); z3 = (25/29w,92/93h);
+z4 = (1/2w,h); z5 = (4/9w,1/2h); z6 = (19/40w,64/135h);
+z7 = (8/9w,2/3h); lft z8 = (w,11/25h); z9 = (23/40w,1/9h);
+z10 = (6/50w,4/9h); z11 = (0,13/15h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1..tension 1.2..{right}z2{right}..tension 1.2..
+{up}z3{up}..{dir -130}z4{dir -130}..
+tension 2..z5--z6{dir 0}..{dir 60}z7{dir -60}..{down}z8{down}
+..{left}z9{left}..z10..z11;
+endgroup
+enddef;
+
+def khiyo_base(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z1 = (1/15w,h); z2 = (1/7w,4/5h); z3 = (1/2w,2/5h);
+z4 = (w-0.01pt,0.2pt); z5 = (w,h); z6 = (w,0);
+pickup dflt_pen; draw z5..z6;
+pickup pencircle xscaled 0.3pt yscaled 0.55 pt rotated 45;
+draw z1..{down}z2{dir 20}..{dir -130}z3{right}..{down}z4;
+fill fullcircle scaled 1.4pt shifted (z2 + (-0.055w,-0.07h));
+fill fullcircle scaled 1.4pt shifted (z3 + (-0.07w,-0.04h));
+endgroup
+enddef;
+
+def khiyo(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+khiyo_base(xoff,yoff,2/3w,h);
+top z1 = (17/40w,h); z2 = (2/3w,29/40h); z3 = (w,9/20h);
+pickup pencircle xscaled 0.3pt yscaled 0.6 pt;
+draw z1{dir -120}..{dir 15}z2{dir 15}..{dir -120}z3;
+fill fullcircle scaled 1.3pt shifted (z3 + (-0.090w,-0.00h));
+endgroup
+enddef;
+
+def bhra(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z3 = (1/3w,9/15h); z4 = (6/7w,6/7h); z5 = (w,8/11h); z6 = (w,0);
+z8 = (w,0); z9 = (1/2w,1/6h);
+z10 = (11/30w,1/6h); z11 = (1/15w,6/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 15;
+draw z3{dir -29}..{dir 60}z4..tension 3.5..z5--z6;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z8{dir 90}..{left}z9..z10{left}..z11;
+fill fullcircle scaled 1.4pt shifted (z3 + (0.36pt,0.38pt));
+endgroup
+enddef;
+
+def ja(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z3 = (8/20w,h); z4 = (4/21w,2/3h); z5 = (8/20w,1/2h);
+z6 = (23/36w,35/60h); z7 = (12/16w,19/50h); z8 = (1/2w,1/6h);
+rt z9 = (0,3/4h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{dir -135}..{down}z4{down}..{right}z5{right}..{dir30}z6
+ {dir -60}..{down}z7{down}..{left}z8{left}..{up}z9;
+endgroup
+enddef;
+
+def jaleg(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+top z3 = (0,h);
+rt z11 = (w,3/4h);
+z12 = (7/8w,0);
+pickup pencircle xscaled 0.25pt yscaled 0.5pt;
+draw z3{dir -90}..{dir 15}z11;
+pickup pencircle xscaled 0.2pt yscaled 0.45pt rotated 45;
+draw z11{dir -120}..tension 1.8..z12;
+endgroup
+enddef;
+
+def hump(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z9 = (0,2/5h); z13 = (0,3/5h); z11 = (8/9w,1/2h);
+z10 = (w,0); z12 = (w,h);
+pickup pencircle xscaled 0.25pt yscaled 0.45pt;
+draw z9{dir -60}..z10..z11;
+pickup pencircle xscaled 0.25pt yscaled 0.45pt;
+draw z13{dir 60}..z12..z11;
+fill fullcircle scaled 1.0pt shifted (z11 + (-0.15pt,0));
+endgroup
+enddef;
+
+def ina(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+tra(xoff,yoff,3/5w,h);
+hump(xoff+3/5w,yoff+1/3h,2/5w,3/5h);
+endgroup
+enddef;
+
+def jha(expr xoff, yoff, w, h, fract) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+ba(xoff,yoff,7/10w,h);
+z1 = (7/10w,2/5h); z2 = (w,1/20h); z3 = (w,fract*h);
+pickup dflt_pen; draw z2..z3;
+draw z1{z2-z1 rotated -8}..z2;
+endgroup
+enddef;
+
+def dha_(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+ba(xoff,yoff,w,h);
+z8 = (1/2w,22/30h); z9 = (1/9w,9/10h); bot z10 = (9/30w,h);
+pickup pencircle scaled 0.35pt;
+draw z8{left}..{up}z9{up}..{right}z10;
+fill fullcircle scaled 1.0pt shifted (z10 + (0.1pt,-0.33pt));
+endgroup
+enddef;
+
+def gu(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[],z[]'; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+z1 = (7/10w,3/5h); z2 = (74/100w,76/100h);
+z4 = (19/25w,8/20h); z5 = (7/8w,12/50h);
+z6 = (24/40w,1/18h); z8 = (1/10w,13/20h); z7 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1--z2{dir -60}..{dir -135}z4
+ {dir -30}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z4 + (-0.37pt,0));
+z2' = (9/20w,3/4h); z3' = (9/40w,12/20h);
+z4' = (18/40w,11/20h); z5' = (7/20w,8/20h);
+draw z1{dir 120}..{left}z2'{left}..{down}z3'{dir 30}..{down}z4'{down}..z5';
+endgroup
+enddef;
+
+def ha_ma(expr xoff, yoff, w, h) =
+begingroup
+save z, currenttransform; pair z[]; transform currenttransform;
+currenttransform = identity shifted (xoff,yoff) slanted slantval;
+khiyo_base(xoff,yoff,3/4w,h);
+z2 = (3/8w,3/4h); z3 = (3/4w,3/4h);
+z4 = (w,27/40h); z5 = (w,1/10h);
+pickup pencircle scaled 0.5pt;
+draw z2{dir -15}..{dir 15}z3{dir 15}..z4{dir -95}..{dir -85}z5;
+endgroup
+enddef;
+
+%%% End of bnmacro.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnmisc.mf b/Master/texmf-dist/fonts/source/public/bengali/bnmisc.mf
new file mode 100644
index 00000000000..1007b7e7d57
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnmisc.mf
@@ -0,0 +1,33 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnmisc.mf: METAFONT file that defines some special symbols
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 20 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(12,0stwd#,stht#,stdp#); "hasanta";
+z1 = (w-0.9pt,-1/4d); z2 = (w+1pt,-5/4d);
+pickup pencircle scaled penth#; draw z1..z2;
+endchar;
+
+beginchar(13,0.25stwd#,stht#,stdp#); "ja-fala";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+z3 = (5/6w,3/4h); z4 = (4/9w,7/17h); lft z5 = (0,0);
+pickup pencircle xscaled 0.6pt yscaled 0.3pt;
+draw z3{dir -180}..tension 1.5 ..{dir -80}z4{dir -80}..{dir -170}z5;
+endchar;
+
+beginchar(14,0stwd#,stht#,stdp#); "ref";
+z1l + (0.4pt,0) = z1r - (0.4pt,0) = z1 = (-1.4pt,13/16h);
+z2l + (0.2pt,0) = z2r - (0.2pt,0) = z2 = (2.5pt,9/8h);
+penstroke z1e..z2e;
+endchar;
+
+beginchar(15,0stwd#,stht#,stdp#); "ra-fala";
+z1 = (w-0.9pt,1/10h); z2 = (w-0.9pt,-d/3); z3 = (w-2.5pt,-1/6d);
+z4 = (w-4.4pt,-1/6d); z5 = (w-5.6pt,1/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z1--z2{dir 135}..{left}z3..z4{left}..{up}z5;
+endchar;
+
+%%% End of bnmisc.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnpunct.mf b/Master/texmf-dist/fonts/source/public/bengali/bnpunct.mf
new file mode 100644
index 00000000000..2914f1a8c54
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnpunct.mf
@@ -0,0 +1,203 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnpunct.mf: METAFONT file that defines the Bengali punctuation symbols
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 20 1997
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(".",0.40stwd#,stht#,stdp#); "dnari (period)";
+z1 = (3/4w,3/4h); z2 = (3/4w,0);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45; draw z1..z2;
+endchar;
+
+beginchar(60,0.50stwd#,stht#,stdp#); "double dnari";
+z1 = (1/3w,3/4h); z2 = (1/3w,0);
+z3 = (2/3w,3/4h); z4 = (2/3w,0);
+pickup pencircle xscaled 0.56pt yscaled 0pt rotated -45;
+draw z1..z2; draw z3..z4;
+endchar;
+
+beginchar("!",0.3stwd#,stht#,stdp#); "exclamation mark (bang)";
+pickup pencircle scaled 0.4pt;
+z1 = (1/2w,3/4h); z2 = (1/2w,1/6h); z3 = (1/2w,0);
+z1l + (0.2pt,0.1pt) = z1r + (-0.2pt,0.1pt) = z1;
+z2l + (0.1pt,-0.1pt) = z2r + (-0.1pt,-0.1pt) = z2;
+filldraw z1l..tension 3..z2l..z2..z2r..tension 3..z1r..z1..cycle;
+fill fullcircle scaled 1.2pt shifted z3;
+endchar;
+
+beginchar(",",0.3stwd#,stht#,stdp#); "comma";
+pickup pencircle scaled 0.5pt;
+z1 = (2/3w,1/9h); z2 = (2/5w,-d);
+draw z1{dir -60}..{dir -130}z2;
+fill fullcircle scaled 1.5pt shifted (z1 + (-0.50pt,-0.22pt));
+endchar;
+
+beginchar(";",0.3stwd#,stht#,stdp#); "semi colon";
+pickup pencircle scaled 0.5pt;
+z1 = (2/3w,1/9h); z2 = (2/5w,-d);
+draw z1{dir -60}..{dir -130}z2;
+fill fullcircle scaled 1.5pt shifted (z1 + (-0.50pt,-0.22pt));
+fill fullcircle scaled 1.5pt shifted (z1 + (-0.50pt,1.8pt));
+endchar;
+
+beginchar(":",0.3stwd#,stht#,stdp#); "colon";
+z1 = (1/2w,1/6h); z2 = (1/2w,(3/4-1/6)*h);
+fill fullcircle scaled 1.5pt shifted z1;
+fill fullcircle scaled 1.5pt shifted z2;
+endchar;
+
+beginchar("`",0.3stwd#,stht#,stdp#); "backquote";
+pickup pencircle scaled 0.5pt;
+z1 = (1/3w,(3/4-1/9)*h); z2 = (3/5w,h);
+draw z1{dir 120}..{dir 50}z2;
+fill fullcircle scaled 1.5pt shifted (z1 + (0.50pt,0.22pt));
+endchar;
+
+beginchar("'",0.3stwd#,stht#,stdp#); "quote";
+pickup pencircle scaled 0.5pt;
+z1 = (2/3w,24/25h); z2 = (2/5w,(3/4-1/9-1/25)*h);
+draw z1{dir -60}..{dir -130}z2;
+fill fullcircle scaled 1.5pt shifted (z1 + (-0.50pt,-0.22pt));
+endchar;
+
+beginchar(34,0.45stwd#,stht#,stdp#); "double quote";
+pickup pencircle scaled 0.5pt;
+z1 = (2/5w,29/30h); z2 = (1/5w,(3/4-1/9-1/30)*h);
+z1' = (4/5w,29/30h); z2' = (3/5w,(3/4-1/9-1/30)*h);
+draw z1{dir -60}..{dir -130}z2;
+draw z1'{dir -60}..{dir -130}z2';
+fill fullcircle scaled 1.5pt shifted (z1 + (-0.50pt,-0.22pt));
+fill fullcircle scaled 1.5pt shifted (z1' + (-0.50pt,-0.22pt));
+endchar;
+
+beginchar(92,0.45stwd#,stht#,stdp#); "double backquote";
+pickup pencircle scaled 0.5pt;
+z1 = (1/5w,(3/4-1/9)*h); z2 = (2/5w,h);
+z1' = (3/5w,(3/4-1/9)*h); z2' = (4/5w,h);
+draw z1{dir 120}..{dir 50}z2;
+draw z1'{dir 120}..{dir 50}z2';
+fill fullcircle scaled 1.5pt shifted (z1 + (0.50pt,0.22pt));
+fill fullcircle scaled 1.5pt shifted (z1' + (0.50pt,0.22pt));
+endchar;
+
+beginchar("#",0.55stwd#,stht#,stdp#); "hash";
+pickup pencircle scaled 0.5pt;
+z1 = (1/2w,3/4h); z2 = (1/4w,-2/3d);
+z1' = (3/4w,3/4h); z2' = (1/2w,-2/3d);
+draw z1--z2; draw z1'--z2';
+z3 = (1/8w,(1/4-1/30)*h); z4 = (7/8w,(1/4-1/30)*h);
+z3' = (1/8w,(1/2-1/10)*h); z4' = (7/8w,(1/2-1/10)*h);
+draw z3--z4; draw z3'--z4';
+endchar;
+
+beginchar("/",0.3stwd#,stht#,stdp#); "forward slash";
+pickup pencircle scaled 0.5pt;
+z1 = (7/8w,3/4h); z2 = (1/8w,-2/3d);
+draw z1--z2;
+endchar;
+
+beginchar("=",0.5stwd#,stht#,stdp#); "equality sign";
+pickup pencircle scaled 0.5pt;
+z3 = (1/8w,(1/4-1/30)*h); z4 = (7/8w,(1/4-1/30)*h);
+z3' = (1/8w,(1/2-1/10)*h); z4' = (7/8w,(1/2-1/10)*h);
+draw z3--z4; draw z3'--z4';
+endchar;
+
+beginchar("[",0.20stwd#,stht#,stdp#); "left square bracket";
+pickup pencircle scaled 0.1pt;
+z1=(w,h); z2 = (1/3w,h); z3 = (1/3w,-d); z4 = (w,-d);
+z1 - z1' = (0,0.5pt); z2 - z2' = (-0.5pt,0.5pt);
+z4 - z4' = (0,-0.5pt); z3 - z3' = (-0.5pt,-0.5pt);
+filldraw z1--z2--z3--z4--z4'--z3'--z2'--z1'--cycle;
+endchar;
+
+beginchar("]",0.20stwd#,stht#,stdp#); "right square bracket";
+pickup pencircle scaled 0.1pt;
+z1=(0,h); z2 = (2/3w,h); z3 = (2/3w,-d); z4 = (0,-d);
+z1 - z1' = (0,0.5pt); z2 - z2' = (0.5pt,0.5pt);
+z4 - z4' = (0,-0.5pt); z3 - z3' = (0.5pt,-0.5pt);
+filldraw z1--z2--z3--z4--z4'--z3'--z2'--z1'--cycle;
+endchar;
+
+beginchar("(",0.28stwd#,stht#,stdp#); "left parenthesis";
+pickup pencircle scaled 0.1pt;
+z1 = (8/9w,h); z3 = (8/9w,-d);
+z2 = (1/4w,1/3h); z2' = z2 + (0.5pt,0);
+filldraw z2'{up}..{dir 60}z1{dir -130}..{down}z2{down}
+ ..{dir -50}z3{dir 120}..cycle;
+endchar;
+
+beginchar(")",0.28stwd#,stht#,stdp#); "right parenthesis";
+pickup pencircle scaled 0.1pt;
+z1 = (1/9w,h); z3 = (1/9w,-d);
+z2 = (3/4w,1/3h); z2' = z2 - (0.5pt,0);
+filldraw z2'{up}..{dir 120}z1{dir -50}..{down}z2{down}
+ ..{dir -130}z3{dir 60}..cycle;
+endchar;
+
+beginchar("*",0.48stwd#,stht#,stdp#); "asterisk";
+numeric frac; frac = 1/8h;
+z1 = (1/2w,h); z2 = (1/2w,3/7h);
+z3 = (1/6w,h-frac); z4 = (5/6w,3/7h + frac);
+z5 = (1/6w,3/7h+frac); z6 = (5/6w,h - frac);
+pickup pencircle scaled 0.5pt;
+draw z1--z2; draw z3--z4; draw z5--z6;
+endchar;
+
+beginchar("+",0.68stwd#,stht#,stdp#); "plus sign";
+z1 = (1/12w,3/8h); z2 = (11/12w,3/8h);
+z3 = (1/2w,3/4h); z4 = (1/2w,0);
+pickup pencircle scaled 0.5pt;
+draw z1--z2; draw z3--z4;
+endchar;
+
+beginchar("-",0.30stwd#,stht#,stdp#); "hyphen";
+z1 = (1/10w,3/8h); z2 = (9/10w,3/8h);
+z1 - z3 = (0,0.5pt); z2 - z4 = (0,0.5pt);
+pickup pencircle scaled 0.1pt;
+filldraw z1--z2--z4--z3--cycle;
+endchar;
+
+beginchar(123,0.60stwd#,stht#,stdp#); "endash";
+z1 = (0,3/8h); z2 = (w,3/8h);
+pickup pencircle scaled 0.25pt;
+draw z1--z2;
+endchar;
+
+beginchar(124,1.10stwd#,stht#,stdp#); "emdash";
+z1 = (0,3/8h); z2 = (w,3/8h);
+pickup pencircle scaled 0.25pt;
+draw z1--z2;
+endchar;
+
+beginchar("%",0.70stwd#,stht#,stdp#); "percent sign";
+z1 = (5/6w,h); z2 = (1/6w,-1/3d);
+pickup pencircle scaled 0.5pt;
+draw z1--z2;
+pickup pencircle xscaled 0.4pt yscaled 0.2pt;
+draw fullcircle xscaled 11/40w yscaled 1/2h shifted (1/4w,3/4h);
+draw fullcircle xscaled 11/40w yscaled 1/2h shifted (3/4w,-1/3d + 1/4h);
+z3 = (11/40w,h);
+pickup pencircle scaled 0.25pt;
+draw z3{dir -45}..{dir 45}z1;
+endchar;
+
+beginchar("?",0.45stwd#,stht#,stdp#); "Question mark";
+z1=(1/6w,3/5h); z2=(1/2w,3/4h); z3=(5/6w,3/5h);z4=(11/20w,11/30h);
+z5=(1/2w,1/7h);
+pickup pencircle xscaled 0.5pt yscaled 0.25pt rotated -25;
+draw z1{up}..{right}z2{right}..{down}z3{down}..{dir -135}z4..{down}z5;
+fill fullcircle scaled 1.1pt shifted (z5 - (0pt,1.3pt));
+fill fullcircle scaled 1.2pt shifted (z1 + (0.37pt,-0.00pt));
+endchar;
+
+beginchar("$",0.65stwd#,stht#,stdp#); "bucks";
+z1 = (4/7w,h); z2 = (1/7w,-1/3d);
+pickup pencircle scaled 0.5pt;
+draw z1--z2;
+z3 = (4/7w,3/7h); z4 = (8/9w,3/7h);
+draw z3--z4;
+endchar;
+
+%%% End of bnpunct.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnr10.mf b/Master/texmf-dist/fonts/source/public/bengali/bnr10.mf
new file mode 100644
index 00000000000..1160756b9b0
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnr10.mf
@@ -0,0 +1,29 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnr10.mf: METAFONT file that defines the Bengali alphabet (nonslanted)
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+font_size 10pt#;
+u# = 3/9pt#;
+s# = 1/3pt#;
+em# := 20pt#; cap# := 20pt#;
+thin# := 1/3pt#; thick# := 5/6pt#;
+o# := 1/5pt#;
+define_pixels(em,cap);
+define_blacker_pixels(thin,thick);
+define_corrected_pixels(o);
+numeric stwd, stht, stdp, penth;
+stwd# = 10pt#; stht# = 8pt#; stdp# = 2pt#;
+penth# = 0.4pt; dflt_pen := savepen;
+font_quad 18u#+2s#;
+font_normal_space 9u#+3s#;
+font_normal_stretch 3u#;
+font_normal_shrink 2u#;
+numeric slantval; slantval = 0;
+
+input bn;
+end;
+
+%%% End of bnr10.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnsl10.mf b/Master/texmf-dist/fonts/source/public/bengali/bnsl10.mf
new file mode 100644
index 00000000000..ab611e5acbf
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnsl10.mf
@@ -0,0 +1,30 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnsl10.mf: METAFONT file that defines the Bengali alphabet (slanted)
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+font_size 10pt#;
+u# = 3/9pt#;
+s# = 1/3pt#;
+em# := 20pt#; cap# := 20pt#;
+thin# := 1/3pt#; thick# := 5/6pt#;
+o# := 1/5pt#;
+define_pixels(em,cap);
+define_blacker_pixels(thin,thick);
+define_corrected_pixels(o);
+numeric stwd, stht, stdp, penth;
+stwd# = 10pt#; stht# = 8pt#; stdp# = 2pt#;
+penth# = 0.4pt; dflt_pen := savepen;
+currenttransform := identity slanted 1/5;
+font_quad 18u#+2s#;
+font_normal_space 9u#+3s#;
+font_normal_stretch 3u#;
+font_normal_shrink 2u#;
+numeric slantval; slantval = 1/5;
+
+input bn;
+end;
+
+%%% End of bnsl10.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/bnswar.mf b/Master/texmf-dist/fonts/source/public/bengali/bnswar.mf
new file mode 100644
index 00000000000..ae1faa11137
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/bnswar.mf
@@ -0,0 +1,162 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bnswar.mf: METAFONT file that defines the Bengali vowels
+% Created by: Abhijit Das (Barda) IISc Bangalore
+% Last modified: Jun 19 1997
+%
+% apandey 1999.05.29 repositioned "the letter a" from ASC 0 to ASC 97
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%beginchar(0,0.80stwd#,stht#,stdp#); "The letter a";
+beginchar(97,0.80stwd#,stht#,stdp#); "The letter a";
+pickup pencircle scaled penth#;
+numeric wd; wd = 37/40w;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (w-0.9pt,3/4h); z4 = (w-0.9pt,0); draw z3..z4;
+z5 = (3/8wd,3/5h); z6 = (19/25wd,2/5h); z7 = (3/4wd,3/10h);
+z8 = (11/20wd,1/8h); z9 = (1/12wd,13/20h); top z10 = (3/10wd,3/4h);
+z11 = (6/25wd,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z5{dir 25}..{down}z6{down}..z7..{left}z8{left}..z11..z9;
+draw z7{dir -60}..{dir -75}z4;
+pickup pencircle scaled 0.3pt;
+draw z10{dir -30}..{dir -75}(z5 + (0.25pt,0.2pt));
+fill fullcircle scaled 1.5pt shifted (z5 + (0.20pt,-0.45pt));
+endchar;
+
+beginchar(2,0.5stwd#,stht#,stdp#); "The letter hraswa-i";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (3/10w,3/4h); z4 = (1/3w,3/5h); z5 = (5/6w,1/2h);
+lft z6 = (1/8w,5/16h); z7 = (w,-1/3d);
+z6l + (0.15pt,-0.3pt) = z6r - (0.15pt,-0.3pt) = z6;
+z7l - (0,0.15pt) = z7r + (0,0.15pt) = z7;
+pickup pencircle xscaled 0.6pt yscaled 0.3pt rotated -45;
+draw z4{dir 30}..{down}z5{down}..{dir 150}z6;
+pickup pencircle scaled 0.3pt;
+draw z3{dir -20}..{dir -75}(z4 + (0.5pt,0));
+penstroke z6e{dir -30}..{dir -45}z7e;
+fill fullcircle xscaled 1.5pt yscaled 1pt rotated 30 shifted (z4 + (0,-0.20pt));
+z10 = (w-0.7pt,3/4h); z8 = (1/2w,31/32h); z9 = (-1/8w,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z10{dir 60}..{left}z8{left}...z9{dir 75};
+endchar;
+
+beginchar(3,0.60stwd#,stht#,stdp#); "The letter dirgha-i";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z3 = (1/10w,3/4h); z4 = (1/6w,3/5h); z5 = (1/8w,17/80h);
+z6 = (1/5w,1/5h); z7 = 1/3[z6,z8];
+z8 = (8/9w,9/16h); z9 = (5/6w,0);
+pickup pencircle xscaled 0.2pt yscaled 0.6pt rotated 45;
+draw z4{dir 30}..z7..tension 2..z6..z5;
+draw z7..{dir 35}z8{dir -120}..{dir -75}z9;
+z7' = (w-0.7pt,3/4h); z8' = (5/9w,31/32h); z9' = (0,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z7'{dir 60}..{left}z8'{left}...z9'{dir 75};
+pickup pencircle scaled 0.3pt;
+draw z3{dir -20}..{dir -75}(z4 + (0.5pt,0));
+fill fullcircle scaled 1.2pt shifted (z4 + (0.19pt,-0.25pt));
+endchar;
+
+beginchar(4,0.60stwd#,stht#,stdp#); "The letter hrashwa-u";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (1/2w,3/4h); z4 = (1/2w,9/22h); z5 = (11/20w,3/8h);
+z6 = (41/50w,21/40h); lft z7 = (8/9w,5/16h);
+z8 = (23/40w,1/12h); z9 = (1/10w,13/20h); z10 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{down}..{down}z4{dir -60}..{dir -60}z5{dir 30}..{dir60}z6{dir -60}
+ ..{down}z7{down}..{left}z8{left}..z10..z9;
+z7' = (w-0.7pt,3/4h); z8' = (1/2w,31/32h); z9' = (-1/8w,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z7'{dir 60}..{left}z8'{left}...z9'{dir 75};
+endchar;
+
+beginchar(5,0.60stwd#,stht#,stdp#); "The letter dirgha-u";
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h); draw z1..z2;
+top z3 = (1/2w,3/4h); z4 = (1/2w,9/22h); z5 = (11/20w,3/8h);
+z6 = (41/50w,21/40h); lft z7 = (8/9w,5/16h);
+z8 = (23/40w,1/12h); z9 = (1/10w,13/20h); z10 = (9/50w,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z3{down}..{down}z4{dir -60}..{dir -60}z5{dir 30}..{dir60}z6{dir -60}
+ ..{down}z7{down}..{left}z8{left}..z10..z9;
+z10' = z10 + (0.6pt,0); z11 = z9 + (0.8pt,0);
+draw (z8+(0.3pt,0)){left}..z10'..z11;
+z7' = (w-0.7pt,3/4h); z8' = (1/2w,31/32h); z9' = (-1/8w,11/10h);
+pickup pencircle xscaled 0.2pt yscaled 0.4pt;
+draw z7'{dir 60}..{left}z8'{left}...z9'{dir 75};
+endchar;
+
+beginchar(6,0.67stwd#,stht#,stdp#); "The letter ri";
+z1 = (w-0.9pt,3/4h); z2 = (w-0.9pt,1/11h);
+z3 = (5/8w,3/4h); z4 = (5/8w,0); lft z5 = 4/7[z3,z4];
+pickup pencircle scaled penth#; draw z1..z2; draw z3..z4;
+draw z5{dir -45}..{dir -75}z2;
+rt z6 = (5/8w,13/20h); z7 = (1/6w,8/21h);
+pickup pencircle scaled 0.5pt;
+draw z6{z7-z6 rotated -8}..z7;
+z4 + (0,0.2pt) = z4l + (0.15pt,0) = z4r - (0.15pt,0);
+z7 = z7r + (0.2pt,-0.2pt) = z7l - (0.1pt,-0.27pt);
+penstroke z7e{right}.. tension 1.5 .. z4e;
+z8 = (1/2w-0.2pt,3/4h); z9 = (1/4w-0.1pt,31/50h); z10 = (1/10w,18/25h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw z6--z8{dir -150}..{left}z9{left}..{up}z10;
+fill fullcircle scaled 1.2pt shifted (z10 + (0.47pt,0));
+endchar;
+
+beginchar(8,0.65stwd#,stht#,stdp#); "The letter e";
+z1 = (9/20w,2/5h); z2 = (19/25w,3/4h); z3 = (6/7w,2/3h);
+z4 = (6/7w,0pt); z5 = (1/2w,1/6h);
+z6 = (1/5w,1/5h); z7 = (1/8w,3/8h); z8 = (1/6w,1/2h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{dir 135}..tension 1.2..{right}z2{right}..z3{down}..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw (z4+(0,0.2pt)){up}...{left}z5{left}..z6..{up}z7{up}..z8;
+fill fullcircle scaled 1.4pt shifted (z1 + (0.47pt,0.38pt));
+endchar;
+
+beginchar(9,0.76stwd#,stht#,stdp#); "The letter oi";
+numeric wd; wd = 21/25w;
+z1 = (9/20wd,2/5h); z2 = (19/25wd,3/4h); z3 = (6/7wd,2/3h);
+z4 = (6/7wd,0pt); z5 = (1/2wd,1/6h);
+z6 = (1/5wd,1/5h); z7 = (1/8wd,3/8h); z8 = (1/6wd,1/2h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 45;
+draw z1{dir 135}..tension 1.2..{right}z2{right}..z3{down}..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt;
+draw (z4+(0,0.2pt)){up}...{left}z5{left}..z6..{up}z7{up}..z8;
+fill fullcircle scaled 1.4pt shifted (z1 + (0.47pt,0.38pt));
+z9 = (9/10w,11/14h); z10 = (7/20w,17/16h); z11 = (2/5w,9/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated -30;
+draw 2/7[z3,z4]{right}..z9..{up}z10{up}..z11;
+endchar;
+
+beginchar(10,0.58stwd#,stht#,stdp#); "The letter o";
+numeric wd; wd = w; z1 = (3/10wd,29/50h); z2 = (2/3wd,3/4h);
+z3 = (7/8wd,16/25h); z4 = (18/25wd,9/20h); z5 = (7/8wd,7/25h);
+z6 = (23/40wd,1/12h); z8 = (1/10wd,13/20h); z7 = (9/50wd,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1{dir 75}..{right}z2{right}..{down}z3{down}..{dir -135}z4
+{dir -40}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z4 + (-0.37pt,0));
+fill fullcircle scaled 1.2pt shifted (z1 + (0.39pt,0));
+endchar;
+
+beginchar(11,0.67stwd#,stht#,stdp#); "The letter ou";
+numeric wd;
+wd = 22/25*w; z1 = (3/10wd,3/5h); z2 = (2/3wd,3/4h);
+z3 = (7/8wd,16/25h); z4 = (18/25wd,9/20h); z5 = (7/8wd,7/25h);
+z6 = (23/40wd,1/12h); z8 = (1/10wd,13/20h); z7 = (9/50wd,1/3h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 30;
+draw z1{dir 75}..{right}z2{right}..{down}z3{down}..{dir -135}z4
+{dir -40}..{down}z5{down}..{left}z6{left}..z7..z8;
+fill fullcircle scaled 1.4pt shifted (z4 + (-0.37pt,0));
+fill fullcircle scaled 1.2pt shifted (z1 + (0.39pt,0));
+z9 = (7/8w,4/5h); z10 = (7/20w,17/16h); z11 = (2/5w,9/8h);
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated -30;
+draw (z4 - (0,0.2pt)){dir 30}..z9..{up}z10{up}..z11;
+endchar;
+
+%%% End of bnswar.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/xbnr10.mf b/Master/texmf-dist/fonts/source/public/bengali/xbnr10.mf
new file mode 100644
index 00000000000..73d4aeeb010
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/xbnr10.mf
@@ -0,0 +1,29 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xbnr10.mf: METAFONT supplemental characters for Bengali (nonslanted)
+% Created by: Anshuman Pandey <apandey@u.washington.edu>
+% Modified: Mar 27 2002
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+font_size 10pt#;
+u# = 3/9pt#;
+s# = 1/3pt#;
+em# := 20pt#; cap# := 20pt#;
+thin# := 1/3pt#; thick# := 5/6pt#;
+o# := 1/5pt#;
+define_pixels(em,cap);
+define_blacker_pixels(thin,thick);
+define_corrected_pixels(o);
+numeric stwd, stht, stdp, penth;
+stwd# = 10pt#; stht# = 8pt#; stdp# = 2pt#;
+penth# = 0.4pt; dflt_pen := savepen;
+font_quad 18u#+2s#;
+font_normal_space 9u#+3s#;
+font_normal_stretch 3u#;
+font_normal_shrink 2u#;
+numeric slantval; slantval = 0;
+
+input xbnsupp;
+end;
+
+%%% End of xbnr10.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/xbnsl10.mf b/Master/texmf-dist/fonts/source/public/bengali/xbnsl10.mf
new file mode 100644
index 00000000000..68d3f2e3f91
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/xbnsl10.mf
@@ -0,0 +1,30 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xbnsl10.mf: METAFONT supplemental characters for Bengali (slanted)
+% Created by: Anshuman Pandey <apandey@u.washington.edu>
+% Modified: Mar 27 2002
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+font_size 10pt#;
+u# = 3/9pt#;
+s# = 1/3pt#;
+em# := 20pt#; cap# := 20pt#;
+thin# := 1/3pt#; thick# := 5/6pt#;
+o# := 1/5pt#;
+define_pixels(em,cap);
+define_blacker_pixels(thin,thick);
+define_corrected_pixels(o);
+numeric stwd, stht, stdp, penth;
+stwd# = 10pt#; stht# = 8pt#; stdp# = 2pt#;
+penth# = 0.4pt; dflt_pen := savepen;
+currenttransform := identity slanted 1/5;
+font_quad 18u#+2s#;
+font_normal_space 9u#+3s#;
+font_normal_stretch 3u#;
+font_normal_shrink 2u#;
+numeric slantval; slantval = 1/5;
+
+input xbnsupp;
+end;
+
+%%% End of xbnsl10.mf
diff --git a/Master/texmf-dist/fonts/source/public/bengali/xbnsupp.mf b/Master/texmf-dist/fonts/source/public/bengali/xbnsupp.mf
new file mode 100644
index 00000000000..5d6198930fa
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/bengali/xbnsupp.mf
@@ -0,0 +1,80 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% asextra.mf: METAFONT definitions for Assamese extension characters
+% Created by: Anshuman Pandey <apandey@u.washington.edu>
+% Last modified: Mar 27 2002
+%
+% apandey 2002.03.27 added "Assamese ra" at position 114 "r"
+% apandey 2002.03.27 added "Assamese va" at position 118 "v"
+% apandey 2002.03.27 added "Bengali lig thba" at position 76 "L"
+% apandey 2002.03.27 added "Bengali lig ndba" at position 80 "P"
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+input bnmacro;
+
+
+% th + ba
+newchar(76,0.48,"th + b");
+ha(1/10w,1/4h+0.2pt,2/3w+0.1pt,3/5h-0.1pt);
+pickup pencircle scaled 0.4pt;
+draw (5/6w,1/4h)..(5/6w,3/4h+0.2pt);
+draw(5/6w,3/4h)..(w,3/4h);
+ba(1/3w,-1/3d,1/2w,33/80h);
+endchar;
+
+
+% n + d + ba
+newchar(80,0.66,"n + d + b");
+matra(w,h);
+na(1/10w,(3/10+1/16)*h,(1/2-1/10)*w,5/16h,0.2);
+da(1/2w,1/5h,1/2w-0.9pt,3/7h,0);
+ba(21/40w+0.03pt,-1/4d,1/3w,8/20h);
+endchar;
+
+
+% Assamese ra
+beginchar(114,0.52stwd#,stht#,stdp#); "The letter Assamese ra"; % "r"
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (w-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6w,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (w-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (w-0.9pt,3/4h);
+draw z3..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+rt z8 = (5/6w,1/4h);
+z9 = (1/2w,43/80h);
+%draw (z9+(0,0.1pt))--z8;
+draw z8--z9;
+endchar;
+
+
+% Assamese va
+beginchar(118,0.52stwd#,stht#,stdp#); "The letter Assamese va"; % "v"
+pickup pencircle scaled penth#;
+z1 = (0,3/4h); z2=(w,3/4h);
+draw z1..z2;
+z5 = (w-0.9pt,13/20h);
+z5r = z5 + (0,penth#/2); z5l = z5 - (0,penth#/2);
+z6 = (1/6w,8/21h);
+numeric len; len = 1/2(penth#/(sqrt 2));
+z6l = z6 + (len,-len); z6r = z6 - (len,-len);
+penstroke z5e{z6-z5 rotated -8}..z6e;
+bot z4 = z4l + (0.1pt,0) = z4r - (0.1pt,0) = (w-0.9pt,0);
+z7 - z6 = (0.2pt,-0.2pt);
+z7l = z7 + (len, -len); z7r = z6r;
+penstroke z7e{z4-z7 rotated 120}.. tension 1.5 .. z4e;
+top z3 = (w-0.9pt,3/4h);
+draw z3..z4;
+pickup pencircle xscaled 0.3pt yscaled 0.6pt rotated 50;
+rt z8 = (2/3w,1/11h);
+z9 = (1/4w,1/4h);
+draw (z9+(0,0.1pt))--z8;
+endchar;