summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/malayalam
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/malayalam
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/malayalam')
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/effects/effect.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/effects/esoteric.mf27
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/effects/hstripes.mf44
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/effects/malayalam-reverse.mf34
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/effects/outline.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/effects/shadow.mf37
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/fnt_code.mf290
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mm.bat66
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mm.fts57
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mm.job17
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmcillu.mf120
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmcoding.mf290
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmconj.mf752
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmcons.mf443
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmcvconj.mf943
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmdefs.mf633
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmfnt.mf6
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmfont.mf46
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmlnums.mf125
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmnums.mf167
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmpunct.mf278
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmrconj.mf254
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmscons.mf169
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmsec.mf263
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmstyles.txt47
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmtest.mf26
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/mmvowels.mf509
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/orn10.mf86
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/rejected.mf273
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm10.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm10s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm12.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm12s.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm17.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm17s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm6.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm6s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm8.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mm8s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmbig.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmbigo.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12s.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12s.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12s.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpa12.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpb12.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpc12.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10s.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12s.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/malayalam/var_ja.mf199
71 files changed, 7141 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/effects/effect.mf b/Master/texmf-dist/fonts/source/public/malayalam/effects/effect.mf
new file mode 100644
index 00000000000..fcf3fcbdc5d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/effects/effect.mf
@@ -0,0 +1 @@
+input shadow.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/effects/esoteric.mf b/Master/texmf-dist/fonts/source/public/malayalam/effects/esoteric.mf
new file mode 100644
index 00000000000..6df5d0645f6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/effects/esoteric.mf
@@ -0,0 +1,27 @@
+% esoteric.mf --- esoteric shadow effect
+
+define_whole_pixels(ht);
+shshift := 0.06ht;
+svshift := -0.06ht;
+
+def pattern=
+ def endchar=
+ cullit;
+ picture NormalChar;
+ NormalChar=currentpicture;
+ clearit;
+ currentpicture:=NormalChar shifted (shshift, svshift);
+ picture Shadow;
+ Shadow:=currentpicture;
+ clearit;
+ currentpicture:=Shadow-NormalChar;
+ % The rest is from standard endchar
+ scantokens extra_endchar;
+ chardx:=w;
+ shipit;
+ if displaying>0: showit; fi
+ endgroup
+ enddef;
+enddef;
+
+% end of esoteric.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/effects/hstripes.mf b/Master/texmf-dist/fonts/source/public/malayalam/effects/hstripes.mf
new file mode 100644
index 00000000000..d42fa46d7e7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/effects/hstripes.mf
@@ -0,0 +1,44 @@
+% hstripes.mf --- horizontal stripes effect
+
+define_whole_pixels(ht);
+topline := 1.6ht;
+botline := -1.0ht;
+
+stepsize# := .05ht#;
+verythin# := .01ht#;
+define_whole_pixels(stepsize, verythin);
+
+pickup penrazor scaled verythin rotated 90;
+MinPen := savepen;
+
+def pattern=
+ def endchar=
+ cullit;
+ picture NormalChar;
+ NormalChar=currentpicture;
+ clearit;
+ % fill (0,-desc-2vo)--(w+ho, -desc-2vo)--
+ % (w+ho, cap+2vo)--(0, cap+2vo)--cycle;
+ fill ((0-10uw,botline)--(w+10uw,botline)--(w+10uw,topline)--(0-10uw,topline)--cycle) shifted -(.5rm, 0);
+ picture BlackBox;
+ BlackBox:=currentpicture;
+ picture ReverseVideo;
+ ReverseVideo=BlackBox-NormalChar;
+ clearit;
+ pickup MinPen;
+ for f=botline step stepsize until topline:
+ draw ((0-9uw,f)--(w+9uw,f)) shifted -(.5rm, 0);
+ endfor;
+ picture StripeOverlay;
+ StripeOverlay=currentpicture;
+ currentpicture:=StripeOverlay-ReverseVideo
+ % The rest is from standard endchar
+ scantokens extra_endchar;
+ chardx:=w;
+ shipit;
+ if displaying>0: showit; fi
+ endgroup
+ enddef;
+enddef;
+
+% end of hstripes.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/effects/malayalam-reverse.mf b/Master/texmf-dist/fonts/source/public/malayalam/effects/malayalam-reverse.mf
new file mode 100644
index 00000000000..693decab52c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/effects/malayalam-reverse.mf
@@ -0,0 +1,34 @@
+% reverse.mf -- reverse video effect (does not work correctly
+% with characters that stick out of their box of the
+% left or right).
+
+define_whole_pixels(ht);
+
+topline := 1.6ht;
+botline := -1.0ht;
+
+def pattern=
+ def endchar=
+ cullit;
+ picture NormalChar;
+ NormalChar=currentpicture;
+ clearit;
+ % fill (0,-desc-2vo)--(w+ho, -desc-2vo)--
+ % (w+ho, cap+2vo)--(0, cap+2vo)--cycle;
+ fill ((0,botline)--(w,botline)--(w,topline)--
+ (0,topline)--cycle) shifted -(.5rm, 0);
+ picture BlackBox;
+ BlackBox:=currentpicture;
+ picture ReverseVideo;
+ ReverseVideo=BlackBox-NormalChar;
+ currentpicture:=ReverseVideo
+ % The rest is from standard endchar
+ scantokens extra_endchar;
+ chardx:=w;
+ shipit;
+ if displaying>0: showit; fi
+ endgroup
+ enddef;
+enddef;
+
+% end of reverse.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/effects/outline.mf b/Master/texmf-dist/fonts/source/public/malayalam/effects/outline.mf
new file mode 100644
index 00000000000..cedb93e9cfa
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/effects/outline.mf
@@ -0,0 +1,20 @@
+% outline.mf --- outline effect
+
+def pattern=
+ def endchar=
+ cull currentpicture keeping (1, infinity);
+ picture v; v := currentpicture;
+ cull currentpicture keeping (1,1) withweight 3;
+ addto currentpicture also v - v shifted right
+ - v shifted left - v shifted up - v shifted down;
+ cull currentpicture keeping (1,4);
+ % rest from standard endchar
+ scantokens extra_endchar;
+ chardx:=w;
+ shipit;
+ if displaying>0: showit; fi
+ endgroup
+ enddef;
+enddef;
+
+% end of outline.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/effects/shadow.mf b/Master/texmf-dist/fonts/source/public/malayalam/effects/shadow.mf
new file mode 100644
index 00000000000..c6478bdb80b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/effects/shadow.mf
@@ -0,0 +1,37 @@
+% shadow.mf --- shadow effect
+
+define_whole_pixels(ht);
+shshift := 0.06ht;
+svshift := -0.06ht;
+
+def pattern=
+ def endchar=
+ cullit;
+ picture NormalChar;
+ NormalChar=currentpicture;
+ cull currentpicture keeping (1, infinity);
+ picture v; v := currentpicture;
+ cull currentpicture keeping (1,1) withweight 3;
+ addto currentpicture also v - v shifted right
+ - v shifted left - v shifted up - v shifted down;
+ cull currentpicture keeping (1,4);
+ picture OutlineChar;
+ OutlineChar=currentpicture;
+ clearit;
+ currentpicture:=NormalChar shifted (shshift, svshift);
+ picture Shadow;
+ Shadow:=currentpicture;
+ clearit;
+ currentpicture:=Shadow-NormalChar;
+ cullit;
+ currentpicture:=currentpicture+OutlineChar;
+ % The rest is from standard endchar
+ scantokens extra_endchar;
+ chardx:=w;
+ shipit;
+ if displaying>0: showit; fi
+ endgroup
+ enddef;
+enddef;
+
+% end of shadow.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/fnt_code.mf b/Master/texmf-dist/fonts/source/public/malayalam/fnt_code.mf
new file mode 100644
index 00000000000..83898eb6d94
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/fnt_code.mf
@@ -0,0 +1,290 @@
+% fnt_code.mf -- Alternative Font encoding of the fonts with Malayalam TeX
+% (c) 1993 Jeroen Hellingman
+% last edit: 28-JAN-1993
+
+if known font_codes_loaded: endinput; else: font_codes_loaded := 1; fi;
+
+% mmvowels.mf
+
+c_anusvara := ASCII "M"; % U+0D02 malayalam sign anusvara [2]
+c_visarga := ASCII "H"; % U+0D03 malayalam sign visarga [3]
+c_a := ASCII "a"; % U+0D05 malayalam letter a [5]
+c_aa := ASCII "A"; % U+0D06 malayalam letter aa [6]
+c_i := ASCII "i"; % U+0D07 malayalam letter i [7]
+c_u := ASCII "u"; % U+0D09 malayalam letter u [9]
+c_vocalic_r := ASCII "#"; % U+0D0B malayalam letter vocalic r [11]
+c_vocalic_rr := 129; % U+0D60 malayalam letter vocalic rr [96]
+c_vocalic_l := 130; % U+0D0C malayalam letter vocalic l [12]
+c_vocalic_ll := 131; % U+0D61 malayalam letter vocalic ll [97]
+c_e := ASCII "e"; % U+0D0E malayalam letter e [14]
+c_ee := ASCII "E"; % U+0D0F malayalam letter ee [15]
+c_o := ASCII "o"; % U+0D12 malayalam letter o [18]
+c_sign_aa := ASCII "*"; % U+0D3E malayalam vowel sign aa [62]
+c_sign_i := ASCII "I"; % U+0D3F malayalam vowel sign i [63]
+c_sign_ii := ASCII "}"; % U+0D40 malayalam vowel sign ii [64]
+c_sign_u := 132; % U+0D41 malayalam vowel sign u [65]
+c_sign_uu := 133; % U+0D42 malayalam vowel sign uu [66]
+c_ref_sign_u := ASCII "U"; % reformed script vowel sign u [72]
+c_ref_sign_uu := ASCII "$"; % reformed script vowel sign uu [73]
+c_sign_vocalic_r := 134; % U+0D43 malayalam vowel sign vocalic r [67]
+c_ref_sign_vocalic_r := ASCII "~"; % reformed script vowel sign vocalic r [75]
+c_sign_vocalic_rr := 135; % U+0D44 malayalam vowel sign vocalic rr [68]
+c_sign_e := ASCII "^"; % U+0D46 malayalam vowel sign e [70]
+c_sign_ee := ASCII "%"; % U+0D47 malayalam vowel sign ee [71]
+c_au_length_mark := ASCII "&"; % U+0D57 malayalam au length mark [87]
+c_virama := ASCII "+"; % U+0D4D malayalam sign virama [77]
+
+% mmcons.mf
+
+c_ka := ASCII "k"; % U+0D15 malayalam letter ka [21]
+c_kha := ASCII "K"; % U+0D16 malayalam letter kha [22]
+c_ga := ASCII "g"; % U+0D17 malayalam letter ga [23]
+c_gha := ASCII "G"; % U+0D18 malayalam letter gha [24]
+c_nga := ASCII "x"; % U+0D19 malayalam letter nga [25]
+c_ca := ASCII "c"; % U+0D1A malayalam letter ca [26]
+c_cha := ASCII "C"; % U+0D1B malayalam letter cha [27]
+c_ja := ASCII "j"; % U+0D1C malayalam letter ja [28]
+c_jha := ASCII "J"; % U+0D1D malayalam letter jha [29]
+c_nya := ASCII "X"; % U+0D1E malayalam letter nya [30]
+c_tta := ASCII "q"; % U+0D1F malayalam letter tta [31]
+c_ttha := ASCII "Q"; % U+0D20 malayalam letter ttha [32]
+c_dda := ASCII "w"; % U+0D21 malayalam letter dda [33]
+c_ddha := ASCII "W"; % U+0D22 malayalam letter ddha [34]
+c_nna := ASCII "N"; % U+0D23 malayalam letter nna [35]
+c_ta := ASCII "t"; % U+0D24 malayalam letter ta [36]
+c_tha := ASCII "T"; % U+0D25 malayalam letter tha [37]
+c_da := ASCII "d"; % U+0D26 malayalam letter da [38]
+c_dha := ASCII "D"; % U+0D27 malayalam letter dha [39]
+c_na := ASCII "n"; % U+0D28 malayalam letter na [40]
+c_pa := ASCII "p"; % U+0D2A malayalam letter pa [42]
+c_pha := ASCII "P"; % U+0D2B malayalam letter pha [43]
+c_ba := ASCII "b"; % U+0D2C malayalam letter ba [44]
+c_bha := ASCII "B"; % U+0D2D malayalam letter bha [45]
+c_ma := ASCII "m"; % U+0D2E malayalam letter ma [46]
+c_ya := ASCII "y"; % U+0D2F malayalam letter ya [47]
+c_ra := ASCII "r"; % U+0D30 malayalam letter ra [48]
+c_rra := ASCII "R"; % U+0D31 malayalam letter rra [49]
+c_la := ASCII "l"; % U+0D32 malayalam letter la [50]
+c_lla := ASCII "L"; % U+0D33 malayalam letter lla [51]
+c_llla := ASCII "Z"; % U+0D34 malayalam letter llla [52]
+c_va := ASCII "v"; % U+0D35 malayalam letter va [53]
+c_sha := ASCII "z"; % U+0D36 malayalam letter sha [54]
+c_ssa := ASCII "S"; % U+0D37 malayalam letter ssa [55]
+c_sa := ASCII "s"; % U+0D38 malayalam letter sa [56]
+c_ha := ASCII "h"; % U+0D39 malayalam letter ha [57]
+
+% mmscons.mf
+
+c_g_ga := 1; % g+ga [240]
+c_nn_nna := 2; % nn+nna [241]
+c_p_pa := 3; % p+pa [242]
+c_rr_rra := 4; % rr+rra [243]
+c_sh_sha := 5; % sh+sha [244]
+c_s_sa := 6; % s+sa [245]
+c_dd_dda := 7; % dd+dda [246]
+c_c_ca := 8; % c+ca [247]
+c_b_ba := 9; % b+ba [248]
+c_y_ya := 10; % y+ya [249]
+c_v_va := 11; % v+va [250]
+
+% mmsec.mf
+
+c_sec_ka := 136; % secondary ka [112]
+c_sec_k_ka := 137; % secondary k+ka [115]
+c_sec_ya := ASCII "Y"; % secondary ya [83]
+c_sec_ya_os := 138; % secondary ya (old style) [92]
+c_sec_ya_deep := 139; % secondary ya (old style, deep version) [120]
+c_sec_ya_deeper := 140; % secondary ya (old style, deeper version) [121]
+c_sec_ya_deepest := 141; % secondary ya (old style, deepest version) [122]
+c_reepham := 142; % reepham [76]
+c_sec_ra_narrow := 143; % secondary ra (narrow version) [123]
+c_sec_ra := 144; % secondary ra [84]
+c_sec_ra_wide := 145; % secondary ra (wide version) [124]
+c_sec_ra_wider := 146; % secondary ra (wider version) [125]
+c_sec_ra_even_wider := 147; % secondary ra (even wider version) [126]
+c_sec_ra_widest := 148; % secondary ra (widest version) [127]
+c_ref_sec_ra := ASCII "{"; % reformed script secondary ra [74]
+c_sec_la := ASCII "|"; % secondary la [85]
+c_sec_va := ASCII "V"; % secondary va [86]
+c_sec_va_sub := 149; % secondary va (subscribed version) [93]
+c_sec_tha := ASCII "f"; % secondary tha [88]
+c_sub_triangle := ASCII "F"; % subscribed triangle for double letters [89]
+c_sec_ssa := 150; % secondary ssa [90]
+
+% mmcillu.mf
+
+c_nn_virama := ASCII "1"; % nn+virama [78]
+c_n_virama := ASCII "2"; % n+virama [79]
+c_r_virama := ASCII "3"; % r+virama [80]
+c_l_virama := ASCII "4"; % l+virama [81]
+c_ll_virama := ASCII "5"; % ll+virama [82]
+c_var_ll_virama := 151; % variant ll+virama [91]
+c_k_virama := 152; % k+virama [94]
+c_y_virama := 153; % y+virama [95]
+
+% mmconj.mf
+
+c_k_ka := 12; % k+ka [160]
+c_k_ta := 13; % k+ta [176]
+c_k_ssa := 14; % k+ssa [251]
+c_g_gha := 154; % g+gha [218]
+c_g_da := 15; % g+da [177]
+c_g_d_dha := 155; % g+d+dha [178]
+c_g_na := 156; % g+na [179]
+c_g_ma := 157; % g+ma [180]
+c_ng_nga := 16; % ng+nga [161]
+c_ng_ka := 17; % ng+ka [181]
+c_var_c_ca := 158; % variant c+ca [225]
+c_var_c_cha := 159; % variant c+cha [226]
+c_j_ja := 18; % j+ja [162]
+c_j_jha := 160; % j+jha [227]
+c_j_nya := 161; % j+nya [184]
+c_ny_ca := 162; % ny+ca [185]
+c_ny_cha := 163; % ny+cha [228]
+c_ny_nya := 19; % ny+nya [163]
+c_ny_ja := 164; % ny+ja [186]
+c_tt_tta := 20; % tt+tta [164]
+c_nn_tta := 21; % nn+tta [187]
+c_nn_dda := 165; % nn+dda [188]
+c_nn_ddha := 166; % nn+ddha [217]
+c_nn_ka := 167; % nn+ka [189]
+c_t_ta := 22; % t+ta [165]
+c_t_na := 23; % t+na [191]
+c_t_bha := 168; % t+bha [229]
+c_t_ma := 169; % t+ma [190]
+c_t_sa := 170; % t+sa [221]
+c_d_da := 24; % d+da [166]
+c_d_dha := 25; % d+dha [192]
+c_n_ta := 26; % n+ta [194]
+c_n_da := 27; % n+da [195]
+c_n_dha := 171; % n+dha [219]
+c_n_na := 28; % n+na [167]
+c_n_ma := 172; % n+ma [193]
+c_bh_dha := 173; % bh+dha [196]
+c_m_pa := 174; % m+pa [220]
+c_sh_ca := 175; % sh+ca [197]
+c_h_na := 176; % h+na [199]
+c_h_ma := 177; % h+ma [198]
+
+% mmrconj.mf
+
+c_k_ra := 200; % k+ra [200]
+c_k_k_ra := 213; % k+k+ra [213]
+c_g_ra := 201; % g+ra [201]
+c_ch_ra := 202; % ch+ra [202]
+c_j_ra := 203; % j+ra [203]
+c_tt_ra := 204; % tt+ra [204]
+c_t_t_ra := 214; % t+t+ra [214]
+c_t_ra := 205; % t+ra [205]
+c_d_ra := 206; % d+ra [206]
+c_dh_ra := 207; % dh+ra [207]
+c_n_t_ra := 215; % n+t+ra [215]
+c_n_d_ra := 216; % n+d+ra [216]
+c_n_ra := 208; % n+ra [208]
+c_bh_ra := 209; % bh+ra [209]
+c_sh_ra := 210; % sh+ra [210]
+c_s_ra := 211; % s+ra [211]
+c_h_ra := 212; % h+ra [212]
+
+% mmcvconj.mf
+
+c_ku := 128; % ku [128]
+c_kuu := 139; % kuu [139]
+c_var_kuu := 224; % old variant kuu [224]
+c_sec_ku := 178; % secondary ku [113]
+c_sec_kuu := 179; % secondary kuu [114]
+c_kr := 150; % kr [150]
+c_k_ku := 168; % k+ku [168]
+c_sec_k_ku := 180; % secondary k+ku [116]
+c_k_kuu := 169; % k+kuu [169]
+c_sec_k_kuu := 181; % secondary k+kuu [117]
+c_gu := 129; % gu [129]
+c_guu := 140; % guu [140]
+c_gr := 151; % gr [151]
+c_ng_ku := 182; % ng+ku [182]
+c_ng_kuu := 183; % ng+kuu [183]
+c_chu := 130; % chu [130]
+c_chuu := 141; % chuu [141]
+c_ju := 131; % ju [131]
+c_juu := 142; % juu [142]
+c_j_ju := 170; % j+ju [170]
+c_j_juu := 171; % j+juu [171]
+c_nnu := 132; % nnu [132]
+c_nnuu := 143; % nnuu [143]
+c_tu := 133; % tu [133]
+c_tuu := 144; % tuu [144]
+c_tr := 152; % tr [152]
+c_t_tu := 172; % t+tu [172]
+c_t_tuu := 173; % t+tuu [173]
+c_dr := 153; % dr [153]
+c_dhr := 154; % dhr [154]
+c_nu := 134; % nu [134]
+c_nuu := 145; % nuu [145]
+c_nr := 155; % nr [155]
+c_n_tu := 222; % n+tu [222]
+c_n_tuu := 223; % n+tuu [223]
+c_n_nu := 174; % n+nu [174]
+c_n_nuu := 175; % n+nuu [175]
+c_bhu := 135; % bhu [135]
+c_bhuu := 146; % bhuu [146]
+c_bhr := 156; % bhr [156]
+c_ru := 136; % ru [136]
+c_ruu := 147; % ruu [147]
+c_shu := 137; % shu [137]
+c_shuu := 148; % shuu [148]
+c_shr := 157; % shr [157]
+c_sr := 158; % sr [158]
+c_hu := 138; % hu [138]
+c_huu := 149; % huu [149]
+c_hr := 159; % hr [159]
+
+% mmnums.mf
+
+c_mal_quarter :=0; % malayalam sign for one quarter [101]
+c_mal_zero := 0; % U+0D66 malayalam digit zero [102]
+c_mal_one := 0; % U+0D67 malayalam digit one [103]
+c_mal_two := 0; % U+0D68 malayalam digit two [104]
+c_mal_three := 0; % U+0D69 malayalam digit three [105]
+c_mal_four := 0; % U+0D6A malayalam digit four [106]
+c_mal_five := 0; % U+0D6B malayalam digit five [107]
+c_mal_six := 0; % U+0D6C malayalam digit six [108]
+c_mal_seven := 0; % U+0D6D malayalam digit seven [109]
+c_mal_eight := 0; % U+0D6E malayalam digit eight [110]
+c_mal_nine := 0; % U+0D6F malayalam digit nine [111]
+
+% mmlnums.mf
+
+c_zero := 230; % U+0030 digit zero [230]
+c_one := 231; % U+0031 digit one [231]
+c_two := 232; % U+0032 digit two [232]
+c_three := 233; % U+0033 digit three [233]
+c_four := 234; % U+0034 digit four [234]
+c_five := 235; % U+0035 digit five [235]
+c_six := 236; % U+0036 digit six [236]
+c_seven := 237; % U+0037 digit seven [237]
+c_eight := 238; % U+0038 digit eight [238]
+c_nine := 239; % U+0039 digit nine [239]
+
+% mmpunct.mf
+
+c_hyphen := ASCII "-"; % U+2010 hyphen [69]
+c_en_dash := ASCII "_"; % U+2013 en-dash [98]
+c_em_dash := ASCII "="; % U+2014 em-dash [99]
+c_comma := ASCII ","; % U+002C comma [58]
+c_period := ASCII "."; % U+002E period [59]
+c_semicolon := ASCII ";"; % U+003B semicolon [60]
+c_colon := ASCII ":"; % U+003A colon [61]
+c_open_quote := ASCII "`"; % U+2018 single turned comma quotation mark [19]
+c_close_quote := 39; % U+2019 single comma quotation mark [20]
+c_open_paren := ASCII "("; % U+0028 opening parenthesis [16]
+c_close_paren := ASCII ")"; % U+0029 closing parenthesis [17]
+c_slash := ASCII "/"; % U+002F slash [4]
+c_open_bracket := ASCII "["; % U+005B opening square bracket [8]
+c_close_bracket := ASCII "]"; % U+005D closing square bracket [10]
+c_question_mark := ASCII "?"; % U+003F question mark [41]
+c_exlamation_mark := ASCII "!"; % U+0021 exclamation mark [13]
+c_dotted_circle := ASCII "@"; % U+25CC dotted circle [0]
+c_white_square := 0; % U+25A1 white square [1]
+c_star := 255; % ornamental star [255]
+
+% end of fnt_code.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mm.bat b/Master/texmf-dist/fonts/source/public/malayalam/mm.bat
new file mode 100644
index 00000000000..ed1f54ad3b0
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mm.bat
@@ -0,0 +1,66 @@
+mf &plain "\mode:=hplaser; mag:=1; input mm6"
+mf &plain "\mode:=hplaser; mag:=1; input mm6s"
+mf &plain "\mode:=hplaser; mag:=1; input mm8"
+mf &plain "\mode:=hplaser; mag:=1; input mm8s"
+mf &plain "\mode:=hplaser; mag:=1; input mm10"
+mf &plain "\mode:=hplaser; mag:=1; input mm10s"
+mf &plain "\mode:=hplaser; mag:=1; input mmb10"
+mf &plain "\mode:=hplaser; mag:=1; input mmb10s"
+mf &plain "\mode:=hplaser; mag:=1; input mmsl10"
+mf &plain "\mode:=hplaser; mag:=1; input mmsl10s"
+mf &plain "\mode:=hplaser; mag:=1; input mmc10"
+mf &plain "\mode:=hplaser; mag:=1; input mmc10s"
+mf &plain "\mode:=hplaser; mag:=1; input mm12"
+mf &plain "\mode:=hplaser; mag:=1; input mm12s"
+mf &plain "\mode:=hplaser; mag:=1; input mmb12"
+mf &plain "\mode:=hplaser; mag:=1; input mmb12s"
+mf &plain "\mode:=hplaser; mag:=1; input mmsl12"
+mf &plain "\mode:=hplaser; mag:=1; input mmsl12s"
+mf &plain "\mode:=hplaser; mag:=1; input mmc12"
+mf &plain "\mode:=hplaser; mag:=1; input mmc12s"
+mf &plain "\mode:=hplaser; mag:=1; input mmcb12"
+mf &plain "\mode:=hplaser; mag:=1; input mmcb12s"
+mf &plain "\mode:=hplaser; mag:=1; input mmcsl12"
+mf &plain "\mode:=hplaser; mag:=1; input mmcsl12s"
+mf &plain "\mode:=hplaser; mag:=1; input mm17"
+mf &plain "\mode:=hplaser; mag:=1; input mm17s"
+mf &plain "\mode:=hplaser; mag:=1; input mmc17"
+mf &plain "\mode:=hplaser; mag:=1; input mmc17s"
+
+mf &plain "\mode:=hplaser; mag:=1; input mmbig"
+mf &plain "\mode:=hplaser; mag:=1; input mmexpa12"
+mf &plain "\mode:=hplaser; mag:=1; input mmexpb12"
+
+gftopk mm6.300
+gftopk mm6s.300
+gftopk mm8.300
+gftopk mm8s.300
+gftopk mm10.300
+gftopk mm10s.300
+gftopk mmb10.300
+gftopk mmb10s.300
+gftopk mmsl10.300
+gftopk mmsl10s.300
+gftopk mmc10.300
+gftopk mmc10s.300
+gftopk mm12.300
+gftopk mm12s.300
+gftopk mmb12.300
+gftopk mmb12s.300
+gftopk mmsl12.300
+gftopk mmsl12s.300
+gftopk mmc12.300
+gftopk mmc12s.300
+gftopk mmcb12.300
+gftopk mmcb12s.300
+gftopk mmcsl12.300
+gftopk mmcsl12s.300
+gftopk mm17.300
+gftopk mm17s.300
+gftopk mmc17.300
+gftopk mmc17s.300
+
+gftopk mmbig.300
+gftopk mmexpa12.300
+gftopk mmexpb12.300
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mm.fts b/Master/texmf-dist/fonts/source/public/malayalam/mm.fts
new file mode 100644
index 00000000000..ee33840e6b2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mm.fts
@@ -0,0 +1,57 @@
+%
+% Malayalam fonts
+%
+mm6 in magnification 1000
+mm6s in magnification 1000
+%
+mm8 in magnification 1000
+mm8s in magnification 1000
+%
+mm10 in magnification 1000
+mm10s in magnification 1000
+mmb10 in magnification 1000
+mmb10s in magnification 1000
+mmsl10 in magnification 1000
+mmsl10s in magnification 1000
+mmc10 in magnification 1000
+mmc10s in magnification 1000
+mmcsl10 in magnification 1000
+mmcsl10s in magnification 1000
+mmcb10 in magnification 1000
+mmcb10s in magnification 1000
+%
+mm12 in magnification 1000
+mm12s in magnification 1000
+mmsl12 in magnification 1000
+mmsl12s in magnification 1000
+mmb12 in magnification 1000
+mmb12s in magnification 1000
+mmc12 in magnification 1000
+mmc12s in magnification 1000
+mmcsl12 in magnification 1000
+mmcsl12s in magnification 1000
+mmcb12 in magnification 1000
+mmcb12s in magnification 1000
+%
+mm17 in magnification 1000
+mm17s in magnification 1000
+mmc17 in magnification 1000
+mmc17s in magnification 1000
+mmb17 in magnification 1000
+mmb17s in magnification 1000
+mmcb17 in magnification 1000
+mmcb17s in magnification 1000
+%
+% Headline fonts
+%
+mmbig in magnification 1000
+mmbigo in magnification 1000
+mmbig in magnification 1728
+%
+% Experimental fonts
+%
+mmexpa12 in magnification 1000
+mmexpb12 in magnification 1000
+mmexpc12 in magnification 1000
+%
+% end of mm.fts
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mm.job b/Master/texmf-dist/fonts/source/public/malayalam/mm.job
new file mode 100644
index 00000000000..a64636b14b6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mm.job
@@ -0,0 +1,17 @@
+% emTeX mfjob file to make Malayalam fonts:
+{
+base=plain;
+mode=hplaser[300];
+output=tfm[c:\tex\fonts\@f] pk[c:\tex\pixel\dpi@Rr\@f];
+{
+fonts= mm6 mm6s mm8 mm8s
+ mm10 mm10s mmsl10 mmsl10s mmb10 mmb10s
+ mmc10 mmc10s mmcsl10 mmcsl10s mmcb10 mmcb10s
+ mm12 mm12s mmsl12 mmsl12s mmb12 mmb12s
+ mmc12 mmc12s mmcsl12 mmcsl12s mmcb12 mmcb12s
+ mm17 mm17s mmc17 mmc17s mmb17 mmb17s mmcb17 mmcb17s
+ mmbig mmbigo
+ mmexpa12 mmexpb12 mmexpc12;
+mags=s0;
+}
+}
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmcillu.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmcillu.mf
new file mode 100644
index 00000000000..b5d2464b30a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmcillu.mf
@@ -0,0 +1,120 @@
+% mmcillu.mf -- malayalam cillu letters
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+beginchar(c_nn_virama,50uw#+rm#,28uh#,0); "nn+virama";
+ pickup frame_pen;
+ % from "malayalam letter nga"
+ % first bow
+ front_eye(1,2,3,4,5);
+ z5=(0, 10uh);
+ z6=(9uw, 20uh);
+ z7=(17uw, 10uh);
+ z8=(x7, 0);
+ % second bow
+ z9=(25uw, 20uh);
+ z10=(33uw, 10uh);
+ z11=(x10, 0);
+ % third bow
+ z12=(41uw, 20uh);
+ z13=(50uw, 10uh);
+ virama_tail(13,14,15,16,17,18,19);
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}---z11;
+ draw z11---z10{up}..z12{right}..z13{down}..z14{left}..
+ z15{up}..z16..z17{up}..z18{left}..z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar(c_n_virama,32uw#+rm#,28uh#,0); "n+virama";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7,8');
+ virama_tail(7,8,9,10,11,12,13);
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..
+ z10..z11{up}..z12{left}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_r_virama,20uw#+rm#,28uh#,0); "r+virama";
+ pickup frame_pen;
+ z1=(4uw, 0);
+ z2=(0, 10uh);
+ z3=(10uw, 20uh);
+ z4=(20uw, 10uh);
+ virama_tail(4,5,6,7,8,9,10);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..z7..
+ z8{up}..z9{left}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_l_virama,34uw#+rm#,28uh#,0); "l+virama";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7=(.5[x6, x8], 20uh);
+ z8=(x8'+4uw, 8uh);
+ virama_tail(8,9,10,11,12,13,14);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left}..z10{up}..z11..z12{up}..
+ z13{left}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_ll_virama,28uw#+rm#,20uh#,0); "ll+virama";
+ pickup frame_pen;
+ z1=(3uw, 10uh); % not used
+ z2=(0, 8uh);
+ z3=(6uw, 0);
+ z4=(13uw, 6uh);
+ z5=(22uw, 10uh);
+ z6=(28uw, 5uh);
+ z7=(x5, 0);
+ z8=(5uw, 20uh);
+ draw z2{down}..z3{right}..z5{right}..z6{down}..z7{left}..z4..z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_var_ll_virama,34uw#+rm#,28uh#,0); "variant ll+virama";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5',6',7');
+ z5=(.5[x4, x6], 20uh);
+ z6=(x6'+2uw, 8uh);
+ virama_tail(6,7,8,9,10,11,12);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9..z10{up}..z11{left}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_k_virama,36uw#+rm#,28uh#,0); "k+virama";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ z8=z8'+(4uw, 0);
+ z9=z9'+(4uw, 0);
+ virama_tail(9,10,11,12,13,14,15);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12..z13{up}..z14{left}..z15;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_y_virama,32uw#+rm#,28uh#,0); "y+virama";
+ pickup frame_pen;
+ x5=0uw;
+ letter_ya(1,2,3,4,5,6,7,8,9,10);
+ z11=(x10-3uw, 24uh);
+ z12=(x10+1uw, 28uh);
+ z13=(x10+6uw, 24uh);
+ draw z1..z2{right}..z3{down}..z4{left}..z5{up}..z6{right}..
+ z7{(1,-8)}..z8{right}..z9{up}..z10..z11{up}..z12{right}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+%%%%% end of cillu.mf
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmcoding.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmcoding.mf
new file mode 100644
index 00000000000..c63403bd62f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmcoding.mf
@@ -0,0 +1,290 @@
+% mmcoding.mf -- Font encoding of the fonts with Malayalam TeX
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+if known font_codes_loaded: endinput; else: font_codes_loaded := 1; fi;
+
+% mmvowels.mf
+
+c_anusvara := 2; % U+0D02 malayalam sign anusvara [2]
+c_visarga := 3; % U+0D03 malayalam sign visarga [3]
+c_a := 5; % U+0D05 malayalam letter a [5]
+c_aa := 6; % U+0D06 malayalam letter aa [6]
+c_i := 7; % U+0D07 malayalam letter i [7]
+c_u := 9; % U+0D09 malayalam letter u [9]
+c_vocalic_r := 11; % U+0D0B malayalam letter vocalic r [11]
+c_vocalic_rr := 96; % U+0D60 malayalam letter vocalic rr [96]
+c_vocalic_l := 12; % U+0D0C malayalam letter vocalic l [12]
+c_vocalic_ll := 97; % U+0D61 malayalam letter vocalic ll [97]
+c_e := 14; % U+0D0E malayalam letter e [14]
+c_ee := 15; % U+0D0F malayalam letter ee [15]
+c_o := 18; % U+0D12 malayalam letter o [18]
+c_sign_aa := 62; % U+0D3E malayalam vowel sign aa [62]
+c_sign_i := 63; % U+0D3F malayalam vowel sign i [63]
+c_sign_ii := 64; % U+0D40 malayalam vowel sign ii [64]
+c_sign_u := 65; % U+0D41 malayalam vowel sign u [65]
+c_sign_uu := 66; % U+0D42 malayalam vowel sign uu [66]
+c_ref_sign_u := 72; % reformed script vowel sign u [72]
+c_ref_sign_uu := 73; % reformed script vowel sign uu [73]
+c_sign_vocalic_r := 67; % U+0D43 malayalam vowel sign vocalic r [67]
+c_ref_sign_vocalic_r := 75; % reformed script vowel sign vocalic r [75]
+c_sign_vocalic_rr := 68; % U+0D44 malayalam vowel sign vocalic rr [68]
+c_sign_e := 70; % U+0D46 malayalam vowel sign e [70]
+c_sign_ee := 71; % U+0D47 malayalam vowel sign ee [71]
+c_au_length_mark := 87; % U+0D57 malayalam au length mark [87]
+c_virama := 77; % U+0D4D malayalam sign virama [77]
+
+% mmcons.mf
+
+c_ka := 21; % U+0D15 malayalam letter ka [21]
+c_kha := 22; % U+0D16 malayalam letter kha [22]
+c_ga := 23; % U+0D17 malayalam letter ga [23]
+c_gha := 24; % U+0D18 malayalam letter gha [24]
+c_nga := 25; % U+0D19 malayalam letter nga [25]
+c_ca := 26; % U+0D1A malayalam letter ca [26]
+c_cha := 27; % U+0D1B malayalam letter cha [27]
+c_ja := 28; % U+0D1C malayalam letter ja [28]
+c_jha := 29; % U+0D1D malayalam letter jha [29]
+c_nya := 30; % U+0D1E malayalam letter nya [30]
+c_tta := 31; % U+0D1F malayalam letter tta [31]
+c_ttha := 32; % U+0D20 malayalam letter ttha [32]
+c_dda := 33; % U+0D21 malayalam letter dda [33]
+c_ddha := 34; % U+0D22 malayalam letter ddha [34]
+c_nna := 35; % U+0D23 malayalam letter nna [35]
+c_ta := 36; % U+0D24 malayalam letter ta [36]
+c_tha := 37; % U+0D25 malayalam letter tha [37]
+c_da := 38; % U+0D26 malayalam letter da [38]
+c_dha := 39; % U+0D27 malayalam letter dha [39]
+c_na := 40; % U+0D28 malayalam letter na [40]
+c_pa := 42; % U+0D2A malayalam letter pa [42]
+c_pha := 43; % U+0D2B malayalam letter pha [43]
+c_ba := 44; % U+0D2C malayalam letter ba [44]
+c_bha := 45; % U+0D2D malayalam letter bha [45]
+c_ma := 46; % U+0D2E malayalam letter ma [46]
+c_ya := 47; % U+0D2F malayalam letter ya [47]
+c_ra := 48; % U+0D30 malayalam letter ra [48]
+c_rra := 49; % U+0D31 malayalam letter rra [49]
+c_la := 50; % U+0D32 malayalam letter la [50]
+c_lla := 51; % U+0D33 malayalam letter lla [51]
+c_llla := 52; % U+0D34 malayalam letter llla [52]
+c_va := 53; % U+0D35 malayalam letter va [53]
+c_sha := 54; % U+0D36 malayalam letter sha [54]
+c_ssa := 55; % U+0D37 malayalam letter ssa [55]
+c_sa := 56; % U+0D38 malayalam letter sa [56]
+c_ha := 57; % U+0D39 malayalam letter ha [57]
+
+% mmscons.mf
+
+c_g_ga := 240; % g+ga [240]
+c_nn_nna := 241; % nn+nna [241]
+c_p_pa := 242; % p+pa [242]
+c_rr_rra := 243; % rr+rra [243]
+c_sh_sha := 244; % sh+sha [244]
+c_s_sa := 245; % s+sa [245]
+c_dd_dda := 246; % dd+dda [246]
+c_c_ca := 247; % c+ca [247]
+c_b_ba := 248; % b+ba [248]
+c_y_ya := 249; % y+ya [249]
+c_v_va := 250; % v+va [250]
+
+% mmsec.mf
+
+c_sec_ka := 112; % secondary ka [112]
+c_sec_k_ka := 115; % secondary k+ka [115]
+c_sec_ya := 83; % secondary ya [83]
+c_sec_ya_os := 92; % secondary ya (old style) [92]
+c_sec_ya_deep := 120; % secondary ya (old style, deep version) [120]
+c_sec_ya_deeper := 121; % secondary ya (old style, deeper version) [121]
+c_sec_ya_deepest := 122; % secondary ya (old style, deepest version) [122]
+c_reepham := 76; % reepham [76]
+c_sec_ra_narrow := 123; % secondary ra (narrow version) [123]
+c_sec_ra := 84; % secondary ra [84]
+c_sec_ra_wide := 124; % secondary ra (wide version) [124]
+c_sec_ra_wider := 125; % secondary ra (wider version) [125]
+c_sec_ra_even_wider := 126; % secondary ra (even wider version) [126]
+c_sec_ra_widest :=127; % secondary ra (widest version) [127]
+c_ref_sec_ra := 74; % reformed script secondary ra [74]
+c_sec_la := 85; % secondary la [85]
+c_sec_va := 86; % secondary va [86]
+c_sec_va_sub := 93; % secondary va (subscribed version) [93]
+c_sec_tha := 88; % secondary tha [88]
+c_sub_triangle := 89; % subscribed triangle for double letters [89]
+c_sec_ssa := 90; % secondary ssa [90]
+
+% mmcillu.mf
+
+c_nn_virama := 78; % nn+virama [78]
+c_n_virama := 79; % n+virama [79]
+c_r_virama := 80; % r+virama [80]
+c_l_virama := 81; % l+virama [81]
+c_ll_virama := 82; % ll+virama [82]
+c_var_ll_virama := 91; % variant ll+virama [91]
+c_k_virama := 94; % k+virama [94]
+c_y_virama := 95; % y+virama [95]
+
+% mmconj.mf
+
+c_k_ka := 160; % k+ka [160]
+c_k_ta := 176; % k+ta [176]
+c_k_ssa := 251; % k+ssa [251]
+c_g_gha := 218; % g+gha [218]
+c_g_da := 177; % g+da [177]
+c_g_d_dha := 178; % g+d+dha [178]
+c_g_na := 179; % g+na [179]
+c_g_ma := 180; % g+ma [180]
+c_ng_nga := 161; % ng+nga [161]
+c_ng_ka := 181; % ng+ka [181]
+c_var_c_ca := 225; % variant c+ca [225]
+c_var_c_cha := 226; % variant c+cha [226]
+c_j_ja := 162; % j+ja [162]
+c_j_jha := 227; % j+jha [227]
+c_j_nya := 184; % j+nya [184]
+c_ny_ca := 185; % ny+ca [185]
+c_ny_cha := 228; % ny+cha [228]
+c_ny_nya := 163; % ny+nya [163]
+c_ny_ja := 186; % ny+ja [186]
+c_tt_tta := 164; % tt+tta [164]
+c_nn_tta := 187; % nn+tta [187]
+c_nn_dda := 188; % nn+dda [188]
+c_nn_ddha := 217; % nn+ddha [217]
+c_nn_ka := 189; % nn+ka [189]
+c_t_ta := 165; % t+ta [165]
+c_t_na := 191; % t+na [191]
+c_t_bha := 229; % t+bha [229]
+c_t_ma := 190; % t+ma [190]
+c_t_sa := 221; % t+sa [221]
+c_d_da := 166; % d+da [166]
+c_d_dha := 192; % d+dha [192]
+c_n_ta := 194; % n+ta [194]
+c_n_da := 195; % n+da [195]
+c_n_dha := 219; % n+dha [219]
+c_n_na := 167; % n+na [167]
+c_n_ma := 193; % n+ma [193]
+c_bh_dha := 196; % bh+dha [196]
+c_m_pa := 220; % m+pa [220]
+c_sh_ca := 197; % sh+ca [197]
+c_h_na := 199; % h+na [199]
+c_h_ma := 198; % h+ma [198]
+
+% mmrconj.mf
+
+c_k_ra := 200; % k+ra [200]
+c_k_k_ra := 213; % k+k+ra [213]
+c_g_ra := 201; % g+ra [201]
+c_ch_ra := 202; % ch+ra [202]
+c_j_ra := 203; % j+ra [203]
+c_tt_ra := 204; % tt+ra [204]
+c_t_t_ra := 214; % t+t+ra [214]
+c_t_ra := 205; % t+ra [205]
+c_d_ra := 206; % d+ra [206]
+c_dh_ra := 207; % dh+ra [207]
+c_n_t_ra := 215; % n+t+ra [215]
+c_n_d_ra := 216; % n+d+ra [216]
+c_n_ra := 208; % n+ra [208]
+c_bh_ra := 209; % bh+ra [209]
+c_sh_ra := 210; % sh+ra [210]
+c_s_ra := 211; % s+ra [211]
+c_h_ra := 212; % h+ra [212]
+
+% mmcvconj.mf
+
+c_ku := 128; % ku [128]
+c_kuu := 139; % kuu [139]
+c_var_kuu := 224; % old variant kuu [224]
+c_sec_ku := 113; % secondary ku [113]
+c_sec_kuu := 114; % secondary kuu [114]
+c_kr := 150; % kr [150]
+c_k_ku := 168; % k+ku [168]
+c_sec_k_ku := 116; % secondary k+ku [116]
+c_k_kuu := 169; % k+kuu [169]
+c_sec_k_kuu := 117; % secondary k+kuu [117]
+c_gu := 129; % gu [129]
+c_guu := 140; % guu [140]
+c_gr := 151; % gr [151]
+c_ng_ku := 182; % ng+ku [182]
+c_ng_kuu := 183; % ng+kuu [183]
+c_chu := 130; % chu [130]
+c_chuu := 141; % chuu [141]
+c_ju := 131; % ju [131]
+c_juu := 142; % juu [142]
+c_j_ju := 170; % j+ju [170]
+c_j_juu := 171; % j+juu [171]
+c_nnu := 132; % nnu [132]
+c_nnuu := 143; % nnuu [143]
+c_tu := 133; % tu [133]
+c_tuu := 144; % tuu [144]
+c_tr := 152; % tr [152]
+c_t_tu := 172; % t+tu [172]
+c_t_tuu := 173; % t+tuu [173]
+c_dr := 153; % dr [153]
+c_dhr := 154; % dhr [154]
+c_nu := 134; % nu [134]
+c_nuu := 145; % nuu [145]
+c_nr := 155; % nr [155]
+c_n_tu := 222; % n+tu [222]
+c_n_tuu := 223; % n+tuu [223]
+c_n_nu := 174; % n+nu [174]
+c_n_nuu := 175; % n+nuu [175]
+c_bhu := 135; % bhu [135]
+c_bhuu := 146; % bhuu [146]
+c_bhr := 156; % bhr [156]
+c_ru := 136; % ru [136]
+c_ruu := 147; % ruu [147]
+c_shu := 137; % shu [137]
+c_shuu := 148; % shuu [148]
+c_shr := 157; % shr [157]
+c_sr := 158; % sr [158]
+c_hu := 138; % hu [138]
+c_huu := 149; % huu [149]
+c_hr := 159; % hr [159]
+
+% mmnums.mf
+
+c_mal_quarter :=101; % malayalam sign for one quarter [101]
+c_mal_zero := 102; % U+0D66 malayalam digit zero [102]
+c_mal_one := 103; % U+0D67 malayalam digit one [103]
+c_mal_two := 104; % U+0D68 malayalam digit two [104]
+c_mal_three := 105; % U+0D69 malayalam digit three [105]
+c_mal_four := 106; % U+0D6A malayalam digit four [106]
+c_mal_five := 107; % U+0D6B malayalam digit five [107]
+c_mal_six := 108; % U+0D6C malayalam digit six [108]
+c_mal_seven := 109; % U+0D6D malayalam digit seven [109]
+c_mal_eight := 110; % U+0D6E malayalam digit eight [110]
+c_mal_nine := 111; % U+0D6F malayalam digit nine [111]
+
+% mmlnums.mf
+
+c_zero := 230; % U+0030 digit zero [230]
+c_one := 231; % U+0031 digit one [231]
+c_two := 232; % U+0032 digit two [232]
+c_three := 233; % U+0033 digit three [233]
+c_four := 234; % U+0034 digit four [234]
+c_five := 235; % U+0035 digit five [235]
+c_six := 236; % U+0036 digit six [236]
+c_seven := 237; % U+0037 digit seven [237]
+c_eight := 238; % U+0038 digit eight [238]
+c_nine := 239; % U+0039 digit nine [239]
+
+% mmpunct.mf
+
+c_hyphen := 69; % U+2010 hyphen [69]
+c_en_dash := 98; % U+2013 en-dash [98]
+c_em_dash := 99; % U+2014 em-dash [99]
+c_comma := 58; % U+002C comma [58]
+c_period := 59; % U+002E period [59]
+c_semicolon := 60; % U+003B semicolon [60]
+c_colon := 61; % U+003A colon [61]
+c_open_quote := 19; % U+2018 single turned comma quotation mark [19]
+c_close_quote := 20; % U+2019 single comma quotation mark [20]
+c_open_paren := 16; % U+0028 opening parenthesis [16]
+c_close_paren := 17; % U+0029 closing parenthesis [17]
+c_slash := 4; % U+002F slash [4]
+c_open_bracket := 8; % U+005B opening square bracket [8]
+c_close_bracket := 10; % U+005D closing square bracket [10]
+c_question_mark := 41; % U+003F question mark [41]
+c_exlamation_mark := 13; % U+0021 exclamation mark [13]
+c_dotted_circle := 0; % U+25CC dotted circle [0]
+c_white_square := 1; % U+25A1 white square [1]
+c_star := 255; % ornamental star [255]
+
+% end of mmcoding.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmconj.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmconj.mf
new file mode 100644
index 00000000000..efcbb2b6eab
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmconj.mf
@@ -0,0 +1,752 @@
+% mmconj.mf -- malayalam conjuncts
+% (c) 1993 Jeroen Hellingman
+% last edit: 22-JAN-1993
+
+%%%%% ka related glyphs
+
+if unknown subfont:
+beginchar(c_k_ka,47uw#+rm#,20uh#,0); "k+ka";
+ pickup frame_pen;
+ x6 = 0;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8..
+ z9{down}..z10{left}..z11{up}..z12{right}..z13{down}..z14;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_k_ta,60uw#+rm#,20uh#,0); "k+ta";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ z8=(x8'-2uw, y8');
+ z9=(x9'-2uw, y9');
+ z10=(x9, 0);
+ x12=x9;
+ letter_ta(11,12,13,14,15,16,17,18,19);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}---z10;
+ draw z10---z12{up}..z13{right}..z14{down}..z15{left}..z16{up}..
+ z17{right}..z18{down}..z19;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_k_ssa,57uw#+rm#,20uh#,0); "k+ssa";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8,9',10',11');
+ z9=(x9', .5[y8,y10]);
+ z10=(x10', y12);
+ z11=(x11', y12);
+ z12=(57uw, .5uh);
+ end_ssa(12,13,14,15,16,17,18);
+ draw z11--z12;
+ draw_end_ssa(12,13,14,15,16,17,18);
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left};
+ penlabels(range 1 thru 18, 4');
+endchar;
+fi;
+
+%%%%%% ga related glyphs
+
+beginchar(c_g_gha,58uw#+rm#,20uh#,0); "g+gha";
+ pickup frame_pen;
+ path ga_path;
+ % little ga
+ x2=0;
+ letter_ga(1,2,3,4,5,6,7); % size: 20uh x 32uw
+ ga_path = z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7;
+ ga_path := ga_path scaled 12/20 shifted (0, 8uh);
+ z8 = z7 scaled 12/20 shifted (0, 8uh);
+ z9 = (x8+3uw, y8+.5uh);
+ x11=44uw;
+ letter_la(10,11,12,13,14,15);
+
+ draw ga_path;
+ draw z8..z9---z11;
+ draw z11{up}..z12{left}..z10{down}---z13--z14--z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_g_da,33uw#+rm#,20uh#,0); "g+da";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5,6',7');
+ letter_da(3',4',5,6,7,8,9,10,11);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..
+ z7{left}---z8;
+ draw z7{right}..z9{down}..z10{left}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_g_d_dha,57uw#+rm#,20uh#,0); "g+d+dha";
+ pickup frame_pen;
+ x2a=0;
+ letter_ga(1a,2a,3a,4a,5a,6a,7a);
+ x5a=x3;
+ letter_da(1,2,3,4',5',6',7',8',9');
+ z4=(x4', .5[y3,y6]);
+ z5=(x5', 12uh);
+ z6=(x6', y5);
+ z7=(x7', .5[y6,y8]);
+ z8=(x8', 4uh);
+ z9a=(x9 + 2uw, y8);
+ z9=(x9', .5[y8,y10]);
+ z9b=(x9a, y10);
+ z10=(.5[x9,x11], 0);
+ x11=26uw+15uw;
+ letter_dha(10',11',12',11,12,13,14,15);
+
+ draw z1a..z2a{down}..z3a{right}..z4a{up}..z3{right}...z4{down}...
+ {left}z5---z6;
+ draw z6---z5{right}...z7{down}...z8{left}...
+ z9a{left}...z9{down}...z9b{right}...
+ z10{right}..z11{up}---z12;
+ draw z11{down}..z13{right}..z14{up}..z15;
+ penlabels(1a,2a,3a,4a,5a,3,4,5,6,7,8,9,9a,9b,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_g_na,48uw#+rm#,20uh#,0); "g+na";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5,6',7');
+ letter_na(3',4',5,6,7,8,9,10);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}---z7;
+ draw z6{up}..z8{right}..z9{down}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_g_ma,36uw#+rm#,20uh#,0); "g+ma";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5',6',7');
+ x5=x4;
+ letter_ma(5,6,7,8,9,10,11,12);
+
+ draw z1..z2{down}..z3{right}..z4{up};
+ draw_letter_ma(5,6,7,8,9,10,11,12);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+%%%%%% nga related glyphs
+
+beginchar(c_ng_nga,50uw#+rm#,ht#,0); "ng+nga";
+ pickup frame_pen;
+ % first bow
+ front_eye(1,2,3,4,5);
+ z5=(0, 10uh);
+ z6=(12.5uw, 20uh);
+ z7=(x8+5uw, 8uh);
+ z8=(21uw, 0);
+ % second bow
+ z9=(x8-5uw, 8uh);
+ z10=(25.5uw, 20uh);
+ z11=(x17-17uw, 10uh);
+ z12=(x11, 0);
+ % three-like shape, from "nga"
+ z13=(x17-8uw, 20uh);
+ z14=(x17-1uw, 15uh);
+ z15=(x17-6uw, 10uh);
+ z16=(x17-10uw, y15);
+ z17=(50uw, 5/20h);
+ z18=(x17-6uw, 0);
+ z19=(x17-10uw, 1uh);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}..z8{left}..
+ z9{up}..z10{right}..z11{down}---z12;
+ draw z12---z11{up}..z13{right}..z14{down}..z15{left}---z16;
+ draw z16---z15{right}..z17{down}..z18{left}..z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar(c_ng_ka,32uw#+rm#,20uh#,0); "ng+ka";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8,9,10,11);
+
+ % top left eye for "nga"
+ z19=(11uw, 16uh);
+ z20=(5uw, y2);
+ z21=(0.5uw, 15.5uh);
+ draw z19..z20{left}..z21{down}..z7{right};
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,19,20,21);
+endchar;
+
+%%%%%% ca related glyphs
+
+if unknown newfont:
+beginchar(c_var_c_ca,49uw#+rm#,20uh#,0); "variant c+ca";
+ pickup frame_pen;
+ % first bow
+ z10=(0, .5uh);
+ z11=(4uw, 6uh);
+ z12=(4uw, 7uh);
+ z13=(10.5uw, 14uh);
+ x1=17uw;
+ letter_ca(1,2,3,4,5,6,7,8);
+ draw z11..z12{up}..z13{right}..z2{down};
+ draw z2{up}..z3{right}..z4{down}..z5{left};
+ draw z10--z7--z8;
+ penlabels(1,2,3,4,5,6,7,8,10,11,12,13);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_var_c_cha,59uw#+rm#,20uh#,0); "variant c+cha";
+ pickup frame_pen;
+ % first bow
+ z20=(0, .5uh);
+ z21=(4uw, 6uh);
+ z22=(4uw, 7uh);
+ z23=(10.5uw, 14uh);
+ x1=17uw;
+ letter_cha(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ draw z21..z22{up}..z23{right}..z2{down};
+ draw z2{up}..z3{right}..z4{down}..z5{left};
+ draw z20--z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,21,22,23);
+endchar;
+fi;
+
+%%%%%% ja related glyphs
+
+beginchar(c_j_ja,58uw#+rm#,20uh#,6uh#); "j+ja";
+ pickup frame_pen;
+ x1=0;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15',16',17',18');
+ z14=(24uw, 1uh);
+ x1a=32uw;
+ letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z1a{up};
+
+ draw_eye(1a,2a,3a,4a);
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a..z12a{down}..
+ z13a{right}..z14a..{right}z16a;
+ draw_eye(15a,16a,17a,18a);
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+endchar;
+
+beginchar(c_j_jha,81uw#+rm#,20uh#,6uh#); "j+jha";
+ pickup frame_pen;
+ x1=0;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ x18'=x17-2uw;
+ letter_jha(17',18',19,20,21,22,23,24,25,26,27,28,29,30);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..{right}z16;
+ draw_eye(15,16,17,18);
+
+ draw z10..z19{right}..z20{down}..z21{left}..z22{up}..z23{right}..
+ z24{down}..z25{right}..z26{up}---z27;
+ draw z26{down}..z28{right}..z29{up}..z30;
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30);
+endchar;
+
+beginchar(c_j_nya,77uw#+rm#,20uh#,6uh#); "j+nya";
+ pickup frame_pen;
+ x1 = 0uw;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15,16,17,18);
+ z14=(25uw, 3uh);
+
+ x1a=32uw;
+ letter_nya(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a);
+
+ draw_eye(1a,2a,3a,4a);
+ draw z4a{left}..z5a{up}..z6a{right}..z7a{down}---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a{left}..z12a{up}..
+ z13a{right}..z14a{down}..z15a;
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..{right}z2a;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+%%%%%% nya related glyphs
+
+beginchar(c_ny_ca,60uw#+rm#,20uh#,0); "ny+ca";
+ % link eye is almost same as in "sh+ca"
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=z9'+(2uw, 0);
+ z10=z10'+(2uw, 1uh);
+ z12=(.5[x10,x13], 5uh);
+ z13=z10-(8uw, 0);
+ z14=(x13+9uw, 20uh);
+ z15=(x14+9uw, 10uh);
+ x17=24uw;
+ letter_ca(12',13',14',15',16,17,18,19);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left};
+ draw z17--z18 & z18--z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar(c_ny_cha,72uw#+rm#,20uh#,0); "ny+cha";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=z9'+(2uw, 0);
+ z10=z10'+(2uw, 1uh);
+ z12=(.5[x10,x13], 5uh);
+ z13=z10-(8uw, 0);
+ z14=(x13+9uw, 20uh);
+ z15=(x14+9uw, 10uh);
+ x17=26uw;
+ letter_cha(12',13',14',15',16',17,18,19,20,21,22,23,24,25);
+ z16=(x16'-2uw, y16');
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left};
+ draw z17--z18..z19;
+ draw z19..z20{up}..z21{right}..z22{down}..z23{left}..z24{up}..z25;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25);
+endchar;
+
+beginchar(c_ny_nya,72uw#+rm#,ht#,0); "ny+nya";
+ pickup frame_pen;
+ x5 = 0;
+ letter_nya(1,2,3,4,5,6,7,8,9,10,11,12,13',14',15');
+ z13=z13' - (1uw, 0);
+ z14=z14' - (2uw, 0);
+ z15=(x14, .5uh);
+ x15a = x14 - 2uw;
+ letter_ta(14a,15a,16',17,18,19,20,21,22);
+ z16=z16' + (1uw, 0);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}..z12{up}..
+ z13{right}..z14{down}--z15;
+ draw z14{up}..z16{right}..z17{down}..z18{left}..z19{up}..
+ z20{right}..z21{down}..z22;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+beginchar(c_ny_ja,52uw#+rm#,20uh#,6uh#); "ny+ja";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10',11');
+ z10=z9+(4uw, -2uh);
+ x1a=26uw;
+ letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10;
+
+ draw_eye(1a,2a,3a,4a);
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a..z12a{down}..
+ z13a{right}..z14a..{right}z16a;
+ draw_eye(15a,16a,17a,18a);
+
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+endchar;
+
+%%%%%% tta related glyphs
+
+beginchar(c_tt_tta,18uw#+rm#,20uh#,10uh#); "tt+tta";
+ wd := 18uw;
+ pickup frame_pen;
+ z1=(18uw, h-2uh);
+ z2=(1/2wd, h);
+ z3=(0, 15uh);
+ z4=(1/2wd,10uh);
+ z5=(wd, 5uh);
+ z6=(1/2wd, 0);
+ z7=(0uw, 0);
+ % different from tta
+ z8=(wd, -5uh);
+ z9=(1/2wd, -10uh);
+ z10=(0, -8uh);
+
+ draw z1..z2{left}..z3{down}..z4{4,1}..z5{down}..z6{left}..z7;
+ draw z6{right}..z8{down}..z9{left}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+%%%%%% nna related glyphs
+
+beginchar(c_nn_tta,52uw#+rm#,20uh#,0); "nn+tta";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10,11a);
+ z11=(x10, 0);
+ x11'=x11;
+ letter_bha(10',11',12,13,14,15,16,17,18,19,20,21);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}---z11;
+ draw z10{up}..z12{right}..z13{down}..z14..z15..z16{down}..z17..
+ z18..z19{down}..z20{left}..z21;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);
+endchar;
+
+beginchar(c_nn_dda,76uw#+rm#,20uh#,0); "nn+dda";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10,11a);
+ z11=(x10, 0);
+ x11'=x11;
+ letter_dda(10',11',12,13,14,15,16,17,18,19);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}---z11;
+ draw z10{up}..z12{right}..z13{down}..z14{right}..z15{up}---z16;
+ draw z15{down}..z17{right}..z18{up}..z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar(c_nn_ddha,76uw#+rm#,20uh#,0); "nn+ddha";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10,11a);
+ z11=(x10, 0);
+ x11'=x11;
+ letter_dda(10',11',12,13,14,15,16,17,18,19');
+ upside_down_end_loop(18,19,20,21);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}---z11;
+ draw z10{up}..z12{right}..z13{down}..z14{right}..z15{up}---z16;
+ draw z15{down}..z17{right}..z18{up}..z19{left}..z20{down}..z21;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+beginchar(c_nn_ka,54uw#+rm#,20uh#,0); "nn+ka";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10',11');
+ x10=x10';
+ letter_ka(10,11,12,13,13',14,15,16,17,18,19,20);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down};
+ draw_eye(10,11,12,13);
+ draw z13'..z14{left}..z15{up}..z16{right}---z17{right}..
+ z18{down}..z19{left}..z20;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,13',14,15,16,17,18,19,20);
+endchar;
+
+%%%%%% ta related glyphs
+
+beginchar(c_t_ta,56uw#+rm#,ht#,0); "t+ta";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7=z7'-(1uw, 0);
+ z8=z8'-(2uw, 0);
+ z9=(x8,.5uh);
+ x9a = x8-2uw;
+ letter_ta(8a,9a,10',11,12,13,14,15,16);
+ z10=z10' + (1uw, 0);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}---z9;
+ draw z9---z8{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(c_t_na,44uw#+rm#,20uh#,0); "t+na";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7a,8',9');
+ z7=(.5[x7a,x7b], y7a);
+ x8=x8'-2uw;
+ letter_na(5',6',7b,8,9,10,11,12);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}--z9;
+ draw z8{up}..z10{right}..z11{down}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_t_bha,50uw#+rm#,ht#,0); "t+bha";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7,8,9);
+ x12=x8;
+ letter_bha(11',12,13,14,15,16,17,18,19,20,21,22);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9;
+ draw z12{up}..z13{right}..z14{down}..z15..z16..z17{down}..
+ z18..z19..z20{down}..z21{left}..z22;
+ penlabels(1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+beginchar(c_t_ma,48uw#+rm#,ht#,0); "t+ma";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7=(x7'-1uw, y7');
+ x8=x8'-2uw;
+ letter_ma(8,9,10,11,12,13,14,15);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z12{down};
+ draw_letter_ma(8,9,10,11,12,13,14,15);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_t_sa,56uw#+rm#,20uh#,0); "t+sa";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7a,8',9');
+ z7=(.5[x7a,x7b], y7a);
+ x8=x8'-2uw;
+ letter_sa(5',6',7b,8,9,10,11,12,13,14);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}--z9;
+ draw z8{up}..z10{right}..z11{down}..z12{right}..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+%%%%%% da related glyphs
+
+beginchar(c_d_da,18uw#+rm#,20uh#,10uh#); "d+da";
+ pickup frame_pen;
+ x2=0uw;
+ letter_da(1,2,3,4,5,6,7,8,9');
+ z9=(7uw, 0uh);
+ z10=(18uw, -5uh);
+ z11=(12uw, -10uh);
+ z12=(0uw, -8uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..{left}z5---z6;
+ draw z6---z5{right}..z7{down}..z8{left}..z9;
+ draw z8{right}..z10{down}..z11{left}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_d_dha,42uw#+rm#,20uh#,0); "d+dha";
+ pickup frame_pen;
+ x2=0;
+ letter_da(1,2,3,4',5',6',7',8',9');
+ z4=(x4', .5[y3,y6]);
+ z5=(x5', 12uh);
+ z6=(x6', y5);
+ z7=(x7', .5[y6,y8]);
+ z8=(x8', 4uh);
+ z9a=(x9 + 2uw, y8);
+ z9=(x9', .5[y8,y10]);
+ z9b=(x9a, y10);
+ z10=(.5[x9,x11], 0);
+ x11=26uw;
+ letter_dha(10',11',12',11,12,13,14,15);
+
+ draw z1..z2{up}..z3{right}...z4{down}...{left}z5---z6;
+ draw z6---z5{right}...z7{down}...z8{left}...
+ z9a{left}...z9{down}...z9b{right}...
+ z10{right}..z11{up}---z12;
+ draw z11{down}..z13{right}..z14{up}..z15;
+ penlabels(1,2,3,4,5,6,7,8,9,9a,9b,10,11,12,13,14,15);
+endchar;
+
+%%%%%% dha related glyphs
+
+%%%%%% na related glyphs
+
+beginchar(c_n_ta,44uw#+rm#,20uh#,0); "n+ta";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6a,7',8');
+ z6=(.5[x6a,x6b], y6a);
+ x5'=x5-2uw;
+ letter_ta(4',5',6b,7,8,9,10,11,12);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..z10{right}..
+ z11{down}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_n_da,33uw#+rm#,20uh#,0); "n+da";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7',8');
+ letter_da(4',5',6,7,8,9,10,11,12);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}---z9;
+ draw z8{right}..z10{down}..z11{left}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_n_dha,60uw#+rm#,20uh#,0); "n+dha";
+ pickup frame_pen;
+ x2=0;
+ letter_sa(1,2,3,4,5,6,7,8',9',10');
+ x7' = x7 - 2uw;
+ z8 = (.5[x7,x9], 0);
+ letter_dha(6',7',8a,9,10,11,12,13);
+
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{right}..z9{up}---z10;
+ draw z9{down}..z11{right}..z12{up}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_n_na,48uw#+rm#,20uh#,0); "n+na";
+ pickup frame_pen;
+ x2=0;
+ letter_n_na(1,2,3,4,5,6,7,8,9,10,11);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z5---z4{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_n_ma,36uw#+rm#,20uh#,0); "n+ma";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5',6',7',8');
+ x5=x4;
+ letter_ma(5,6,7,8,9,10,11,12);
+
+ draw z1..z2{up}..z3{right}..z4{down};
+ draw_letter_ma(5,6,7,8,9,10,11,12);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+%%%%%% bha related glyphs
+
+beginchar(c_bh_dha,44uw#+rm#,20uh#,0); "bh+dha";
+ pickup frame_pen;
+ z1=(2uw, 0);
+ z2=(0, 10uh);
+ z3=(11uw, 20uh);
+ z4=(19uw, .5[y3,y5]);
+ z5=(x4-2uw, y4-2uh);
+ z6=(x7+2uw, y7+2uh);
+ z7=(6uw, 12.5uh);
+ z8=(x7+2uw, y7-2uh);
+ z9=(x10-2uw, y10+2uh);
+ z10=(20uw, 7.5uh);
+ z11=(14uw, 4.5uh);
+ z12=(6uw, .5[y11,y13]);
+ z13=(.5[x12,x14], 0);
+ x14=28uw;
+ letter_dha(13',14',15',14,15,16,17,18);
+
+ draw z1..z2{up}..z3{right}...z4{down}..z5..z6..z7{down}..
+ z8..z9..z10{down}..z11{left}..z12{down}...z13{right}..
+ z14{up}---z15;
+ draw z14{down}..z16{right}..z17{up}..z18;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+%%%%%% ma related glyphs
+
+beginchar(c_m_pa,46uw#+rm#,20uh#,0); "m+pa";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7,8);
+ z9=z8+(3uw, .5uh);
+ z10=(x7+14uw, y9);
+ z11=(x10, 19.5uh);
+ draw_letter_na(1,2,3,4,5,6,7,8);
+ draw z8..z9---z10 & z10--z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+%%%%%% sha related glyphs
+
+beginchar(c_sh_ca,58uw#+rm#,ht#,0); "sh+ca";
+ % link eye is almost same as in "ny+ca"
+ pickup frame_pen;
+ x2=0;
+ letter_sha(1,2,3,4,5,6',7',8',9');
+ z6=z6'+(0, 1uh);
+ z10=(.5[x6,x11], 5uh);
+ z11=z6-(8uw, 0);
+ z12=(x11+9uw, 20uh);
+ z13=(x12+9uw, 10uh);
+ x15=22uw;
+ letter_ca(10',11',12',13',14,15,16,17);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14{left};
+ draw z15--z16 & z16--z17;
+ penlabels(1,2,3,4,5,6,10,11,12,13,14,15,16,17);
+endchar;
+
+%%%%%% sa related glyphs
+
+%%%%%% ha related glyphs
+
+beginchar(c_h_na,56uw#+rm#,20uh#,0); "h+na";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ z6=(x5+3uw, .5uh);
+ z7'=(x7-3uw, .5uh);
+ x8=24uw;
+ letter_na(7,8,9,10,11,12,13,14);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7'..z7;
+ draw_letter_na(7,8,9,10,11,12,13,14);
+ penlabels(1,2,3,4,5,6,7,7',8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_h_ma,44uw#+rm#,20uh#,0); "h+ma";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ z6=(x5+3uw, .5uh);
+ x7=24uw;
+ letter_ma(7,8,9,10,11,12,13,14);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7;
+ draw_letter_ma(7,8,9,10,11,12,13,14);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+%%%%%% end of mmconj.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmcons.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmcons.mf
new file mode 100644
index 00000000000..742f46b0bff
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmcons.mf
@@ -0,0 +1,443 @@
+% mmcons.mf -- malayalam consonants
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+if unknown subfont:
+beginchar(c_ka,32uw#+rm#,20uh#,0); "U+0D15 malayalam letter ka";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8,9,10,11);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11);
+endchar;
+fi;
+
+beginchar(c_kha,34uw#+rm#,ht#,0); "U+0D16 malayalam letter kha";
+ pickup frame_pen;
+ front_eye(1,2,3,4,5);
+ % bow
+ z5=(0, 1/2h);
+ z6=(10uw, h);
+ z7=(20uw, 1/2h);
+ z8=(16uw, 0);
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}..z8;
+ % end hook
+ z9=(x8+3uw, 1/40h);
+ z10=(34uw, y9);
+ z11=(x10, 19.5uh);
+ draw z8..z9---z10 & z10---z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_ga,32uw#+rm#,20uh#,0); "U+0D17 malayalam letter ga";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5,6,7);
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_gha,51uw#+rm#,20uh#,0); "U+0D18 malayalam letter gha";
+ pickup frame_pen;
+ % first little bow (diameter = 12)
+ z1=(3uw, 8uh);
+ z2=(0, 14uh);
+ z3=(6uw, 20uh);
+ z4=(12uw, 14uh);
+ z5=(9uw, 8uh);
+ z6=(x5+3uw, y5+.5uh);
+ x8=37uw;
+ letter_la(7,8,9,10,11,12);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z8;
+ draw z8{up}..z9{left}..z7{down}---z10--z11--z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_nga,34uw#+rm#,ht#,0); "U+0D19 malayalam letter nga";
+ pickup frame_pen;
+ % from "malayalam letter i" (z1..z9)
+ % eye
+ z1=(1uw, 6/20h);
+ z2=(6uw, 12/20h);
+ z3=(11uw, y1);
+ z4=(x2, 0);
+ % first bow
+ z5=(0, 1/2h);
+ z6=(9uw, h);
+ z7=(17uw, 1/2h);
+ z8=(x7, 0);
+ % different from "malayalam letter i"
+ % second bow
+ z9=(26uw, h);
+ z10=(33uw, 15/20h);
+ % three-like shape
+ z11=(28uw, 10/20h);
+ z12=(24uw, y11);
+ z13=(34uw, 5/20h);
+ z14=(28uw, 0);
+ z15=(24uw, 1/20h);
+ draw z1{up}..z2{right}..z3{down}..z4{left}..cycle;
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..{left}z11---z12;
+ draw z12--z11{right}..z13{down}..z14{left}..z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_ca,36uw#+rm#,20uh#,0); "U+0D1A malayalam letter ca";
+ pickup frame_pen;
+ x6=0;
+ letter_ca(1,2,3,4,5,6,7,8);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left};
+ draw z6--z7--z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_cha,46uw#+rm#,20uh#,0); "U+0D1B malayalam letter cha";
+ pickup frame_pen;
+ x6=0;
+ letter_cha(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left};
+ draw z6--z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_ja,26uw#+rm#,20uh#,6uh#); "U+0D1C malayalam letter ja";
+ pickup frame_pen;
+ x1 = 0uw;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..{right}z16;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar(c_jha,58uw#+rm#,ht#,0); "U+0D1D malayalam letter jha";
+ pickup frame_pen;
+ x2=0uw;
+ letter_jha(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..z7{right}..
+ z8{down}..z9{right}..z10{up}---z11;
+ draw z10{down}..z12{right}..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_nya,46uw#+rm#,ht#,0); "U+0D1E malayalam letter nya";
+ pickup frame_pen;
+ x5 = 0;
+ letter_nya(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}..z12{up}..
+ z13{right}..z14{down}..z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_tta,18uw#+rm#,20uh#,0); "U+0D1F malayalam letter tta";
+ pickup frame_pen;
+ x3=0;
+ letter_tta(1,2,3,4,5,6,7);
+ draw z1..z2{left}..z3{down}..z4{4,1}..z5{down}..z6{left}..z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_ttha,20uw#+rm#,20uh#,0); "U+0D20 malayalam letter ttha";
+ pickup frame_pen;
+ z1=(0,10uh);
+ eye(1,2,3,4)(20uw,20uh);
+ draw_eye(1,2,3,4);
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_dda,44uw#+rm#,20uh#,0); "U+0D21 malayalam letter dda";
+ pickup frame_pen;
+ x2=0;
+ letter_dda(1,2,3,4,5,6,7,8,9,10);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{right}..{up}z6---z7;
+ draw z7---z6{down}..z8{right}..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_ddha,44uw#+rm#,20uh#,0); "U+0D22 malayalam letter ddha";
+ pickup frame_pen;
+ x2=0;
+ letter_dda(1,2,3,4,5,6,7,8,9,10');
+ upside_down_end_loop(9,10,11,12);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{right}..{up}z6---z7;
+ draw z7---z6{down}..z8{right}..z9{up}..z10{left}..z11{down}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_nna,50uw#+rm#,ht#,0); "U+0D23 malayalam letter nna";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=(25uw, 20uh);
+ z10=(33uw, 10uh);
+ z11=(x10, 0);
+ % third bow
+ z12=(41uw, 20uh);
+ z13=(50uw, 10uh);
+ z14=(46uw, 0);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}---z11;
+ draw z11---z10{up}..z12{right}..z13{down}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_ta,30uw#+rm#,ht#,0); "U+0D24 malayalam letter ta";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7,8,9);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(c_tha,32uw#+rm#,ht#,0); "U+0D25 malayalam letter tha";
+ pickup frame_pen;
+ z1=(0, 19.5uh);
+ z2=(0, 1/40h);
+ z3=(32uw, y2);
+ end_tha_bow(3,4,5,6,7);
+ draw z1---z2 & z2--z3;
+ draw_end_tha_bow(3,4,5,6,7);
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_da,18uw#+rm#,20uh#,0); "U+0D26 malayalam letter da";
+ pickup frame_pen;
+ x2=0;
+ letter_da(1,2,3,4,5,6,7,8,9);
+ draw z1..z2{up}..z3{right}..z4{down}..{left}z5---z6;
+ draw z6---z5{right}..z7{down}..z8{left}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(c_dha,32uw#+rm#,20uh#,0); "U+0D27 malayalam letter dha";
+ pickup frame_pen;
+ x2=0;
+ letter_dha(1,2,3,4,5,6,7,8);
+ draw z1..z2{down}..z3{right}..{up}z4---z5;
+ draw z5---z4{down}..z6{right}..z7{up}..z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_na,32uw#+rm#,20uh#,0); "U+0D28 malayalam letter na";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7,8);
+ draw_letter_na(1,2,3,4,5,6,7,8);
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_pa,36uw#+rm#,ht#,0); "U+0D2A malayalam letter pa";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ % end hook
+ z6=(x5+3uw, 1/40h);
+ z7=(36uw, y6);
+ z8=(x7, 19.5uh);
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7 & z7---z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_pha,40uw#+rm#,ht#,0); "U+0D2B malayalam letter pha";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ % end hook
+ z6=(x5+3uw, 1/40h);
+ z7=(40uw, y6);
+ end_tha_bow(7,8,9,10,11);
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7;
+ draw_end_tha_bow(7,8,9,10,11);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_ba,46uw#+rm#,20uh#,0); "U+0D2C malayalam letter ba";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10,11);
+ % end hook
+ z12=(x11+3uw, 0.5uh);
+ z13=(46uw, y12);
+ z14=(x13, 19.5uh);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z11;
+ draw z11..z12---z13---z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_bha,20uw#+rm#,20uh#,0); "U+0D2D malayalam letter bha";
+ pickup frame_pen;
+ x2=0;
+ letter_bha(1,2,3,4,5,6,7,8,9,10,11,12);
+ draw z1..z2{up}..z3{right}..z4{down}..z5..z6..z7{down}..
+ z8..z9..z10{down}..z11{left}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_ma,20uw#+rm#,20uh#,0); "U+0D2E malayalam letter ma";
+ pickup frame_pen;
+ x1=0;
+ letter_ma(1,2,3,4,5,6,7,8);
+ draw_letter_ma(1,2,3,4,5,6,7,8);
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_ya,32uw#+rm#,20uh#,0); "U+0D2F malayalam letter ya";
+ pickup frame_pen;
+ x5=0uw;
+ letter_ya(1,2,3,4,5,6,7,8,9,10);
+ draw z1..z2{right}..z3{down}..z4{left}..z5{up}..z6{right}..
+ z7{(1,-8)}..z8{right}..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+if unknown subfont:
+beginchar(c_ra,20uw#+rm#,20uh#,0); "U+0D30 malayalam letter ra";
+ pickup frame_pen;
+ x2=0;
+ letter_ra(1,2,3,4,5,6,7);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_rra,20uw#+rm#,20uh#,0); "U+0D31 malayalam letter rra";
+ pickup frame_pen;
+ z1=(4uw, 0);
+ z2=(0, 1/2h);
+ z3=(10uw, h);
+ z4=(20uw, 1/2h);
+ z5=(16uw, 0);
+ draw_bow(1,2,3,4,5);
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+beginchar(c_la,32uw#+rm#,20uh#,0); "U+0D32 malayalam letter la";
+ pickup frame_pen;
+ x1=0;
+ letter_la(1,2,3,4,5,6);
+ draw z1---z2{up}..z3{left}..z1{down}---z4--z5--z6;
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+beginchar(c_lla,22uw#+rm#,20uh#,10uh#); "U+0D33 malayalam letter lla";
+ % like "malayalam letter o"
+ pickup frame_pen;
+ front_eye(1,2,3,4,5);
+ % first bow
+ z5=(0, 10uh);
+ z6=(10uw, 20uh);
+ z7=(19uw, 13uh);
+ z8=(15uw, 8uh);
+ z9=(22uw, 3uh);
+ % tail below
+ z10=(14uw, -4uh);
+ z11=(5uw, -4uh);
+ z12=(1uw, -7uh);
+ z13=(5uw, -10uh);
+ z14=(24uw, y13);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}..{left}z8;
+ draw z8{right}..z9{down}..z10..z11{left}..z12{down}..z13{right}---z14;
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_llla,22uw#+rm#,20uh#,0); "U+0D34 malayalam letter llla";
+ pickup frame_pen;
+ z1=(4uw, h);
+ z2=(0, 15uh);
+ z3=(10uw, 8uh);
+ z4=(22uw, 15uh);
+ z5=(17uw, h);
+ z6=(12uw, 15uh);
+ z7=(14uw, 5uh);
+ z8=(8uw, 0);
+ z9=(3uw, 2uh);
+ draw z1..z2{down}..z3..z4{up}..z5{left}..z6..z7..z8{left}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(c_va,34uw#+rm#,ht#,0); "U+0D35 malayalam letter va";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ large_bow(1,2,3,4,5);
+ % end hook
+ z6=(x5+3uw, 0.5uh);
+ z7=(34uw, y6);
+ z8=(x7, 19.5uh);
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7---z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_sha,32uw#+rm#,ht#,0); "U+0D36 malayalam letter sha";
+ pickup frame_pen;
+ x2=0;
+ letter_sha(1,2,3,4,5,6,7,8,9);
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(c_ssa,40uw#+rm#,ht#,0); "U+0D37 malayalam letter ssa";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ z6=(x5+3uw, 1/40h);
+ z7=(40uw, y6);
+ end_ssa(7,8,9,10,11,12,13);
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7;
+ draw_end_ssa(7,8,9,10,11,12,13)
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_sa,44uw#+rm#,20uh#,0); "U+0D38 malayalam letter sa";
+ pickup frame_pen;
+ x2=0;
+ letter_sa(1,2,3,4,5,6,7,8,9,10);
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{right}..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_ha,42uw#+rm#,20uh#,0); "U+0D39 malayalam letter ha";
+ pickup frame_pen;
+ x2=0;
+ letter_ha(1,2,3,4,5,6,7,8,9,10,11,12);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7..z8;
+ draw_bow(8,9,10,11,12);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmcvconj.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmcvconj.mf
new file mode 100644
index 00000000000..e5578fddedb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmcvconj.mf
@@ -0,0 +1,943 @@
+% mmcvconj.mf -- malayalam consonant-vowel conjuncts
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+%%%%% ka related glyphs
+
+if unknown subfont:
+beginchar(c_ku,30uw#+rm#,20uh#,0); "ku";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ % three-like shape for "u"
+ z8=(x10, y1);
+ z9=(30uw, y10+2.75uw);
+ z10=(x9 - 3.5uw, y6);
+ z11=(x10 - .5uw, y6);
+ z12=(x9, y10-2.75uw);
+ z13=(x10, 0);
+ z14=(x11, 0);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}--z11;
+ draw z11--z10{right}..z12{down}..z13{left}..z14;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_kuu,32uw#+rm#,20uh#,10uh#); "kuu";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ % three-like shape and tail for "uu"
+ z8=(x10, y1);
+ z9=(32uw, y10+3.75uh);
+ z10=(x9 - 4uw, 3.5uh);
+ z11=(x10 - 2uw, y10);
+ z12=(x9, y10-3.75uw);
+ z13=(x8, -4uw);
+ % tail below
+ z14=(x15+3uw, -4uw);
+ z15=(0.5uw, -7uh);
+ z16=(x14, -10uh);
+ z17=(32uw, -10uh);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}--z11;
+ draw z11--z10{right}..z12{down}..z13{left}---z14{left}..z15{down}..
+ z16{right}---z17;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_var_kuu,40uw#+rm#,20uh#,10uh#); "old variant kuu";
+ pickup frame_pen;
+ x6 = 8uw;
+ letter_ka(1,2,3,4,4',5,6,7,8,9,10,11');
+ z11=(x11', 0);
+ z12=(x9, -4uh);
+ subscribed_ra(12,13',14,15,16)(10uh);
+ z13=(x13'+4uw, y13');
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11;
+ draw z10{right}..z12{down}..z13..z14..z15{up}..z16;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_sec_ku,30uw#+rm#,11uh#,0); "secondary ku";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ % three-like shape for "u"
+ z8=(x10, y1);
+ z9=(30uw, y10+2.75uw);
+ z10=(x9 - 3.5uw, y6);
+ z11=(x10 - .5uw, y6);
+ z12=(x9, y10-2.75uw);
+ z13=(x10, 0);
+ z14=(x11, 0);
+
+ draw z1{down}..z4{right}..z3{up};
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}--z11;
+ draw z11--z10{right}..z12{down}..z13{left}..z14;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_sec_kuu,32uw#+rm#,11uh#,10uh#); "secondary kuu";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ % three-like shape and tail for "uu"
+ z8=(x10, y1);
+ z9=(32uw, y10+3.75uh);
+ z10=(x9 - 4uw, 3.5uh);
+ z11=(x10 - 2uw, y10);
+ z12=(x9, y10-3.75uw);
+ z13=(x8, -4uw);
+ % tail below
+ z14=(x15+3uw, -4uw);
+ z15=(0.5uw, -7uh);
+ z16=(x14, -10uh);
+ z17=(32uw, -10uh);
+
+ draw z1{down}..z4{right}..z3{up};
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}--z11;
+ draw z11--z10{right}..z12{down}..z13{left}---z14{left}..z15{down}..
+ z16{right}---z17;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_kr,32uw#+rm#,20uh#,11uh#); "kr";
+ pickup frame_pen;
+ x6=0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ z8=(x3+1uw, y1);
+ z9=(32uw, 2uh);
+ vowel_sign_vocalic_r(9,10,11,12,13);
+
+ draw z1{up}..z2{right}..z3{down}..z4{left}..cycle;
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_k_ku,49uw#+rm#,20uh#,0); "k+ku";
+ pickup frame_pen;
+ x6 = 0;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12',13',14');
+ z12 = z12' + (1uw, 0);
+ vowel_sign_ra_u(12,13,14,15,16,17);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14{left};
+ draw z14{right}..z15{down}..z16{left}..z17;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_sec_k_ku,49uw#+rm#,11uh#,0); "secondary k+ku";
+ pickup frame_pen;
+ x6 = 0;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12',13',14');
+ z12 = z12' + (1uw, 0);
+ vowel_sign_ra_u(12,13,14,15,16,17);
+
+ draw z1{down}..z4{right}..z3{up};
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14{left};
+ draw z14{right}..z15{down}..z16{left}..z17;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_k_kuu,49uw#+rm#,20uh#,10uh#); "k+kuu";
+ pickup frame_pen;
+ x6 = 0;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12',13',14');
+ z12=z12' + (1uw, 0);
+ x18=.5uw;
+ vowel_sign_uu(12,13,14,15,16,17,18,19,20);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14{left};
+ draw z14{right}..z15{down}..z16{left}---z17{left}..z18{down}..
+ z19{right}---z20;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_sec_k_kuu,49uw#+rm#,11uh#,10uh#); "secondary k+kuu";
+ pickup frame_pen;
+ x6 = 0;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12',13',14');
+ z12=z12' + (1uw, 0);
+ x18=.5uw;
+ vowel_sign_uu(12,13,14,15,16,17,18,19,20);
+
+ draw z1{down}..z4{right}..z3{up};
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14{left};
+ draw z14{right}..z15{down}..z16{left}---z17{left}..z18{down}..
+ z19{right}---z20;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+fi;
+
+%%%%%% ga related glyphs
+
+beginchar(c_gu,32uw#+rm#,ht#,10uh#); "gu";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5,6',7');
+ z6=(x6', 8uh);
+ x9=.5uw;
+ vowel_sign_u(6,7,8,9,10,11);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..
+ z7{left}---z8{left}..z9{down}..z10{right}---z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_guu,36uw#+rm#,ht#,10uh#); "guu";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5',6',7');
+ z5=z5'+(1uw, 0);
+ x11=.5uw;
+ vowel_sign_uu(5,6,7,8,9,10,11,12,13);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left};
+ draw z7{right}..z8{down}..z9{left}---z10..z11{down}..z12{right}---z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+if unknown subfont:
+beginchar(c_gr,32uw#+rm#,20uh#,11uh#); "gr";
+ pickup frame_pen;
+ x2=0uw;
+ letter_ga(1,2,3,4,5,6',7');
+ z6=(x6', 8uh);
+ vowel_sign_vocalic_r(6,7,8,9,10);
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..
+ z7{left}..z8{up}..z9{right}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+fi;
+
+%%%%%% nga related shapes
+
+beginchar(c_ng_ku,30uw#+rm#,20uh#,0); "ng+ku";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ % three-like shape for "u"
+ z8=(x10, y1);
+ z9=(30uw, y10+2.75uw);
+ z10=(x9 - 3.5uw, y6);
+ z11=(x10 - .5uw, y6);
+ z12=(x9, y10-2.75uw);
+ z13=(x10, 0);
+ z14=(x11, 0);
+
+ % top left eye for "nga"
+ z19=(11uw, 16uh);
+ z20=(5uw, y2);
+ z21=(0.5uw, 15.5uh);
+ draw z19..z20{left}..z21{down}..z7{right};
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}--z11;
+ draw z11--z10{right}..z12{down}..z13{left}..z14;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,20,21);
+endchar;
+
+beginchar(c_ng_kuu,32uw#+rm#,20uh#,10uh#); "ng+kuu";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8',9',10',11');
+ % three-like shape and tail for "uu"
+ z8=(x10, y1);
+ z9=(32uw, y10+3.75uh);
+ z10=(x9 - 4uw, 3.5uh);
+ z11=(x10 - 2uw, y10);
+ z12=(x9, y10-3.75uw);
+ z13=(x8, -4uw);
+ % tail below
+ z14=(x15+3uw, -4uw);
+ z15=(0.5uw, -7uh);
+ z16=(x14, -10uh);
+ z17=(32uw, -10uh);
+
+ % top left eye for "nga"
+ z19=(11uw, 16uh);
+ z20=(5uw, y2);
+ z21=(0.5uw, 15.5uh);
+ draw z19..z20{left}..z21{down}..z7{right};
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}--z11;
+ draw z11--z10{right}..z12{down}..z13{left}---z14{left}..z15{down}..
+ z16{right}---z17;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21);
+endchar;
+
+%%%%%% cha related shapes
+
+beginchar(c_chu,54uw#+rm#,20uh#,10uh#); "chu";
+ pickup frame_pen;
+ x6=0;
+ letter_cha(1,2,3,4,5,6,7,8,9,10,11,12',13',14');
+ x18=.5uw;
+ loop_u(11,12,13,14,15,16,17,18,19,20);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left};
+ draw z6--z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left}---z17{left}..z18{down}..
+ z19{right}---z20;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+
+beginchar(c_chuu,55uw#+rm#,20uh#,10uh#); "chuu";
+ pickup frame_pen;
+ x6=0;
+ letter_cha(1,2,3,4,5,6,7,8,9,10,11,12',13',14');
+ x20=.5uw;
+ loop_uu(11,12,13,14,15,16,17,18,19,20,21,22);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left};
+ draw z6--z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left};
+ draw z16{right}..z17{down}..z18{left}---z19{left}..z20{down}..
+ z21{right}---z22;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+%%%%%% ja related glyphs
+
+beginchar(c_ju,32uw#+rm#,20uh#,17uh#); "ju";
+ pickup frame_pen;
+ x1=0;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ % tail for u
+ z16'=(26uw, 2uh);
+ z19=(32uw, -4.5uh);
+ z20=(25uw, -11uh);
+ z21=(x22+3uw, y20);
+ z22=(.5uw, -14uh);
+ z23=(x21, -17uh);
+ z24=(32uw, y23);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z16'{right}..z19{down}..{left}z20---
+ z21{left}..z22{down}..{right}z23---z24;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16',17,18,19,20,21,22,23,24);
+endchar;
+
+beginchar(c_juu,31uw#+rm#,20uh#,17uh#); "juu";
+ pickup frame_pen;
+ x1=0;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ % tail for uu
+ z16'=(26uw, 2uh);
+ z19=(32uw, -4.5uh);
+ z19'=(28.5uw, -4.5uh);
+ z20=(26uw, -11uh);
+ z21=(x22+3uw, y20);
+ z22=(.5uw, -14uh);
+ z23=(x21, -17uh);
+ z24=(32uw, y23);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z16'{right}..z19'{left};
+ draw z19'{right}..{left}z20---
+ z21{left}..z22{down}..{right}z23---z24;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16',17,18,19,19',20,21,22,23,24);
+endchar;
+
+beginchar(c_j_ju,64uw#+rm#,20uh#,17uh#); "j+ju";
+ pickup frame_pen;
+ x1=0;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15',16',17',18');
+ z14=(24uw, 1uh);
+ x1a=32uw;
+ letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ % tail for u
+ z16'a=(x1a+26uw, 2uh);
+ z19a=(x1a+32uw, -4.5uh);
+ z20a=(x1a+25uw, -11uh);
+ z21a=(x22a+3uw, y20a);
+ z22a=(.5uw, -14uh);
+ z23a=(x21a, -17uh);
+ z24a=(x1a+32uw, y23a);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z1a{up};
+
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw_eye(1a,2a,3a,4a);
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a..z12a{down}..
+ z13a{right}..z14a..z16'a{right}..z19a{down}..{left}z20a---
+ z21a{left}..z22a{down}..{right}z23a---z24a;
+ draw_eye(15a,16a,17a,18a);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,
+ 13a,14a,15a,16a,16'a,17a,18a,19a,20a,21a,22a,23a,24a);
+endchar;
+
+beginchar(c_j_juu,63uw#+rm#,20uh#,17uh#); "j+juu";
+ pickup frame_pen;
+ x1=0;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15',16',17',18');
+ z14=(24uw, 1uh);
+ x1a=32uw;
+ letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ % tail for uu
+ z16'a=(x1a+26uw, 2uh);
+ z19a=(x1a+32uw, -4.5uh);
+ z19'a=(x1a+28.5uw, -4.5uh);
+ z20a=(x1a+26uw, -11uh);
+ z21a=(x22a+3uw, y20a);
+ z22a=(.5uw, -14uh);
+ z23a=(x21a, -17uh);
+ z24a=(x1a+32uw, y23a);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z1a{up};
+
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw_eye(1a,2a,3a,4a);
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a..z12a{down}..
+ z13a{right}..z14a..z16'a{right}..z19'a{left};
+ draw z19'a{right}..{left}z20a---
+ z21a{left}..z22a{down}..{right}z23a---z24a;
+ draw_eye(15a,16a,17a,18a);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,
+ 13a,14a,15a,16a,16'a,17a,18a,19a,19'a,20a,21a,22a,23a,24a);
+endchar;
+
+%%%%%% nna related shapes
+
+beginchar(c_nnu,50uw#+rm#,20uh#,0); "nnu";
+ pickup frame_pen;
+ % from "malayalam letter nga"
+ % first bow
+ front_eye(1,2,3,4,5);
+ z5=(0, 1/2h);
+ z6=(9uw, h);
+ z7=(17uw, 1/2h);
+ z8=(x7, 0);
+ % second bow
+ z9=(25uw, h);
+ z10=(33uw, 1/2h);
+ z11=(x10, 0);
+ % third bow
+ z12=(41uw, h);
+ z13=(50uw, 1/2h);
+ end_loop(13,14,15,16);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}---z11;
+ draw z11---z10{up}..z12{right}..z13{down}..z14{left}..z15{up}..z16;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(c_nnuu,50uw#+7uw#+rm#,20uh#,6uh#); "nnuu";
+ pickup frame_pen;
+ % from "malayalam letter nga"
+ % first bow
+ front_eye(1,2,3,4,5);
+ z5=(0, 1/2h);
+ z6=(9uw, h);
+ z7=(17uw, 1/2h);
+ z8=(x7, 0);
+ % second bow
+ z9=(25uw, h);
+ z10=(33uw, 1/2h);
+ z11=(x10, 0);
+ % third bow
+ z12=(41uw, h);
+ z13=(50uw, 1/2h);
+ end_loop_tail(13,14,15,16,17,18,19);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}---z11;
+ draw z11---z10{up}..z12{right}..z13{down}..z14{left}..z15{up}..
+ z16{right}..z17{down}..z18{left}..z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+%%%%%% ta related shapes
+
+beginchar(c_tu,30uw#+rm#,20uh#,10uh#); "tu";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7,8',9');
+ z8=(x8', 8uh);
+ x11=.5uw;
+ vowel_sign_u(8,9,10,11,12,13);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left}---z10{left}..z11{down}..
+ z12{right}---z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_tuu,32uw#+rm#,20uh#,10uh#); "tuu";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7 = z7' + (1uw, 0);
+ x13=.5uw;
+ vowel_sign_uu(7,8,9,10,11,12,13,14,15);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left};
+ draw z9{right}..z10{down}..z11{left}---z12..z13{down}..
+ z14{right}---z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+if unknown subfont:
+beginchar(c_tr,30uw#+rm#,ht#,11uh#); "tr";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7,8',9');
+ z8=(x8', 8uh);
+ vowel_sign_vocalic_r(8,9,10,11,12);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left}..z10{up}..z11{right}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+fi;
+
+beginchar(c_t_tu,56uw#+rm#,ht#,10uh#); "t+tu";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7=z7' - (1uw, 0);
+ z8=z8' - (2uw, 0);
+ z9=(x8, .5uh);
+ x9a = x8 - 2uw;
+ letter_ta(8a, 9a, 10',11,12,13,14,15',16');
+ z10=z10' + (1uw, 0);
+
+ z15=(x15', 8uh);
+ x18=.5uw;
+ vowel_sign_u(15,16,17,18,19,20);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}---z9;
+ draw z9---z8{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left}---z17..z18{down}..
+ z19{right}--z20;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+
+beginchar(c_t_tuu,58uw#+rm#,ht#,10uh#); "t+tuu";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7=z7' - (1uw, 0);
+ z8=z8' - (2uw, 0);
+ z9=(x8, .5uh);
+ x9a = x8 - 2uw;
+ letter_ta(8a, 9a, 10',11,12,13,14',15',16');
+ z10=z10' + (1uw, 0);
+
+ z14=z14'+(1uw,0);
+ x20=.5uw;
+ vowel_sign_uu(14,15,16,17,18,19,20,21,22);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}---z9;
+ draw z9---z8{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left};
+ draw z16{right}..z17{down}..z18{left}---z19..z20{down}..
+ z21{right}--z22;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+%%%%%% da related shapes
+
+if unknown subfont:
+beginchar(c_dr,18uw#+rm#,20uh#,11uh#); "dr";
+ pickup frame_pen;
+ x2=0;
+ letter_da(1,2,3,4,5,6,7',8',9');
+ z7=(x7', 2uh);
+ vowel_sign_vocalic_r(7,8,9,10,11);
+
+ draw z1..z2{up}..z3{right}..z4{down}..{left}z5---z6;
+ draw z6---z5{right}..z7{down}..z8{left}..z9{up}..z10{right}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+fi;
+
+%%%%%% dha related glyphs
+
+if unknown subfont:
+beginchar(c_dhr,32uw#+rm#,20uh#,11uh#); "dhr";
+ pickup frame_pen;
+ x2=0;
+ letter_dha(1,2,3,4,5,6,7,8);
+ vowel_sign_vocalic_r(7,9,10,11,12);
+ draw z1..z2{down}..z3{right}..{up}z4---z5;
+ draw z5---z4{down}..z6{right}..z7{up}..z8;
+ draw z7{down}..z9{left}..z10{up}..z11{right}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+fi;
+
+%%%%%% na related glyphs
+
+beginchar(c_nu,32uw#+rm#,20uh#,0); "nu";
+ pickup frame_pen;
+ z1=(4uw, 0);
+ z2=(0, 1/2h);
+ z3=(8uw, h);
+ z4=(16uw, 1/2h);
+ z5=(x4, 0);
+ z6=(24uw, h);
+ z7=(32uw, 1/2h);
+ end_loop(7,8,9,10);
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_nuu,32uw#+7uw#+rm#,20uh#,6uh#); "nuu";
+ pickup frame_pen;
+ z1=(4uw, 0);
+ z2=(0, 1/2h);
+ z3=(8uw, h);
+ z4=(16uw, 1/2h);
+ z5=(x4, 0);
+ z6=(24uw, h);
+ z7=(32uw, 1/2h);
+ end_loop_tail(7,8,9,10,11,12,13);
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..
+ z10{right}..z11{down}..z12{left}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+if unknown subfont:
+beginchar(c_nr,32uw#+rm#,20uh#,11uh#); "nr";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7',8');
+ z7=(x7', 8uh);
+ vowel_sign_vocalic_r(7,8,9,10,11);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..z10{right}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+fi;
+
+beginchar(c_n_tu,44uw#+rm#,20uh#,10uh#); "n+tu";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6a,7',8');
+ z6=(.5[x6a,x6b], y6a);
+ x5'=x5-2uw;
+ letter_ta(4',5',6b,7,8,9,10,11',12');
+ z11=(x11', 8uh);
+ x14=.5uw;
+ vowel_sign_u(11,12,13,14,15,16);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..z10{right}..
+ z11{down}..z12{left}---z13..z14{down}..z15{right}---z16;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(c_n_tuu,46uw#+rm#,20uh#,10uh#); "n+tuu";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6a,7',8');
+ z6=(.5[x6a,x6b], y6a);
+ x5'=x5-2uw;
+ letter_ta(4',5',6b,7,8,9,10',11',12');
+
+ z10=z10'+(1uw,0);
+ x16=.5uw;
+ vowel_sign_uu(10,11,12,13,14,15,16,17,18);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..z10{right}..
+ z11{down}..z12{left};
+ draw z12{right}..z13{down}..z14{left}---z15..z16{down}..
+ z17{right}---z18;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar(c_n_nu,48uw#+rm#,20uh#,0); "n+nu";
+ pickup frame_pen;
+ x2=0;
+ letter_n_na(1,2,3,4,5,6,7,8,9,10,11');
+
+ end_loop(10,11,12,13);
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z5---z4{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}..z12{up}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_n_nuu,48uw#+7uw#+rm#,20uh#,6uh#); "n+nuu";
+ pickup frame_pen;
+ x2=0;
+ letter_n_na(1,2,3,4,5,6,7,8,9,10,11');
+
+ end_loop_tail(10,11,12,13,14,15,16);
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z5---z4{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}..z12{up}..
+ z13{right}..z14{down}..z15{left}..z16;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+%%%%%% bha related glyphs
+
+beginchar(c_bhu,20uw#+rm#,20uh#,6uh#); "bhu";
+ pickup frame_pen;
+ x2=0;
+ letter_bha(1,2,3,4,5,6,7,8,9,10,11',12');
+ z11=(14uw, 0);
+ % bow for u
+ z12=(x13+3uw, 0);
+ z13=(5.5uw, -3uh);
+ z14=(x12, -6uh);
+ z15=(20uw, y14);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5..z6..z7{down}..
+ z8..z9..z10{down}..z11{left}..z12{left}..z13{down}..
+ z14{right}---z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_bhuu,20uw#+8uw#+rm#,20uh#,9uh#); "bhuu";
+ pickup frame_pen;
+ x2=8uw;
+ letter_bha(1,2,3,4,5,6,7,8,9,10,11,12');
+ z12=(x2+8uw, 0);
+ % curl around letter
+ z13=(24uw, 0);
+ z14=(28uw, -3.5uh);
+ z15=(14uw, -9uh);
+ z16=(0, 10uh);
+ z17=(3.5uw, 20uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5..z6..z7{down}..
+ z8..z9..z10{down}..z11{left}..z12{left};
+ draw z13{right}..z14{down}..z15{left}..z16{up}..z17;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+if unknown subfont:
+beginchar(c_bhr,20uw#+rm#,20uh#,11uh#); "bhr";
+ pickup frame_pen;
+ x2=0;
+ letter_bha(1,2,3,4,5,6,7,8,9,10',11',12');
+ z10=(x10', -1uh);
+ vowel_sign_vocalic_r(10,11,12,13,14);
+ draw z1..z2{up}..z3{right}..z4{down}..z5..z6..z7{down}..
+ z8..z9..z10'..z10..z11{left}..z12{up}..z13{right}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,10',11,12,13,14);
+endchar;
+fi;
+
+%%%%%% ra related glyphs
+
+if unknown subfont:
+beginchar(c_ru,32uw#+rm#,ht#,0); "ru";
+ pickup frame_pen;
+ x2=0;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7 = z7'+(1uw, 0);
+ vowel_sign_ra_u(7,8,9,10,11,12);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left};
+ draw z9{right}..z10{down}..z11{left}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+fi;
+
+if unknown subfont:
+beginchar(c_ruu,40uw#+rm#,ht#,8uh#); "ruu";
+ pickup frame_pen;
+ % first bow
+ z1=(x2+4uw, 0);
+ z2=(8uw, 10uh);
+ z3=(x2+10uw, 20uh);
+ z4=(x2+20uw, 8uh);
+ z5=(x2+15uw, 0);
+ % second bow
+ z6=(x2+10uw, y4);
+ z7=(x2+22uw, 20uh);
+ z8=(x10 - 1uw, 13uh);
+ z9=(x10 - 6uw, 8uh);
+ z10=(x2+32uw, 2uh);
+ % bow below
+ subscribed_ra(10,11',12,13,14)(8uh);
+ z11=(x11'+2uw, y11');
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left};
+ draw z9{right}..z10{down}..z11..z12..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+fi;
+
+%%%%%% sha related shapes
+
+beginchar(c_shu,40uw#+rm#,ht#,10uh#); "shu";
+ pickup frame_pen;
+ x2=0;
+ letter_sha(1,2,3,4,5,6,7',8',9');
+ x13=.5uw;
+ loop_u(6,7,8,9,10,11,12,13,14,15);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9{right}..z10{down}..z11{left}---z12{left}...z13{down}..
+ z14{right}---z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_shuu,41uw#+rm#,ht#,10uh#); "shuu";
+ pickup frame_pen;
+ x2=0;
+ letter_sha(1,2,3,4,5,6,7',8',9');
+ x15=.5uw;
+ loop_uu(6,7,8,9,10,11,12,13,14,15,16,17);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9{right}..z10{down}..z11{left};
+ draw z11{right}..z12{down}..z13{left}---z14{left}...z15{down}..
+ z16{right}---z17;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+if unknown subfont:
+beginchar(c_shr,39uw#+rm#,ht#,11uh#); "shr";
+ pickup frame_pen;
+ x2=0;
+ letter_ga(1,2,3,4,5,6,7');
+ end_loop_tail(6,7,8,9,10,11',12')
+ vowel_sign_vocalic_r(10,11,12,13,14);
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9{right}..z10{down}..z11{left}..z12{up}..z13{right}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,11,12,13,14);
+endchar;
+fi;
+
+%%%%%% sa related glyphs
+
+if unknown subfont:
+beginchar(c_sr,44uw#+rm#,20uh#,11uh#); "sr";
+ pickup frame_pen;
+ x2=0;
+ letter_sa(1,2,3,4,5,6,7,8,9,10);
+ vowel_sign_vocalic_r(9,11,12,13,14);
+
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{right}..z9{up}..z10;
+ draw z9{down}..z11{left}..z12{up}..z13{right}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+fi;
+
+%%%%%% ha related glyphs
+
+beginchar(c_hu,42uw#+rm#,ht#,10uh#); "hu";
+ pickup frame_pen;
+ x2=0;
+ letter_ha(1,2,3,4,5,6,7,8,9,10,11',12');
+ z11=(x11', 8uh);
+ x14=.5uw;
+ vowel_sign_u(11,12,13,14,15,16);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}---z13{left}..
+ z14{down}..z15{right}---z16;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar(c_huu,44uw#+rm#,ht#,10uh#); "huu";
+ pickup frame_pen;
+ x2=0;
+ letter_ha(1,2,3,4,5,6,7,8,9,10',11',12');
+ z10=z10'+(1uw, 0);
+ x16=.5uw;
+ vowel_sign_uu(10,11,12,13,14,15,16,17,18);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left};
+ draw z12{right}..z13{down}..z14{left}---z15{left}..
+ z16{down}..z17{right}---z18;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+if unknown subfont:
+beginchar(c_hr,41uw#+rm#,20uh#,11uh#); "hr";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ z6=(x5+3uw, .5uh);
+ z7=(22uw, y6);
+ z8=(x7+3uw, 0);
+ large_bow(8,9,10,11',12');
+ z11=(x11', 8uh);
+ vowel_sign_vocalic_r(11,12,13,14,15);
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+fi;
+
+%%%%%% end of mmcvconj.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmdefs.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmdefs.mf
new file mode 100644
index 00000000000..5c1017d55bc
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmdefs.mf
@@ -0,0 +1,633 @@
+% mmdefs.mf -- definitions for malayalam font
+% copyright 1992 Jeroen Hellingman
+% last edit: 09-JAN-1993
+
+%%%%%% dimensions
+
+uw# := 0.1u#; % unit of width
+uh# := 0.05ht#; % unit of height
+
+define_pixels(rm,u,uw,uh);
+define_whole_pixels(ht);
+
+currenttransform := currenttransform shifted (.5rm, 0);
+
+%%%%%% set the remaining font parameters
+
+font_slant := slant;
+font_quad := 20uw#;
+font_x_height := 20uh#;
+font_normal_space := 14uw#;
+font_normal_stretch := 8uw#;
+font_normal_shrink := 2uw#;
+
+currenttransform := currenttransform slanted slant;
+
+%%%%%% pen definitions
+
+penwd# :=thick# * cosd(rot-90);
+usthick# := thick#;
+mb# := .2ht#;
+define_pixels(penwd,usthick,mb);
+define_blacker_pixels(thin,thick,subthick);
+thin := max(thin,1); subthick := max(subthick,1);
+smoothing := 0;
+pickup pencircle xscaled thick yscaled thin rotated rot;
+scpenwd := pen_rt - pen_lft;
+frame_pen := savepen;
+pickup pencircle xscaled subthick yscaled thin rotated rot;
+sub_pen := savepen;
+
+%%%%%% character part definitions
+
+def eye(suffix a,b,c,d) (expr w, h) =
+% define points of ellipse relative to z.a
+% z.a = left point, clockwise direction
+% w = width of ellipse
+% h = height of ellipse
+ z.b = (x.a + .5w, y.a + .5h);
+ z.c = (x.a + w, y.a);
+ z.d = (x.a + .5w, y.a - .5h);
+enddef;
+
+def draw_eye(suffix a,b,c,d) =
+% draw eye through four points defined by eye
+ draw z.a{up}..z.b{right}..z.c{down}..z.d{left}..cycle;
+enddef;
+
+def large_bow(suffix a,b,c,d,e) =
+% define points of full height bow in "rra", "va", "ha"
+% x values relative to x.b
+% y values absolute.
+ z.a=(x.b + 4uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b + 10uw, 20uh);
+ z.d=(x.b + 20uw, 10uh);
+ z.e=(x.d - 4uw, 0);
+enddef;
+
+def small_bow(suffix a,b,c,d,e) =
+% define points of "half" height bow in "e", "ee", "pa", "pha", "ssa", "ha"
+% x values relative to x.a
+% y values relative to y.a
+ z.b=(x.a - 4uw, y.a + 7uh);
+ z.c=(x.b + 7uw, y.a + 14uh);
+ z.d=(x.b + 14uw, y.b);
+ z.e=(x.d - 4uw, y.a);
+enddef;
+
+def draw_bow (suffix a,b,c,d,e) =
+% draw bow through five points
+ draw z.a..z.b{up}..z.c{right}..z.d{down}..z.e;
+enddef;
+
+def end_loop(suffix a,b,c,d) =
+% define points of end loop of "a", "vocalic l", "ra", etc.
+% x values relative to x.a
+% y values absolute.
+ z.b = (x.a-5uw, 0);
+ z.c = (x.a-8uw, 5uh);
+ z.d = (x.a-2uw, 16uh);
+enddef;
+
+def upside_down_end_loop(suffix a,b,c,d) =
+% define points of upside down end loop of "ddha"
+% x values relative to x.a
+% y values absolute.
+ z.b = (x.a-5uw, 20uh - 0);
+ z.c = (x.a-8uw, 20uh - 5uh);
+ z.d = (x.a-2uw, 20uh - 16uh);
+enddef;
+
+def end_loop_tail(suffix a,b,c,d,e,f,g) =
+% define points of end loop and tail of "aa", "vocalic ll", etc.
+% x values relative to x.a
+% y values absolute.
+% adds 7uw to character width
+% character depth will be at least 6uh
+ z.b = (x.a-5uw, 0); % was z.b = (x.a-5uw, 0);
+ z.c = (x.a-9uw, 5uh); % was z.c = (x.a-8uw, 5uh)
+ z.d = (x.a-1uw, 15uh);
+ z.e = (x.a+7uw, 5uh);
+ z.f = (x.a-1uw, -6uh);
+ z.g = (x.a-7uw, -4uh);
+enddef;
+
+def loop_u(suffix a,b,c,d,e,f,g,h,i,j) =
+% define points of "vowel sign u" in chu and shu
+% x coordinates relative to x.a and x.h
+% y coordinates absolute
+ z.b=(x.a-6uw, 0);
+ z.c=(x.a-10uw, 6uh);
+ z.d=(x.a-1uw, 16uh);
+ z.e=(x.a+8uw, 6uh);
+ vowel_sign_u(e,f,g,h,i,j);
+enddef;
+
+def loop_uu(suffix a,b,c,d,e,f,g,h,i,j,k,l) =
+% define points of "vowel sign uu" in chu and shu
+% x coordinates relative to x.a and x.j
+% y coordinates absolute
+ z.b=(x.a-6uw, 0);
+ z.c=(x.a-10uw, 6uh);
+ z.d=(x.a, 16uh);
+ z.e=(x.a+8uw, 10uh);
+ z.f=(x.a+5uw, 6uh);
+ z.g=(x.a+9uw, 1uh);
+ vowel_sign_u(g,h,i,j,k,l);
+enddef;
+
+def vowel_sign_u(suffix a,b,c,d,e,f) =
+% define points of "vowel sign u" in gu, tu, etc.
+% x coordinates relative to x.a and x.d
+% y coordinates absolute
+ z.b=(x.a-9uw, -4uh);
+ z.c=(x.d+3uw, y.b);
+ z.d=(x.d, -7uh);
+ z.e=(x.c, -10uh);
+ z.f=(x.a, y.e);
+enddef;
+
+def vowel_sign_uu(suffix a,b,c,d,e,f,g,h,i) =
+% define points of vowel sign uu as applied in tuu
+% x coordinates relative to x.a and x.g
+% y coordinates absolute
+ z.b=(x.a + 9uw, 13.5uh);
+ z.c=(x.a + 4uw, 9uh);
+ z.d=(x.a + 11uw, .5[y.c, y.e]);
+ vowel_sign_u(d,e,f,g,h,i);
+enddef;
+
+def vowel_sign_ra_u(suffix a,b,c,d,e,f) =
+% define points of "vowel sign u" in ru, etc.
+% x coordinates relative to x.a
+% y coordinates absolute
+ z.b = (x.a+9uw, 14uh);
+ z.c = (x.a+4uw, 10.5uh);
+ z.d = (x.a+11uw, 5.25uh);
+ z.e = (x.a+5uw, 0uh);
+ z.f = (x.a+3uw, .5uh);
+enddef;
+
+def make_sub_triangle(suffix a,b,c,d) =
+% define and draw subscribed triangle for double letters
+% x coordinates relative to z.a
+ z.a=(x.a, 10uh);
+ z.b=(x.a, -10uh);
+ z.c=(x.a-26uw, y.b);
+ z.d=(x.c+18uw, 0.5uh);
+ draw z.a--z.b--z.c--z.d;
+ penlabels(a,b,c,d);
+enddef;
+
+def front_eye(suffix a,b,c,d,e) =
+% defines points of the eye at the start of "i", "u", "kha", "nga", etc.
+% x values relative to x.e
+% y values absolute.
+% note that the eye is not even elliptical here!
+ z.a = (x.e + 1uw, 6uh);
+ z.b = (x.e + 6uw, 12uh);
+ z.c = (x.e + 11uw, y.a);
+ z.d = (x.b, 0);
+enddef;
+
+def end_tha_bow(suffix a,b,c,d,e) =
+% define points of the bow end of "tha", "pha", etc.
+% x values relative to x.a
+% y values relative to y.a
+ z.b=(x.a, y.a + 9.5uh);
+ z.c=(x.a-8uw, y.a + 19.5uh);
+ z.d=(x.a-16uw, y.a + 9.5uh);
+ z.e=(x.d, y.a);
+enddef;
+
+def draw_end_tha_bow(suffix a,b,c,d,e) =
+ draw z.a---z.b{up}..z.c{left}..{down}z.d---z.e;
+enddef;
+
+def end_ssa(suffix a,b,c,d,e,f,g) =
+% define points of the end of "ssa".
+% x values relative to x.a
+% y values relative to y.a
+ z.b=(x.a, y.a + 19.5uh);
+ eye(d,e,f,c)(7uw,7uh);
+ z.f=(x.a-14uw, y.b - 3.5uh);
+ z.g=(x.f, y.a);
+enddef;
+
+def draw_end_ssa(suffix a,b,c,d,e,f,g) =
+ draw z.a--z.b;
+ draw z.b..z.c{left}..z.d{up}..z.e{right}..z.f{down}---z.g;
+enddef;
+
+def vowel_sign_vocalic_r(suffix a,b,c,d,e) =
+% define points of a "vowel sign vocalic r"
+% x values relative to x.a
+% y values absolute
+ z.b=(x.a-12uw, -11uh);
+ z.c=(x.a-20uw, -8uh);
+ z.d=(x.b, -5uh);
+ z.e=(x.a-4.25uw, -7uh);
+enddef;
+
+def subscribed_ra(suffix a,b,c,d,e)(expr depth) =
+% define points of subscribed ra
+% (some) x coordinates relative to x.a
+% y coordinates absolute or relative to d
+ numeric sub_ra_tmp;
+ sub_ra_tmp := 2.1*(uw/uh)*depth;
+ if sub_ra_tmp > .45x.a : sub_ra_tmp := .45x.a; fi;
+ z.b = (x.a - sub_ra_tmp, -depth);
+ z.c = (sub_ra_tmp, -depth);
+ z.d = (0, 10uh);
+ z.e = (3.5uw, 20uh);
+enddef;
+
+def virama_tail(suffix a,b,c,d,e,f,g) =
+% define points of the tail for virama in "n", "nn", "r", and "ll"
+% x values relative to x.a
+% y values absolute
+ z.b = (x.a-4.5uw, 0);
+ z.c = (x.a-9uw, 6uh);
+ z.d = (x.a-7uw, 15uh);
+ z.e = (x.a-4uw, 24uh);
+ z.f = (x.a-8uw, 28uh);
+ z.g = (x.a-13uw, 25uh);
+enddef;
+
+def letter_ka(suffix a,b,c,d,l,e,f,g,h,i,j,k) =
+% define points of "malayalam letter ka",
+% y coordinates relative to y.f
+% x coordinates absolute
+ % middle loop
+ z.a=(x.f + 10uw, 11uh);
+ z.l=(x.f + 11uw, 4uh);
+ z.b=(x.f + 16uw, 20uh);
+ z.c=(x.f + 22uw, y.a);
+ z.d=(x.b, 0);
+ % first loop
+ z.e=(x.f + 5uw, 0);
+ z.f=(x.f, 5.5uh);
+ z.g=(x.f + 6uw, y.a);
+ % tail
+ z.h=(x.f + 26uw, y.a);
+ z.i=(x.f + 32uw, y.f);
+ z.j=(x.f + 27uw, 0);
+ z.k=(x.f + 25uw, 1uh);
+enddef;
+
+def letter_k_ka(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) =
+% define points of "malayalam letter k+ka"
+% x coordinates relative to x.g
+% y coordinates absolute;
+ letter_ka(a,b,c,d,e,f,g,h,i.tmp,j.tmp,k.tmp,l.tmp);
+ z.i=(x.g + 31.5uw, 11uh);
+ z.j=(x.g + 37uw, 5.5uh);
+ z.k = (.45[x.j, x.l], 0);
+ z.l = (x.g + 27uw, 10uh);
+ z.m = (x.l + 10uw, 20uh);
+ z.n = (x.l + 20uw, y.l);
+ z.o = (x.n - 4uw, 0);
+enddef;
+
+def letter_ga(suffix a,b,c,d,e,f,g) =
+% define points of "malayalam letter ga"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ % first curl
+ z.a=(x.b+8uw, 20uh);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+8uw, 0);
+ % middle point
+ z.d=(x.b+16uw, 10uh);
+ % second curl
+ z.e=(x.b+24uw, 20uh);
+ z.f=(x.b+32uw, 10uh);
+ z.g=(x.b+24uw, 0);
+enddef;
+
+def letter_ca(suffix a,b,c,d,e,f,g,h) =
+% define points of "malayalam letter ca"
+% x coordinates relative to x.f
+% y coordinates absolute;
+ % first bow, (height = 14)
+ z.a=(x.f+4uw, 6uh);
+ z.b=(x.f+4uw, 7uh);
+ z.c=(x.f+11uw, 14uh);
+ z.d=(x.f+18uw, y.b);
+ z.e=(x.f+9uw, .5uh);
+ % hook
+ z.f=(x.f, y.e);
+ z.g=(x.f+36uw, y.e);
+ z.h=(x.f+36uw, 19.5uh);
+enddef;
+
+def letter_cha(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n) =
+% define points of "malayalam letter cha"
+% x coordinates relative to x.f
+% y coordinates absolute;
+ letter_ca(a,b,c,d,e,f,g.tmp,h.tmp);
+ z.g=(x.h-3uw, y.e);
+ z.h=(x.f+30uw, 0);
+ letter_ra(h,i,j,k,l,m,n);
+enddef;
+
+def letter_ja(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) =
+% define points of "malayalam letter ja"
+% x coordinates relative to x.a
+% y coordinates absolute;
+ % first eye
+ z.a=(x.a, 12uh);
+ eye(a,b,c,d)(8uw, 8uh);
+ % first bow
+ z.e=(x.a, 14uh);
+ z.f=(x.a+7uw, 20uh);
+ z.g=(x.a+14uw, 13uh);
+ z.h=(x.g, 8uh);
+ % second bow
+ z.i=(x.a+21uw, 20uh);
+ z.j=(x.a+26uw, 14uh);
+ % tail
+ z.k=(x.a+13uw, 4uh);
+ z.l=(x.a+.5uw, -2uh);
+ z.m=(x.a+7uw, -6uh);
+ z.n=(x.a+15uw, -3uh);
+ % second eye (diameter = 6)
+ z.p=(x.a+22.5uw, 0);
+ eye(o,p,q,r)(6uw, 6uh);
+enddef;
+
+def letter_jha(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n) =
+% define points of "malayalam letter jha"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ % first bow
+ z.a=(x.b+4uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+10uw, 20uh);
+ z.d=(x.b+20uw, 8uh);
+ z.e=(x.b+15uw, 0);
+ % second bow
+ z.f=(x.b+10uw, y.d);
+ z.g=(x.b+20uw, 20uh);
+ z.h=(x.b+28uw, 10uh);
+ z.i=(x.b+35uw, 0);
+ z.j=(x.b+42uw, 10uh);
+ z.k=(x.j, 19.5uh);
+ z.l=(x.b+50uw, 0);
+ z.m=(x.b+58uw, 10uh);
+ z.n=(x.b+54uw, 20uh);
+enddef;
+
+def letter_nya(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) =
+% define points of letter nya
+% x coordinates relative to x.e
+% y coordinates absolute
+ front_eye(a,b,c,d,e);
+ z.e=(x.e, 10uh);
+ z.f=(x.e + 9uw, 20uh);
+ z.g=(x.e + 17uw, 10uh);
+ z.h=(x.g, .5uh);
+ % second bow
+ z.i=(x.e + 26uw, 20uh);
+ z.j=(x.e + 36uw, 8uh);
+ z.k=(x.e + 31uw, 0);
+ z.l=(x.e + 26uw, 8uh);
+ % third bow
+ z.m=(x.e + 36uw, 20uh);
+ z.n=(x.e + 46uw, 10uh);
+ z.o=(x.e + 42uw, 0);
+enddef;
+
+def letter_tta(suffix a,b,c,d,e,f,g) =
+% define points of "malayalam letter tta" (looks like "latin letter s")
+% x coordinates relative to x.c
+% y coordinates absolute;
+ z.a=(x.c+18uw, 18uh);
+ z.b=(x.c+9uw, 20uh);
+ z.c=(x.c, 15uh);
+ z.d=(x.c+9uw, 10uh);
+ z.e=(x.c+18uw, 5uh);
+ z.f=(x.c+9uw, 0);
+ z.g=(x.c, 2uh);
+enddef;
+
+def letter_dda(suffix a,b,c,d,e,f,g,h,i,j) =
+% define points of "malayalam letter dda"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ % (almost) upside down mirror image of "malayalam letter sa"
+ z.a=(x.b+4uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+7uw, 20uh);
+ z.d=(x.b+14uw, 10uh);
+ z.e=(x.b+21uw, 0);
+ z.f=(x.b+28uw, 10uh);
+ z.g=(x.f, 19.5uh);
+ z.h=(x.b+36uw, 0);
+ z.i=(x.b+44uw, 10uh);
+ z.j=(x.b+40uw, 20uh);
+enddef;
+
+def letter_ta(suffix a,b,c,d,e,f,g,h,i) =
+% define points of "malayalam letter ta"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ % first bow
+ z.a=(x.b+4uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+10uw, 20uh);
+ z.d=(x.b+20uw, 8uh);
+ z.e=(x.b+15uw, 0);
+ % second bow
+ z.f=(x.b+10uw, y.d);
+ z.g=(x.b+20uw, 20uh);
+ z.h=(x.b+30uw, 10uh);
+ z.i=(x.b+26uw, 0);
+enddef;
+
+def letter_da(suffix a,b,c,d,e,f,g,h,i) =
+% define points of "malayalam letter da"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ z.a=(x.b+2uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+9uw, 20uh);
+ z.d=(x.b+17uw, 15uh);
+ z.e=(x.b+8uw, 10uh);
+ z.f=(x.b+7uw, y.e);
+ z.g=(x.b+18uw, 5uh);
+ z.h=(x.b+12uw, 0);
+ z.i=(x.b+6uw, 1uh);
+enddef;
+
+def letter_dha(suffix a,b,c,d,e,f,g,h) =
+% define points of "malayalam letter dha"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ z.a=(x.b+4uw, 20uh);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+8uw, 0);
+ z.d=(x.b+16uw, 10uh);
+ z.e=(x.d, 19.5uh);
+ z.f=(x.b+24uw, 0);
+ z.g=(x.b+32uw, 10uh);
+ z.h=(x.b+28uw, 20uh);
+enddef;
+
+def letter_na(suffix a,b,c,d,e,f,g,h) =
+% define points of "malayalam letter na"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ z.a=(x.b+4uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+8uw, 20uh);
+ z.d=(x.b+16uw, 10uh);
+ z.e=(x.d, .5uh);
+ z.f=(x.b+24uw, 20uh);
+ z.g=(x.b+32uw, 10uh);
+ z.h=(x.b+28uw, 0);
+enddef;
+
+def draw_letter_na(suffix a,b,c,d,e,f,g,h) =
+ draw z.a..z.b{up}..z.c{right}..{down}z.d---z.e;
+ draw z.e---z.d{up}..z.f{right}..z.g{down}..z.h;
+enddef;
+
+def letter_n_na(suffix a,b,c,d,e,f,g,h,i,j,k) =
+% define points of "malayalam letter na"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ letter_na(a,b,c,d,e,f,g,h');
+ letter_na(d',e',f',g,h,i,j,k);
+enddef;
+
+def half_ba(suffix a,b,c,d,e,f,g,h,i,j,k) =
+% define points of first half of letter ba (32uw wide)
+% x coordinates relative to x.e
+% y coordinates absolute
+ front_eye(a,b,c,d,e);
+ % first bow
+ z.e=(x.e, 10uh);
+ z.f=(x.e+9uw, 20uh);
+ z.g=(x.e+17uw, 10uh);
+ z.h=(x.g, 0);
+ % second bow
+ z.i=(x.e+24uw, 20uh);
+ z.j=(x.e+32uw, 10uh);
+ z.k=(x.e+28uw, 0);
+enddef;
+
+def letter_bha(suffix a,b,c,d,e,f,g,h,i,j,k,l) =
+% define points of "malayalam letter bha"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ z.a=(x.b+2uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+11uw, 20uh);
+ z.d=(x.b+19uw, 16uh);
+ z.e=(x.d-3uw, y.d-3uh);
+ z.f=(x.g+3uw, y.g+3uh);
+ z.g=(x.b+6uw, 10uh);
+ z.h=(x.g+3uw, y.g-3uh);
+ z.i=(x.j-3uw, y.j+3uh);
+ z.j=(x.b+20uw, 4uh);
+ z.k=(x.b+14uw, 0);
+ z.l=(x.b+6uw, 1uh);
+enddef;
+
+def letter_ma(suffix a,b,c,d,e,f,g,h) =
+% define points of "malayalam letter ma"
+% x coordinates relative to x.a
+% y coordinates absolute;
+ z.a=(x.a, .5uh);
+ z.b=(x.a+12uw, 14uh);
+ z.c=(x.a+7uw, 19uh);
+ z.d=(x.a+3uw, 17uh);
+ % outer loop
+ z.e=(x.a, 10uh);
+ z.f=(x.a+10uw, 20uh);
+ z.g=(x.a+20uw, y.e);
+ z.h=(x.g, y.a);
+enddef;
+
+def draw_letter_ma(suffix a,b,c,d,e,f,g,h) =
+ draw z.a..z.b{up}..z.c{left}..z.d;
+ draw z.a--z.h & z.h---z.g{up}..z.f{left}..{down}z.e---z.a;
+enddef;
+
+def letter_ya(suffix a,b,c,d,e,f,g,h,i,j) =
+% define points of "malayalam letter ya"
+% x coordinates relative to x.e
+% y coordinates absolute;
+ z.a=(x.e+11.5uw, 14uh);
+ z.b=(.5[x.a,x.c], 20uh);
+ z.c=(x.e+24uw, 12uw);
+ z.d=(.5[x.c,x.e], 0);
+ z.e=(x.e, 12uh);
+ z.f=(x.e+6uw, 20uh);
+ z.g=(x.e+11.5uw, 12uh);
+ z.h=(.5[x.g,x.i], 0);
+ z.i=(x.e+32uw, 10uh);
+ z.j=(x.e+28uw, 20uh);
+enddef;
+
+def letter_ra(suffix a,b,c,d,e,f,g) =
+% define points of "malayalam letter ra"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ large_bow(a,b,c,d,e.tmp);
+ end_loop(d,e,f,g);
+enddef;
+
+def letter_la(suffix a,b,c,d,e,f) =
+% define points of "malayalam letter la"
+% x coordinates relative to x.a
+% y coordinates absolute;
+ z.a=(x.a, 8.5uh);
+ z.b=(x.a+18uw, y.a);
+ z.c=(x.a+9uw, 20uh);
+ z.d=(x.a, .5uh);
+ z.e=(x.a+32uw, y.d);
+ z.f=(x.e, 19.5uh);
+enddef;
+
+def letter_sha(suffix a,b,c,d,e,f,g,h,i) =
+% define points of "malayalam letter sha"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ letter_ga(a,b,c,d,e,f,g.tmp);
+ end_loop(f,g,h,i);
+enddef;
+
+def letter_sa(suffix a,b,c,d,e,f,g,h,i,j) =
+% define points of "malayalam letter sa"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ z.a=(x.b+4uw, 0);
+ z.b=(x.b, 10uh);
+ z.c=(x.b+8uw, 20uh);
+ z.d=(x.b+16uw, 10uh);
+ z.e=(x.d, .5uh);
+ z.f=(x.b+23uw, 20uh);
+ z.g=(x.b+30uw, 10uh);
+ z.h=(x.b+37uw, 0);
+ z.i=(x.b+44uw, 10uh);
+ z.j=(x.b+40uw, 20uh);
+enddef;
+
+def letter_ha(suffix a,b,c,d,e,f,g,h,i,j,k,l) =
+% define points of "malayalam letter ha"
+% x coordinates relative to x.b
+% y coordinates absolute;
+ y.a = y.h = 0;
+ small_bow(a,b,c,d,e);
+ z.f = z.e + (3uw, .5uh);
+ z.g = z.h + (-3uw, .5uh);
+ x.k = x.b+42uw;
+ large_bow(h,i,j,k,l);
+enddef;
+
+endinput;
+
+% end of mmdefs.mf \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmfnt.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmfnt.mf
new file mode 100644
index 00000000000..e3c378d0a0b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmfnt.mf
@@ -0,0 +1,6 @@
+% mm_fnt --- create font to be converted into screen font for text-editor
+
+newfont := 1;
+input fnt_code.mf
+input mm10.mf
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmfont.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmfont.mf
new file mode 100644
index 00000000000..f8398d78e18
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmfont.mf
@@ -0,0 +1,46 @@
+% mmfont.mf -- malayalam font driver file
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+% if you never want to use traditional script, uncomment the following
+% line to save processing time and disk-space.
+% newfont := 1;
+
+input mmcoding.mf; % get the glyph-positions in the font
+input mmtest.mf; % do we have some characters to be tested?
+
+% generate the charactershapes:
+
+if known newfont and unknown subfont :
+ input mmvowels.mf;
+ input mmcons.mf;
+ input mmscons.mf;
+ input mmsec.mf;
+ input mmcillu.mf;
+ input mmconj.mf;
+ input mmlnums.mf
+ input mmpunct.mf;
+elseif known subfont :
+ if known newfont :
+ "No subfont needed when making a font for reformed script";
+ else :
+ input mmcons.mf;
+ input mmconj.mf;
+ input mmrconj.mf;
+ input mmcvconj.mf;
+ fi
+else : % generate everything
+ input mmvowels.mf;
+ input mmcons.mf;
+ input mmscons.mf;
+ input mmsec.mf;
+ input mmcillu.mf;
+ input mmconj.mf;
+ input mmrconj.mf;
+ input mmcvconj.mf;
+ input mmnums.mf;
+ input mmlnums.mf
+ input mmpunct.mf;
+fi;
+
+end.
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmlnums.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmlnums.mf
new file mode 100644
index 00000000000..959c49e6579
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmlnums.mf
@@ -0,0 +1,125 @@
+% mmlnums.mf -- Latin digits for Malayalam-TeX font
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1992
+
+beginchar(c_zero,12uw#+rm#,20uh#,0); "U+0030 digit zero";
+ pickup frame_pen;
+ z1=(0uw, 10uh);
+ eye(1,2,3,4)(12uw,20uh);
+ draw_eye(1,2,3,4);
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_one,12uw#+rm#,20uh#,0); "U+0031 digit one";
+ pickup frame_pen;
+ z1=(x2-4uw, 16uh);
+ z2=(6uw, 19.5uh);
+ z3=(x2, .5uh);
+ z4=(x2-3uw, y3);
+ z5=(x2+3uw, y3);
+ draw z1{2,1}..{1,2}z2--z3;
+ draw z4--z5;
+ penlabels(1,2,3);
+endchar;
+
+beginchar(c_two,12uw#+rm#,20uh#,0); "U+0032 digit two";
+ pickup frame_pen;
+ z1=(1uw, 15uh); % was (.5uw, 14uh)
+ z2=(.5[x1,x3], 20uh);
+ z3=(11uw, y1);
+ z5=(.5uw, 0.5uh);
+ z6=(4.5uw, 2uh);
+ z7=(11.5uw, .5uh);
+
+ draw z1{up}..z2{right}..z3{down}..z5{down} &
+ z5--z7{right};
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_three,12uw#+rm#,20uh#,0); "U+0033 digit three";
+ pickup frame_pen;
+ z1=(1uw, 16uh);
+ z2=(.5[x1,x3], 20uh);
+ z3=(11uw, .5[y2,y4]);
+ z4=(x2, 11uh);
+ z4'=(4uw, y4);
+ z5=(12uw, .5[y4,y6]);
+ z6=(.5[x5,x7], 0uh);
+ z7=(0uw, 4.5uh);
+
+ draw z1..z2{right}..z3{down}..z4{left}--z4';
+ draw z4{right}..z5{down}..z6{left}..z7;
+ penlabels(1,2,3,4,4',5,6,7);
+endchar;
+
+beginchar(c_four,12uw#+rm#,20uh#,0); "U+0034 digit four";
+ pickup frame_pen;
+ z1=(0uw, 6uh);
+ z2=(12uw, y1);
+ z3=(9uw, 19.5uh);
+ z4=(x3, 0.5uh);
+
+ draw z2--z1--z3;
+ draw z3--z4;
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_five,12uw#+rm#,20uh#,0); "U+0035 digit five";
+ pickup frame_pen;
+ z1=(10.5uw, 19.5uh);
+ z2=(3uw, y1);
+ z3=(1uw, 11uh);
+ z4=(.5[x3,x5], 14uh);
+ z5=(12uw, .5[y4,y6]);
+ z6=(.5[x5,x7], 0uh);
+ z7=(0uw, 4.5uh);
+
+ draw z1--z2--z3 & z3..z4{right}..z5{down}..z6{left}..z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_six,12uw#+rm#,20uh#,0); "U+0036 digit six";
+ pickup frame_pen;
+ z1=(7uw, 19.5uh);
+ z2=(1uw, 6uh);
+ eye(2,3,4,5)(10uw, 12uh);
+
+ draw z1{-1,-1}..z2{down};
+ draw_eye(2,3,4,5);
+ penlabels(1,2,3,4,5);
+endchar;
+
+beginchar(c_seven,12uw#+rm#,20uh#,0); "U+0037 digit seven";
+ pickup frame_pen;
+ z1=(1uw, 19.5uh);
+ z2=(7uw, 18uh);
+ z3=(11uw, y1);
+ z4=(3uw, 10uh);
+ z5=(x4, 0.5uh);
+ draw z1--z3 & z3{curl 0}..{down}z5;
+ penlabels(1,2,3,4,5);
+endchar;
+
+beginchar(c_eight,12uw#+rm#,20uh#,0); "U+0038 digit eight";
+ pickup frame_pen;
+ z4=(6uw, 11uh);
+ eye(1,2,3,4)(9uw, 9uh);
+ eye(5,4,6,7)(10uw, 11uh);
+
+ draw_eye(1,2,3,4);
+ draw_eye(5,4,6,7);
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_nine,12uw#+rm#,20uh#,0); "U+0039 digit nine";
+ pickup frame_pen;
+ z1=(5uw, 0.5uh);
+ z2=(1uw, 14uh);
+ eye(2,3,4,5)(10uw, 12uh);
+
+ draw z1{1,1}..z4{up};
+ draw_eye(2,3,4,5);
+ penlabels(1,2,3,4,5);
+endchar;
+
+%%%%%% end of mmlnums.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmnums.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmnums.mf
new file mode 100644
index 00000000000..4daf5495e32
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmnums.mf
@@ -0,0 +1,167 @@
+% mmnums.mf -- malayalam numerals
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+beginchar(c_mal_quarter,2uw#+rm#,20uh#,8uh#); "malayalam sign for one quarter";
+ pickup frame_pen;
+ z1=(0uw, 19.5uh);
+ z2=(x1, -8uh);
+ z3=(3uw, -8uh);
+
+ draw z1--z2 & z2--z3;
+ penlabels(1,2,3);
+endchar;
+
+% Alternatively, Tha can be used for zero
+
+beginchar(c_mal_zero,32uw#+rm#,20uh#,0); "U+0D66 malayalam digit zero";
+ pickup frame_pen;
+ z1=(1uw, 6.5uh);
+ eye(1,2,3,4)(13uw,13uh);
+ z5=(0, 9uh);
+ z6=(11uw, 19.5uh);
+ z7=(32uw, y6);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}---z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_mal_one,32uw#+rm#,20uh#,8uh#); "U+0D67 malayalam digit one";
+ pickup frame_pen;
+ z1=(8uw, -7.5uh);
+ z2=(5uw, y1);
+ z3=(0, -3.5uh);
+ z4=(x2, .5uh);
+ z5=(32uw, y4);
+ end_tha_bow(5,6,7,8,9);
+
+ draw z1---z2{left}..z3{up}..z4{right}---z5;
+ draw z5---z6{up}..z7{left}..z8{down}---z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(c_mal_two,34uw#+rm#,20uh#,0); "U+0D68 malayalam digit two";
+ pickup frame_pen;
+ x2=0;
+ large_bow(1,2,3,4,5);
+ z6=(x5+3uw, 0.5uh);
+ z7=(34uw, y6);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginchar(c_mal_three,46uw#+rm#,20uh#,0); "U+0D69 malayalam digit three";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7,8);
+ z9=(x8+3uw, 0.5uh);
+ z10=(46uw, y9);
+
+ draw_letter_na(1,2,3,4,5,6,7,8);
+ draw z8..z9---z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_mal_four,26uw#+rm#,28uh#,0); "U+0D6A malayalam digit four";
+ pickup frame_pen;
+ x2=0;
+ letter_ra(1,2,3,4,5,6',7');
+ z6 = (11uw, y6');
+ z7 = (26uw, 24uh);
+ z8 = (x7-6uw, 28uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{up}..z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_mal_five,28uw#+rm#,24uh#,6uh#); "U+0D6B malayalam digit five";
+ pickup frame_pen;
+ x2=6uw;
+
+ z1=(x2+3uw, 0uh);
+ z2=(x2, 9uh);
+ z3=(x2+8.5uw, 18uh);
+ z4=(x2+15uw, 13uh);
+ z5=(x2+8uw, 8uh);
+ z6=(x2+6uw, y5);
+ z7=(x2+16uw, .5[y6,y8]);
+ z8=(x5, -6uh);
+ z9=(12uw, -6uh);
+ z10=(0, 10uh);
+ z11=(14uw, 24uh);
+ z12=(28uw, 10uh);
+ z13=(26uw, -2uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..{left}z5---z6;
+ draw z6---z5{right}..z7{down}..z8{left}..z9{left}..z10{up}..z11{right}..
+ z12{down}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_mal_six,48uw#+rm#,20uh#,8uh#); "U+0D6C malayalam digit six";
+ pickup frame_pen;
+ x2=0;
+ letter_n_na(1',2',3,4',5',6,7',8',9,10',11');
+ z1 = z1'+(0, 2uh);
+ y2 = y4 = y7 = y2' + 1uh;
+ x2 = x2'; x4 = x4'; x7 = x7';
+ y5 = y8 = y5' + 2uh;
+ x5 = x5'; x8 = x8';
+
+ z10=(x10', 11uh);
+ z11=(x10', 8uh);
+ z12=(32uw, -8uh);
+ z13=(30uw, y12);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z5---z4{up}..z6{right}..z7{down}---z8;
+ draw z8---z7{up}..z9{right}..z10---z11..z12---z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_mal_seven,30uw#+rm#,20uh#,0); "U+0D6D malayalam digit seven";
+ pickup frame_pen;
+ x2=14uw;
+ y4=0uh;
+ eye(1,2,3,4)(12uw,12uh);
+ z5=(10uw, 0);
+ z6=(0, 10uh);
+ z7=(12uw, 20uh);
+ z8=(30uw, 0);
+
+ draw_eye(1,2,3,4);
+ draw z4..z5{left}..z6{up}..z7{right}..z8{down};
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_mal_eight,34uw#+rm#,20uh#,10uh#); "U+0D6E malayalam digit eight";
+ pickup frame_pen;
+ x2=0;
+ large_bow(1,2,3,4,5);
+ z6=(x5+3uw, 0.5uh);
+ z7=(34uw, y6);
+
+ z8=(x7, 19.5uh);
+ z9=(x7-10uw, -10uh);
+ z10=(x5-2uw, y9);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7;
+ draw z8---z7..z9---z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_mal_nine,32uw#+rm#,28uh#,0); "U+0D6F malayalam digit nine";
+ pickup frame_pen;
+ x2=0;
+ letter_na(1,2,3,4,5,6,7,8');
+ virama_tail(7,8,9,10,11,12,13);
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..
+ z10..z11{up}..z12{left}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmpunct.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmpunct.mf
new file mode 100644
index 00000000000..a5328284041
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmpunct.mf
@@ -0,0 +1,278 @@
+% mmpunct.mf -- interpunction for use with malayalam
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+%%%%%% some macros
+
+def dot(suffix a,b,c,d) =
+ eye(a,b,c,d)(3uw,3uh);
+enddef;
+
+def draw_dot(suffix a,b,c,d) =
+ draw_eye(a,b,c,d);
+ fill z.a..z.b..z.c..z.d..cycle;
+enddef;
+
+def comma(suffix a,b,c,d,e,f) =
+ dot(a,b,c,d);
+ z.e = (x.c + .5uw, y.d - 1.5uh);
+ z.f = (x.d, y.d - 7uh);
+enddef;
+
+def upsidedown_comma(suffix a,b,c,d,e,f) =
+ dot(a,b,c,d);
+ z.e = (x.a - .5uw, y.b + 1.5uw);
+ z.f = (x.d, y.b + 7uh);
+enddef;
+
+def draw_comma(suffix a,b,c,d,e,f) =
+ draw_dot(a,b,c,d)
+ draw z.b{right}..z.e{down}..z.f;
+enddef;
+
+def draw_upsidedown_comma(suffix a,b,c,d,e,f) =
+ draw_dot(a,b,c,d)
+ draw z.d{left}..z.e{up}..z.f;
+enddef;
+
+%%%%%% actual punctuation marks
+
+beginchar(c_hyphen, 12uw#+rm#, 11uh#, 0uh#); "U+2010 hyphen";
+ pickup frame_pen;
+ z1 = (0, 10uh);
+ z2 = (12uw, 10uh);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+% The funny thing happens that in Malayalam an en-dash is as wide
+% as a letter ma, and an em-dash as wide as a letter na.
+
+beginchar(c_en_dash, 20uw#+rm#, 11uh#, 0uh#); "U+2013 en-dash";
+ pickup frame_pen;
+ z1 = (0, 10uh);
+ z2 = (20uw, 10uh);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+beginchar(c_em_dash, 32uw#+rm#, 11uh#, 0uh#); "U+2014 em-dash";
+ pickup frame_pen;
+ z1 = (0, 10uh);
+ z2 = (32uw, 10uh);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+beginchar(c_comma,3uw#+rm#, 3uh#, 7uh#); "U+002C comma";
+ pickup sub_pen;
+ x1 = 0;
+ y4 = 0;
+ comma(1,2,3,4,5,6);
+ draw_comma(1,2,3,4,5,6);
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+beginchar(c_period,3uw#+rm#,3uh#,0); "U+002E period";
+ pickup sub_pen;
+ x1 = 0;
+ y4 = 0;
+ dot(1,2,3,4);
+ draw_dot(1,2,3,4);
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_semicolon,3uw#+rm#, 16uh#, 7uh#); "U+003B semicolon";
+ pickup sub_pen;
+ x1 = 0;
+ y2 = 16uh;
+ dot(1,2,3,4);
+ x5 = 0;
+ y8 = 0;
+ comma(5,6,7,8,9,10);
+ draw_dot(1,2,3,4);
+ draw_comma(5,6,7,8,9,10);
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_colon,3uw#+rm#, 16uh#, 0uh#); "U+003A colon";
+ pickup sub_pen;
+ x1 = 0;
+ y2 = 16uh;
+ dot(1,2,3,4);
+ x5 = 0;
+ y8 = 0;
+ dot(5,6,7,8);
+ draw_dot(1,2,3,4);
+ draw_dot(5,6,7,8);
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_open_quote,3uw#+rm#, 25uh#, 0); "U+2018 single turned comma quotation mark";
+ pickup sub_pen;
+ x5 = 0uw;
+ y6 = 25uh;
+ upsidedown_comma(1,2,3,4,5,6);
+ draw_upsidedown_comma(1,2,3,4,5,6);
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+beginchar(c_close_quote,3uw#+rm#, 25uh#, 0); "U+2019 single comma quotation mark";
+ pickup sub_pen;
+ x1 = 0;
+ y2 = 25uh;
+ comma(1,2,3,4,5,6);
+ draw_comma(1,2,3,4,5,6);
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+beginchar(c_open_paren, 6uw#+rm#, 30uh#, 10uh#); "U+0028 opening parenthesis";
+ pickup frame_pen;
+ z1 = (6uw, 30uh);
+ z2 = (0, .5[y1,y3]);
+ z3 = (x1, -10uh);
+ draw z1..z2{down}..z3;
+ penlabels(1,2,3);
+endchar;
+
+beginchar(c_close_paren, 6uw#+rm#, 30uh#, 10uh#); "U+0029 closing parenthesis";
+ pickup frame_pen;
+ z1 = (0, 30uh);
+ z2 = (6uw, .5[y1,y3]);
+ z3 = (x1, -10uh);
+ draw z1..z2{down}..z3;
+ penlabels(1,2,3);
+endchar;
+
+beginchar(c_slash, 10uw#+rm#, 30uh#, 10uh#); "U+002F slash";
+ pickup frame_pen;
+ z1 = (10uw, 30uh);
+ z2 = (0, -10uh);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+beginchar(c_open_bracket, 6uw#+rm#, 30uh#, 10uh#); "U+005B opening square bracket";
+ pickup frame_pen;
+ z1 = (6uw, 30uh);
+ z2 = (0, y1);
+ z3 = (x2, -10uh);
+ z4 = (x1, y3);
+ draw z1--z2--z3--z4;
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_close_bracket, 6uw#+rm#, 30uh#, 10uh#); "U+005D closing square bracket";
+ pickup frame_pen;
+ z1 = (0, 30uh);
+ z2 = (6uw, y1);
+ z3 = (x2, -10uh);
+ z4 = (x1, y3);
+ draw z1--z2--z3--z4;
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_question_mark, 12uw#+rm#, 25uh#, 0); "U+003F question mark";
+ pickup frame_pen;
+ z1=(0, 21uh);
+ z2=(.5[x1,x3], 25uh);
+ z3=(12uw, 21uh);
+ z4=(3uw, 11uh);
+ z5=(x2, 8uh);
+ z5'=(9uw, 9uh);
+ x7=x2;
+ y9=0;
+ eye(6,7,8,9)(4uw, 4uh);
+ draw z1..z2{right}..z3{down}..z4{down}..z5{right}..z5';
+ draw_eye(6,7,8,9);
+ penlabels(1,2,3,4,5,5',6,7,8,9);
+endchar;
+
+beginchar(c_exlamation_mark, 4uw#+rm#, 25uh#, 0); "U+0021 exclamation mark";
+ pickup frame_pen;
+ z1=(x4, 25uh);
+ z2=(x4, 9uh);
+ z3=(0, 2uh);
+ eye(3,4,5,6)(4uw,4uh);
+ draw z1--z2;
+ draw_eye(3,4,5,6);
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+%%%%%% dotted circle to show placement of accents/matras, etc.
+
+beginchar(c_dotted_circle,30uw#+rm#,25uh#,5uh#); "U+25CC dotted circle";
+ numeric n, d, db, r, rb, i, a;
+ z0 = (15uw, 10uh);
+ n:=14;
+ d:=360/n; db:=360/(4n);
+ r:=15uh; rb:=15uh - thin;
+
+ a := 0;
+ forsuffixes s = 1,2,3,4,5,6,7,8,9,10,11,12,13,14 :
+ z.s.a = z0 + r * dir (a+db);
+ z.s.b = z0 + r * dir a;
+ z.s.c = z0 + r * dir (a-db);
+ z.s.d = z0 + rb * dir (a-db);
+ z.s.e = z0 + rb * dir a;
+ z.s.f = z0 + rb * dir (a+db);
+ fill z.s.a..z.s.b..z.s.c--z.s.d..z.s.e..z.s.f--cycle;
+ a := a + d;
+ penlabels(s.a,s.b,s.c,s.d,s.e,s.f);
+ endfor;
+ penlabels(0);
+endchar;
+
+%%%%%% white square, to show missing characters
+
+if unknown newfont:
+beginchar(c_white_square,30uw#+rm#,25uh#,5uh#); "U+25A1 white square";
+ pickup pensquare scaled thick;
+
+ z1=(0,-5uh)+.5(thick, thick);
+ z2=(0,25uh)+.5(thick, -thick);
+ z3=(30uw, 25uh)+.5(-thick, - thick);
+ z4=(30uw, -5uh)+.5(-thick, thick);
+
+ draw z1--z2 & z2--z3 & z3--z4 & z4--cycle;
+
+ penlabels(1,2,3,4);
+endchar;
+fi;
+
+%%%%%% finally, a nice ornamental star
+
+if unknown newfont:
+beginchar(c_star,(30*cosd30)*uh#+rm#,25uh#,5uh#); "ornamental star";
+ pickup pencircle scaled 1.5uh;
+ z0=(15*cosd30*uh, 10uh); % center of star
+ rad := 15uh;
+ % points of star
+ z1=z0 + (0,rad);
+ z2=z1 rotatedabout (z0, 60);
+ z3=z2 rotatedabout (z0, 60);
+ z4=z3 rotatedabout (z0, 60);
+ z5=z4 rotatedabout (z0, 60);
+ z6=z5 rotatedabout (z0, 60);
+ % inner circle
+ rad := 5uh;
+ z10=(z0 + (0,rad)) rotatedabout (z0, 30);
+ z11=z10 rotatedabout (z0, 60);
+ z12=z11 rotatedabout (z0, 60);
+ z13=z12 rotatedabout (z0, 60);
+ z14=z13 rotatedabout (z0, 60);
+ z15=z14 rotatedabout (z0, 60);
+ filldraw z1--z10--z2--z11--z3--z12--z4--z13--z5--z14--z6--z15--cycle;
+ cullit;
+ rad := 4.5uh;
+ z20 = z0 + (0, rad);
+ z21 = z0 + (rad, 0);
+ z22 = z0 - (0, rad);
+ z23 = z0 - (rad, 0);
+ unfill z20{right}..z21{down}..z22{left}..z23{up}..cycle;
+
+ penlabels(range 1 thru 23);
+endchar;
+fi;
+
+% eof
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmrconj.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmrconj.mf
new file mode 100644
index 00000000000..9893bd89ae5
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmrconj.mf
@@ -0,0 +1,254 @@
+% mmrconj.mf -- Malayalam ra-conjuncts
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+beginchar(c_k_ra,40uw#+rm#,20uh#,8uh#); "k+ra";
+ pickup frame_pen;
+ x6=8uw;
+ letter_ka(1,2,3,4,4',5,6,7,8,9,10',11');
+ subscribed_ra(9,10,11,12,13)(8uh);
+
+ draw z1{up}..z2{right}..z3{down}..z4{left}..cycle;
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10..z11..z12{up}..z13;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_k_k_ra,55uw#+rm#,20uh#,10uh#); "k+k+ra";
+ pickup frame_pen;
+ x6=8uw;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12,13',14');
+ z13 = (x13', 8uh);
+ subscribed_ra(13,14,15,16,17)(10uh);
+
+ draw_eye(1,2,3,4);
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14..z15..z16{up}..z17;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+beginchar(c_g_ra,40uw#+rm#,20uh#,8uh#); "g+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_ga(1,2,3,4,5,6',7');
+ z6=(x6', 8uh);
+ subscribed_ra(6,7,8,9,10)(8uh);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..
+ z7..z8..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar(c_ch_ra,61uw#+rm#,20uh#,10uh#); "ch+ra";
+ pickup frame_pen;
+ x6=8uw;
+ letter_cha(1,2,3,4,5,6,7,8,9,10,11,12',13',14');
+ end_loop_tail(11,12,13,14,15,16',17');
+ subscribed_ra(15,16,17,18,19)(10uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left};
+ draw z6--z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16..z17..z18{up}..z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar(c_j_ra,40uw#+rm#,20uh#,16uh#); "j+ra";
+ pickup frame_pen;
+ x1=8uw;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ % tail for ra
+ z16'=(x1+26uw, 2uh);
+ z19=(x1+32uw, -4.5uh);
+ z20=(24uw, -16uh);
+ z21=(0, 5uh);
+ z22=(3uw, 20uh);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z16'{right}..z19{down}..z20{left}..
+ z21{up}..z22;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16',17,18,19,20,21,22);
+endchar;
+
+beginchar(c_tt_ra,18uw#+6uw#+rm#,20uh#,0uh#); "tt+ra";
+ pickup frame_pen;
+ x3=6uw;
+ letter_tta(1,2,3,4,5,6',7');
+ z6=(15uw, 0);
+ z7=(12uw, 0);
+ z8=(0, 12uh);
+ z9=(2uw, 19.5uh);
+
+ draw z1..z2{left}..z3{down}..z4{4,1}..z5{down}..z6..z7..z8{up}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(c_t_t_ra,64uw#+rm#,ht#,10uh#); "t+t+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_ta(1,2,3,4,5,6,7',8',9');
+ z7=z7'-(1uw,0);
+ z8=z8'-(2uw,0);
+ z9=(x8,0.5uh);
+ x9a = x8-2uw;
+ letter_ta(8a,9a,10',11,12,13,14,15',16');
+ z10=z10' + (1uw, 0);
+ z15=(x15',8uh);
+ subscribed_ra(15,16,17,18,19)(10uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}---z9;
+ draw z9---z8{up}..z10{right}..z11{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16..z17..z18{up}..z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar(c_t_ra,38uw#+rm#,ht#,8uh#); "t+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_ta(1,2,3,4,5,6,7,8',9');
+ z8=(x8', 8uh);
+ z9=(19uw, -8uh);
+ z10=(0, 10uh);
+ z11=(3.5uw, 20uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}..z6{up}..
+ z7{right}..z8{down}..z9{left}..z10{up}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_d_ra,18uw#+8uw#+rm#,20uh#,6uh#); "d+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_da(1',2,3,4,5,6,7',8',9');
+ z1=z1'+(1.5uw, 0);
+ z7=z7'-(0, 2uh);
+ % ra around letter
+ z8=(17uw, -6uh);
+ z9=(12uw, -6uh);
+ z10=(0, 10uh);
+ z11=(3.5uw, 20uh);
+ draw z1..z2{up}..z3{right}..z4{down}..{left}z5---z6;
+ draw z6---z5{right}..z7{down}..z8..z9..z10{up}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_dh_ra,40uw#+rm#,20uh#,6uh#); "dh+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_dha(1,2,3,4,5,6,7,8);
+ subscribed_ra(7,9,10,11,12)(6uh);
+
+ draw z1..z2{down}..z3{right}..{up}z4---z5;
+ draw z5---z4{down}..z6{right}..z7{up}..z8;
+ draw z7..z9..z10..z11{up}..z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_n_t_ra,52uw#+rm#,20uh#,10uh#); "n+t+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_na(1,2,3,4,5,6a,7',8');
+ z6=(.5[x6a,x6b], y6a);
+ x5'=x5-2uw;
+ letter_ta(4',5',6b,7,8,9,10,11',12');
+ z11=(x11', 8uh);
+ subscribed_ra(11,12,13,14,15)(10uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}..z9{up}..z10{right}..
+ z11{down}..z12..z13..z14{up}..z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_n_d_ra,35uw#+6uw#+rm#,20uh#,8uh#); "n+d+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_na(1,2,3,4,5,6,7a,8a);
+ letter_da(4',5',6,7',8',9',10',11',12');
+ %
+ z7=z7'-(0,.5uh);
+ z8=z8'-(0,1uh);
+ z9=z9'-(0,1uh);
+ z10=(x10', 3uh);
+ z11=(.5[x10,x12], -8uh);
+ z12=(0, 10uh);
+ z13=(3.5uw, 20uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z4{up}..z6{right}..z7{down}..z8{left}---z9;
+ draw z8{right}..z10{down}..z11{left}..z12{up}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar(c_n_ra,40uw#+rm#,20uh#,8uh#); "n+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_na(1,2,3,4,5,6,7',8');
+ z7=(x7', 8uh);
+ subscribed_ra(7,8,9,10,11)(8uh);
+
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8..z9..z10{up}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_bh_ra,22uw#+6uw#+rm#,20uh#,4uh#); "bh+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_bha(1',2,3,4,5,6,7,8,9,10',11',12');
+ z1=z1'+(1.5uw, 2uw);
+ z10=(x10', 2uh);
+ % ra around letter
+ z11=(18uw, -4uh);
+ z12=(12uw, -4uh);
+ z13=(0, 10uh);
+ z14=(3.5uw, 19.5uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5..z6..z7{down}..
+ z8..z9..z10{down}..z11..z12..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_sh_ra,47uw#+rm#,ht#,8uh#); "sh+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_ga(1,2,3,4,5,6,7');
+ end_loop_tail(6,7,8,9,10,11',12');
+ subscribed_ra(10,11,12,13,14)(8uh);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9{right}..z10{down}..z11..z12..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,11,12,13,14);
+endchar;
+
+beginchar(c_s_ra,52uw#+rm#,20uh#,8uh#); "s+ra";
+ pickup frame_pen;
+ x2=8uw;
+ letter_sa(1,2,3,4,5,6,7,8,9,10);
+ subscribed_ra(9,11,12,13,14)(8uh);
+
+ draw z1..z2{up}..z3{right}..{down}z4---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{right}..z9{up}..z10;
+ draw z9{down}..z11..z12..z13{up}..z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_h_ra,42uw#+8uw#+rm#,20uh#,10uh#); "h+ra";
+ pickup frame_pen;
+ % bow
+ x2=8uw;
+ letter_ha(1,2,3,4,5,6,7,8,9,10,11',12');
+ z11=(x11', 8uh);
+ subscribed_ra(11,12,13,14,15)(10uh);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7..z8;
+ draw z8..z9{up}..z10{right}..z11{down}..z12..z13..z14{up}..z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+%%%%%% end of mmconj.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmscons.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmscons.mf
new file mode 100644
index 00000000000..ab4aec0ff8f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmscons.mf
@@ -0,0 +1,169 @@
+% mmscons.mf -- Malayalam stacked consonants
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+beginchar(c_g_ga,32uw#+rm#,20uh#,18uh#); "g+ga";
+ pickup frame_pen;
+ path ga_path;
+ x2=0uw;
+ letter_ga(1,2,3,4,5,6,7);
+ ga_path := z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7;
+ ga_path := ga_path yscaled 19/20 shifted (0, 1uh);
+ draw ga_path;
+ ga_path := ga_path shifted (0, -19uh);
+ draw ga_path;
+endchar;
+
+beginchar(c_nn_nna,50uw#+rm#,20uh#,18uh#); "nn+nna";
+ pickup frame_pen;
+ transform upper, lower;
+ upper := identity yscaled 19/20 shifted (0, 1uh);
+ lower := identity yscaled 19/20 shifted (0, -18uh);
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=(25uw, 20uh);
+ z10=(33uw, 10uh);
+ z11=(x10, 0);
+ % third bow
+ z12=(41uw, 20uh);
+ z13=(50uw, 10uh);
+ z14=(46uw, 0);
+
+ draw (z1{up}..z2{right}..z3{down}..z4{left}..cycle) transformed upper;
+ draw (z4{left}..z5{up}..z6{right}..z7{down}---z8) transformed upper;
+ draw (z8---z7{up}..z9{right}..z10{down}---z11) transformed upper;
+ draw (z11---z10{up}..z12{right}..z13{down}..z14) transformed upper;
+ draw (z1{up}..z2{right}..z3{down}..z4{left}..cycle) transformed lower;
+ draw (z4{left}..z5{up}..z6{right}..z7{down}---z8) transformed lower;
+ draw (z8---z7{up}..z9{right}..z10{down}---z11) transformed lower;
+ draw (z11---z10{up}..z12{right}..z13{down}..z14) transformed lower;
+endchar;
+
+beginchar(c_p_pa,36uw#+rm#,20uh#,16uh#); "p+pa";
+ pickup frame_pen;
+ transform lower;
+ lower := identity scaled 8/10 shifted (7.2uw, -16uh);
+ % bow
+ z1=(4uw, 0);
+ small_bow(1,2,3,4,5);
+ % end hook
+ z6=(x5+3uw, 1/40h);
+ z7=(36uw, y6);
+ z8=(x7, 19.5uh);
+
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7 & z7---z8;
+ draw (z1..z2{up}..z3{right}..z4{down}..z5) transformed lower;
+ draw ((z5..z6---z7) transformed lower) --- z7;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_rr_rra,20uw#+rm#,20uh#,16uh#); "rr+rra";
+ pickup frame_pen;
+ lower := identity scaled 8/10 shifted (2uw, -16uh);
+ z1=(4uw, 0);
+ z2=(0, 10uh);
+ z3=(10uw, 20uh);
+ z4=(20uw, 10uh);
+ z5=(16uw, 0);
+ draw_bow(1,2,3,4,5);
+ draw (z1..z2{up}..z3{right}..z4{down}..z5) transformed lower;
+ penlabels(1,2,3,4,5);
+endchar;
+
+beginchar(c_sh_sha,32uw#+rm#,20uh#,18uh#); "sh+sha";
+ pickup frame_pen;
+ transform upper, lower;
+ upper := identity yscaled 19/20 shifted (0, 1uh);
+ lower := identity yscaled 19/20 shifted (0, -18uh);
+ x2=0;
+ letter_sha(1,2,3,4,5,6,7,8,9);
+ draw (z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9) transformed upper;
+ draw (z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..z7{left}..
+ z8{up}..z9) transformed lower;
+endchar;
+
+beginchar(c_s_sa,44uw#+rm#,20uh#,18uh#); "s+sa";
+ pickup frame_pen;
+ transform upper, lower;
+ upper := identity yscaled 19/20 shifted (0, 1uh);
+ lower := identity yscaled 19/20 shifted (0, -18uh);
+ x2=0;
+ letter_sa(1,2,3,4,5,6,7,8,9,10);
+ draw (z1..z2{up}..z3{right}..{down}z4---z5) transformed upper;
+ draw (z5---z4{up}..z6{right}..z7{down}..z8{right}..z9{up}..z10) transformed upper;
+ draw (z1..z2{up}..z3{right}..{down}z4---z5) transformed lower;
+ draw (z5---z4{up}..z6{right}..z7{down}..z8{right}..z9{up}..z10) transformed lower;
+endchar;
+
+beginchar(c_dd_dda,44uw#+rm#,20uh#,18uh#); "dd+dda";
+ pickup frame_pen;
+ transform upper, lower;
+ upper := identity yscaled 19/20 shifted (0, 1uh);
+ lower := identity yscaled 19/20 shifted (0, -18uh);
+ x2=0;
+ letter_dda(1,2,3,4,5,6,7,8,9,10);
+ draw (z1..z2{up}..z3{right}..z4{down}..z5{right}..{up}z6---z7) transformed upper;
+ draw (z7---z6{down}..z8{right}..z9{up}..z10) transformed upper;
+ draw (z1..z2{up}..z3{right}..z4{down}..z5{right}..{up}z6---z7) transformed lower;
+ draw (z7---z6{down}..z8{right}..z9{up}..z10) transformed lower;
+endchar;
+
+beginchar(c_c_ca,36uw#+rm#,20uh#,10uh#); "c+ca";
+ pickup frame_pen;
+ x6=0;
+ letter_ca(1,2,3,4,5,6,7,8);
+ x9=x8;
+ make_sub_triangle(9,11,12,13);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left};
+ draw z6--z7--z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_b_ba,46uw#+rm#,20uh#,10uh#); "b+ba";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10,11);
+ % end hook
+ z12=(x11+3uw, 0.5uh);
+ z13=(46uw, y12);
+ z14=(x13, 19.5uh);
+ x15=x13;
+ make_sub_triangle(15,16,17,18);
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z11;
+ draw z11..z12---z13---z14;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_y_ya,32uw#+rm#,20uh#,10uh#); "y+ya";
+ pickup frame_pen;
+ x5=0uw;
+ letter_ya(1,2,3,4,5,6,7,8,9,10);
+ x11=x9;
+ make_sub_triangle(11,12,13,14);
+ draw z1..z2{right}..z3{down}..z4{left}..z5{up}..z6{right}..
+ z7{(1,-8)}..z8{right}..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_v_va,34uw#+rm#,ht#,10uh#); "v+va";
+ pickup frame_pen;
+ % bow
+ z1=(4uw, 0);
+ large_bow(1,2,3,4,5);
+ % end hook
+ z6=(x5+3uw, 0.5uh);
+ z7=(34uw, y6);
+ z8=(x7, 19.5uh);
+ x9=x8;
+ make_sub_triangle(9,10,11,12);
+ draw_bow(1,2,3,4,5);
+ draw z5..z6---z7---z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+%%%%%% end of mmscons.mf
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmsec.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmsec.mf
new file mode 100644
index 00000000000..93aa5a7d39c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmsec.mf
@@ -0,0 +1,263 @@
+% mmsec.mf -- malayalam secondary consonants and reepham
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+if unknown newfont :
+beginchar(c_sec_ka,32uw#+rm#,11uh#,0); "secondary ka";
+ pickup frame_pen;
+ x6 = 0;
+ letter_ka(1,2,3,4,4',5,6,7,8,9,10,11);
+
+ draw z1{down}..z4{right}..z3{up};
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,20,21);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_k_ka,47uw#+rm#,11uh#,0); "secondary k+ka";
+ pickup frame_pen;
+ x6 = 0;
+ letter_k_ka(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14);
+
+ draw z1{down}..z4{right}..z3{up};
+ draw z4'..z5{left}..z6{up}..z7{right}---z8{right}..z9{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14;
+ penlabels(1,2,3,4,4',5,6,7,8,9,10,11,12,13,14);
+endchar;
+fi;
+
+beginchar(c_sec_ya,12uw#+rm#,20uh#,10uh#); "secondary ya";
+ pickup frame_pen;
+ z1=(8uw, 19.5uh);
+ z2=(7uw, 12uh);
+ z3=(12uw, -4uh);
+ z4=(.5[x3,x5], -10uh);
+ z5=(-1uw, -6uh);
+ z6=(6uw, 0);
+ draw z1..z2..z3{down}..z4{left}..z5{up}..z6{up};
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+if unknown newfont:
+beginchar(c_sec_ya_os,6uw#+rm#,20uh#,12uh#); "secondary ya (old style)";
+ pickup frame_pen;
+ z1=(2uw, 19.5uh);
+ z2=(6uw, 5uh);
+
+ z8=(-rm, .5uh);
+ z7=(x8-4uw, -6uh);
+ z6=(x5+5uw, y7);
+ z5=(x8-16uw, .5[y7,y4]);
+ z4=(x5+3uw, -12uh);
+ z3=(x8, y4);
+
+ draw z1..z2{down}..z3..z4..z5{up}..z6{right}---z7{right}..z8{up};
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ya_deep,7uw#+rm#,20uh#,18uh#); "secondary ya (old style, deep version)";
+ pickup frame_pen;
+ z1=(2uw, 19.5uh);
+ z2=(7uw, 2uh);
+
+ z8=(-rm, -5.5uh);
+ z7=(x8-4uw, -12uh);
+ z6=(x5+5uw, y7);
+ z5=(x8-16uw, .5[y7,y4]);
+ z4=(x5+3uw, -18uh);
+ z3=(x8, y4);
+
+ draw z1..z2{down}..z3..z4..z5{up}..z6{right}---z7{right}..z8{up};
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ya_deeper,7uw#+rm#,20uh#,22uh#); "secondary ya (old style, deeper version)";
+ pickup frame_pen;
+ z1=(2uw, 19.5uh);
+ z2=(7uw, 0uh);
+
+ z8=(-rm, -9.5uh);
+ z7=(x8-4uw, -16uh);
+ z6=(x5+5uw, y7);
+ z5=(x8-16uw, .5[y7,y4]);
+ z4=(x5+3uw, -22uh);
+ z3=(x8, y4);
+
+ draw z1..z2{down}..z3..z4..z5{up}..z6{right}---z7{right}..z8{up};
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ya_deepest,8uw#+rm#,20uh#,28uh#); "secondary ya (old style, deepest version)";
+ pickup frame_pen;
+ z1=(2uw, 19.5uh);
+ z2=(8uw, -3uh);
+
+ z8=(-rm, -15.5uh);
+ z7=(x8-4uw, -22uh);
+ z6=(x5+5uw, y7);
+ z5=(x8-16uw, .5[y7,y4]);
+ z4=(x5+3uw, -28uh);
+ z3=(x8, y4);
+
+ draw z1..z2{down}..z3..z4..z5{up}..z6{right}---z7{right}..z8{up};
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_reepham,2uw#+rm#,29uh#,0); "reepham";
+ pickup sub_pen;
+ z1=(0uw, 29uh);
+ z2=(2uw, 29uh);
+ z3=(1uw, 22uh);
+ draw z1--z2 & z2--z3 & z3--z1;
+ fill z1--z2--z3--cycle;
+ penlabels(1,2,3);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ra_narrow,28uw#+rm#,0,6uh#); "secondary ra (narrow version)";
+% width adjusted for "Ta", "ma", "La", "zha"
+ pickup frame_pen;
+ z1=(28uw, .5uh);
+ subscribed_ra(1,2,3,4,5)(6uh);
+ draw z1{down}..z2..z3..z4{up}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ra,42uw#+rm#,0,9uh#); "secondary ra";
+% width adjusted for "kha", "nya", "pa", "va"
+ pickup frame_pen;
+ z1=(42uw, .5uh);
+ subscribed_ra(1,2,3,4,5)(9uh);
+ draw z1{down}..z2..z3..z4{up}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ra_wide,44uw#+rm#,0,9uh#); "secondary ra (wide version)";
+% width adjusted for "ca", "tha", "Sa"
+ pickup frame_pen;
+ z1=(44uw, .5uh);
+ subscribed_ra(1,2,3,4,5)(9uh);
+ draw z1{down}..z2..z3..z4{up}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ra_wider,48uw#+rm#,0,10uh#); "secondary ra (wider version)";
+% width adjusted for "ca", "tha", "Sa"
+ pickup frame_pen;
+ z1=(48uw, .5uh);
+ subscribed_ra(1,2,3,4,5)(10uh);
+ draw z1{down}..z2..z3..z4{up}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ra_even_wider,54uw#+rm#,0,11uh#); "secondary ra (even wider version)";
+% width adjusted for "nga", "ba", "Da", Dha"
+ pickup frame_pen;
+ z1=(54uw, .5uh);
+ subscribed_ra(1,2,3,4,5)(11uh);
+ draw z1{down}..z2..z3..z4{up}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sec_ra_widest,58uw#+rm#,0,12uh#); "secondary ra (widest version)";
+% width adjusted for "gha", "Na"
+ pickup frame_pen;
+ z1=(58uw, .5uh);
+ subscribed_ra(1,2,3,4,5)(12uh);
+ draw z1{down}..z2..z3..z4{up}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+beginchar(c_ref_sec_ra,4uw#+rm#,20uh#,8uh#); "reformed script secondary ra";
+ pickup frame_pen;
+ z1=(12uw, -7uh);
+ z2=(5uw, -8uh);
+ z3=(0, 2uh);
+ z4=(2uw, 20uh);
+ draw z1..z2..z3{up}..z4;
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_sec_la,22uw#+rm#,0,12uh#); "secondary la";
+ pickup frame_pen;
+ z1=(19uw, 0);
+ z2=(22uw, -6uh);
+ z3=(17uw, -12uh);
+ z3'=(12uw, -6uh);
+ z4=(6uw, 0);
+ z5=(0, -6uh);
+ z6=(0, -8uh);
+ eye(6,7,8,9)(8uw,8uh);
+ draw_eye(6,7,8,9);
+ draw z6..z5{up}..z4{right}..z3'{down}..z3{right}..z2{up}..z1;
+ penlabels(1,2,3,3',4,5,6,7,8,9);
+endchar;
+
+beginchar(c_sec_va,18uw#+rm#,20uh#,0); "secondary va";
+ pickup frame_pen;
+ z1=(0, 0.5uh);
+ z2=(18uw, y1);
+ z3=(x2, 19.5uh);
+ draw z1--z2--z3;
+ penlabels(1,2,3);
+endchar;
+
+beginchar(c_sec_va_sub,36uw#+rm#,20uh#,6uh#); "secondary va (subscribed version)";
+% version of secodary va for use with na to prevent confusion with mpa
+ pickup frame_pen;
+ z1=(0, -5.5uh);
+ z2=(36uw, y1);
+ z3=(x2, 19.5uh);
+ draw z1--z2--z3;
+ penlabels(1,2,3);
+endchar;
+
+beginchar(c_sec_tha,30uw#+rm#,20uh#,0); "secondary tha";
+ pickup frame_pen;
+ z1=(0, 0.5uh);
+ z2=(30uw, y1);
+ end_tha_bow(2,3,4,5,6);
+ draw z1---z2;
+ draw_end_tha_bow(2,3,4,5,6);
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+beginchar(c_sub_triangle,26uw#+rm#,0,10uh#); "subscribed triangle for double letters";
+ pickup frame_pen;
+ x1=26uw;
+ make_sub_triangle(1,2,3,4);
+endchar;
+
+beginchar(c_sec_ssa,30uw#+rm#,20uh#,0); "secondary ssa";
+ pickup frame_pen;
+ z1=(0, 1/40h);
+ z2=(30uw, y1);
+ end_ssa(2,3,4,5,6,7,8);
+ draw z1---z2;
+ draw_end_ssa(2,3,4,5,6,7,8);
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+%%%%%% eof
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmstyles.txt b/Master/texmf-dist/fonts/source/public/malayalam/mmstyles.txt
new file mode 100644
index 00000000000..17b8f794445
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmstyles.txt
@@ -0,0 +1,47 @@
+
+Available font styles
+
+mm6 Malayalam Regular 6pt
+mm6s Malayalam Regular 6pt Subscript
+
+mm8 Malayalam Regular 8pt
+mm8s Malayalam Regular 8pt Subscript
+
+mm10 Malayalam Regular 10pt
+mm10s Malayalam Regular 10pt Subscript
+mmb10 Malayalam Bold 10pt
+mmb10s Malayalam Bold 10pt Subscript
+mmsl10 Malayalam Slanted 10pt
+mmsl10s Malayalam Slanted 10pt Subscript
+mmc10 Malayalam Calligraphic Regular 10pt
+mmc10s Malayalam Calligraphic Regular 10pt Subscript
+mmcb10 Malayalam Calligraphic Bold 10pt
+mmcb10s Malayalam Calligraphic Bold 10pt Subscript
+mmcsl10 Malayalam Calligraphic Slanted 10pt
+mmcsl10s Malayalam Calligraphic Slanted 10pt Subscript
+
+mm12 Malayalam Regular 12pt
+mm12s Malayalam Regular 12pt Subscript
+mmb12 Malayalam Bold 12pt
+mmb12s Malayalam Bold 12pt Subscript
+mmsl12 Malayalam Slanted 12pt
+mmsl12s Malayalam Slanted 12pt Subscript
+mmc12 Malayalam Calligraphic Regular 12pt
+mmc12s Malayalam Calligraphic Regular 12pt Subscript
+mmcb12 Malayalam Calligraphic Bold 12pt
+mmcb12s Malayalam Calligraphic Bold 12pt Subscript
+mmcsl12 Malayalam Calligraphic Slanted 12pt
+mmcsl12s Malayalam Calligraphic Slanted 12pt Subscript
+
+mm17 Malayalam Regular 17pt
+mm17s Malayalam Regular 17pt Subscript
+mmc17 Malayalam Calligraphic Regular 17pt
+mmc17s Malayalam Calligraphic Regular 17pt Subscript
+mmb17 Malayalam Bold 17pt
+mmb17s Malayalam Bold 17pt Subscript
+mmcb17 Malayalam Calligraphic Bold 17pt
+mmcb17s Malayalam Calligraphic Bold 17pt Subscript
+
+
+<eof>
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmtest.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmtest.mf
new file mode 100644
index 00000000000..b046a44d228
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmtest.mf
@@ -0,0 +1,26 @@
+% mmtest.mf -- Malayalam characters under design
+% (c) 1993 Jeroen Hellingman
+%
+% History:
+% 22-JAN-1993 last edit (JH)
+% 22-JAN-1993 added k+Sa (JH)
+% 14-JAN-1993 modified virama to look nicer on top,
+% added square brackets, slash (JH)
+% 10-JAN-1993 added ny+cha, t+bha, ornamental star (JH)
+% 30-DEC-1992 added Latin digits (JH)
+% 27-DEC-1992 added c+ca, b+ba, y+ya, v+va in mmsconj.mf (JH)
+% 26-DEC-1992 move to version 1.0 (Jeroen Hellingman)
+
+"Malayalam metafont, version 1.0e";
+"copyright 1993 Jeroen Hellingman";
+"last edit: 22-JAN-1993";
+
+endinput; % uncomment if no characters under design.
+imagerules;
+%endinput;
+
+%%%%%% characters under design
+
+"no more characters under design";
+
+end.
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/mmvowels.mf b/Master/texmf-dist/fonts/source/public/malayalam/mmvowels.mf
new file mode 100644
index 00000000000..41f86bffcef
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/mmvowels.mf
@@ -0,0 +1,509 @@
+% mmvowels.mf -- malayalam vowels, vowel signs and virama
+% (c) 1993 Jeroen Hellingman
+% last edit: 24-JAN-1993
+
+beginchar(c_anusvara,12uw#+rm#,12uh#,0); "U+0D02 malayalam sign anusvara";
+ pickup frame_pen;
+ z1=(0, 6uh);
+ eye(1,2,3,4)(12uw,12uh);
+ draw_eye(1,2,3,4);
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_visarga,8uw#+rm#,20uh#,0); "U+0D03 malayalam sign visarga";
+ pickup frame_pen;
+ % first eye
+ z1=(0, 4uh);
+ eye(1,2,3,4)(8uw,8uh);
+ draw_eye(1,2,3,4);
+ % second eye
+ z5=(0, 16uh);
+ eye(5,6,7,8)(8uw,8uh);
+ draw_eye(5,6,7,8);
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_a,42uw#+rm#,20uh#,0); "U+0D05 malayalam letter a";
+ pickup frame_pen;
+ % first bow
+ z1=(4uw, 0);
+ z2=(0, 10uh);
+ z3=(9uw, 20uh);
+ % three-like shape
+ z4=(16uw, 13uh);
+ z5=(13uw, 9uh);
+ z6=(8uw, 9uh);
+ z7=(17uw, 4uh);
+ % second bow
+ z8=(13uw, 0);
+ z9=z6;
+ z10=(17uw, 20uh);
+ z11=(25uw, 10uh);
+ z12=(x11, .5uh);
+ % third bow
+ z13=(34uw, 20uh);
+ z14=(42uw, 10uh);
+ z15=(37uw, 0);
+ z16=(34uw, 5uh);
+ z17=(40uw, 16uh);
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}--z6;
+ draw z6--z5{right}..z7{down}..z8{left}..z9{up}..z10{right}..z11{down}--z12;
+ draw z12--z11{up}..z13{right}..z14{down}..z15{left}..z16{up}..z17;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+beginchar(c_aa,49uw#+rm#,20uh#,6uh#); "U+0D06 malayalam letter aa";
+ % uses definition of "malayalam letter a"
+ pickup frame_pen;
+ % first bow
+ z1=(4uw, 0);
+ z2=(0, 10uh);
+ z3=(9uw, 20uh);
+ % three-like shape
+ z4=(16uw, 13uh);
+ z5=(13uw, 9uh);
+ z6=(8uw, 9uh);
+ z7=(17uw, 4uh);
+ % second bow
+ z8=(13uw, 0);
+ z9=z6;
+ z10=(17uw, 20uh);
+ z11=(25uw, 10uh);
+ z12=(x11, .5uh);
+ % third bow
+ z13=(34uw, 20uh);
+ z14=(42uw, 10uh);
+ end_loop_tail(14,15,16,17,18,19,20);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5{left}--z6;
+ draw z6--z5{right}..z7{down}..z8{left}..z9{up}..z10{right}..z11{down}--z12;
+ draw z12--z11{up}..z13{right}..z14{down}..z15{left}..z16{up}..
+ z17{right}..z18{down}..z19{left}..z20;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+
+beginchar(c_i,32uw#+rm#,20uh#,10uh#); "U+0D07 malayalam letter i";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10,11');
+ z11=(23uw, -4uh);
+ z12=(6uw, y11);
+ z13=(2uw, -7uh);
+ z14=(x12, -10uh);
+ z15=(34uw, y14);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z11---z12..z13{down}..
+ z14---z15;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar(c_u,22uw#+rm#,20uh#,10uh#); "U+0D09 malayalam letter u";
+ pickup frame_pen;
+ % eye
+ z1=(1uw, 6uh);
+ z2=(6uw, 12uh);
+ z3=(11uw, y1);
+ z4=(x2, 0);
+ % bow
+ z5=(0, 10uh);
+ z6=(11uw, 20uh);
+ z7=(22uw, 8uh);
+ % tail below
+ z8=(13uw, -4uh);
+ z9=(5uw, y8);
+ z10=(1uw, -7uh);
+ z11=(x9, -10uh);
+ z12=(24uw, y11);
+ draw z1{up}..z2{right}..z3{down}..z4{left}..cycle;
+ draw z4{left}..z5{up}..z6{right}..z7{down}..z8---z9..
+ z10{down}..z11---z12;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_vocalic_r, 28uw#+rm#, 20uh#, 16uh#); "U+0D0B malayalam letter vocalic r";
+ pickup frame_pen;
+ % first eye
+ z1=(1uw, 14uh);
+ z2=(6uw, 8uh);
+ z3=(11uw, y1);
+ z4=(x2, 20uh);
+ % upper bow
+ z5=(0, 10uh);
+ z6=(10uw, 0);
+ z6'=(18uw, 0);
+ z7=(28uw, 10uh);
+ % second eye
+ z8=(x7 - 1uw, 14uh);
+ z9=(x7 - 6uw, 20uh);
+ z10=(x7 - 11uw, y8);
+ z11=(x9, 8uh);
+ % lower bow
+ z12=(0, -8uh);
+ z13=(10uw, -16uh);
+ z13'=(18uw, -16uh);
+ z14=(28uw, -8uh);
+
+ draw_eye(1,4,3,2);
+ draw_eye(10,9,8,11);
+ draw z4{left}..z5{down}..z6---z6'..z7{up}..z9{left};
+ draw z12{down}..z13---z13'..z14{up}..z6'---z6..cycle;
+ penlabels(1,2,3,4,5,6,6',7,8,9,10,11,12,13,13',14);
+endchar;
+
+if unknown newfont:
+beginchar(c_vocalic_rr, 28uw#+rm#, 20uh#, 16uh#); "U+0D60 malayalam letter vocalic rr";
+ % uses definition of "malayalam letter vocalic rr"
+ pickup frame_pen;
+ % first eye
+ z1=(1uw, 14uh);
+ z2=(6uw, 8uh);
+ z3=(11uw, y1);
+ z4=(x2, 20uh);
+ % upper bow
+ z5=(0, 10uh);
+ z6=(10uw, 0);
+ z6'=(18uw, 0);
+ z7=(28uw, 10uh);
+ % second eye
+ z8=(x7 - 1uw, 14uh);
+ z9=(x7 - 6uw, 20uh);
+ z10=(x7 - 11uw, y8);
+ z11=(x9, 8uh);
+ % lower bow
+ z12=(0, -8uh);
+ z13=(10uw, -16uh);
+ z13'=(18uw, -16uh);
+ z14=(28uw, -8uh);
+
+ draw_eye(1,4,3,2);
+ draw_eye(10,9,8,11);
+ draw z4{left}..z5{down}..z6---z6'..z7{up}..z9{left};
+ draw z12{down}..z13---z13'..z14{up}..z6'---z6..cycle;
+
+ % inner m-like shape; different from "malayalam letter vocalic r"
+ % first bow
+ z15=(8uw, -11uh);
+ z16=(7uw, -8uh);
+ z17=(10.5uw, -4uh);
+ z18=(14uw, -9uh);
+ z19=(x18, y15);
+ % second bow
+ z20=(28uw - 10.5uw, y17);
+ z21=(28uw - 7uw, y16);
+ z22=(28uw - 8uw, y15);
+ pickup sub_pen;
+ draw z15..z16{up}..z17{right}..z18{down}---z19;
+ draw z19---z18{up}..z20{right}..z21{down}..z22;
+
+ penlabels(1,2,3,4,5,6,6',7,8,9,10,11,12,13,13',14,15,16,17,18,19,20,21,22);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_vocalic_l,34uw#+rm#,20uh#,0); "U+0D0C malayalam letter vocalic l";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=(26uw, 20uh);
+ z10=(34uw, 10uh);
+ end_loop(10,11,12,13);
+
+ draw z1{up}..z2{right}..z3{down}..z4{left}..cycle;
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z11{left}..z12{up}..z13;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_vocalic_ll,41uw#+rm#,20uh#,6uh#); "U+0D61 malayalam letter vocalic ll";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=(26uw, 20uh);
+ z10=(34uw, 10uh);
+ end_loop_tail(10,11,12,13,14,15,16);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z11{left}..z12{up}..
+ z13{right}..z14{down}..z15{left}..z16;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+fi;
+
+beginchar(c_e,42uw#+rm#,20uh#,10uh#); "U+0D0E malayalam letter e";
+ pickup frame_pen;
+ % first bow
+ z1=(4uw, 0);
+ z2=(0, 7uh);
+ z3=(7uw, 14uh);
+ z4=(14uw, y2);
+ z5=(10uw, 0);
+ % lying bar
+ z5'=(13uw, 0.5uh);
+ z6=(31uw, y5');
+ % standing bar
+ z7=(x6, 16uh);
+ z8=(27uw, -10uh);
+ % second bow
+ z9=(21uw, 5uh);
+ z10=(32uw, 20uh);
+ z11=(42uw, y9);
+ z12=(34uw, y8);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5;
+ draw z5..z5'---z6;
+ draw z7---z6..z8{left}..z9{up}..z10{right}..z11{down}..{left}z12;
+ penlabels(1,2,3,4,5,5',6,7,8,9,10,11,12);
+endchar;
+
+beginchar(c_ee,42uw#+rm#,20uh#,10uh#); "U+0D0F malayalam letter ee";
+ % uses definition of "malayalam letter e"
+ pickup frame_pen;
+ % first bow
+ z1=(4uw, 0);
+ z2=(0, 7uh);
+ z3=(7uw, 14uh);
+ z4=(14uw, y2);
+ z5=(10uw, 0);
+ % lying bar
+ z5'=(13uw, 0.5uh);
+ z6=(31uw, y5');
+ % standing bar
+ z7=(x6, 16uh);
+ z8=(27uw, -10uh);
+ % second bow
+ z9=(21uw, 5uh);
+ z10=(32uw, 20uh);
+ % differs from "malayalam letter e"
+ z11=(42uw, 10uh);
+ % lower bow of three-like shape
+ z12=(34uw, y5');
+ z13=(42uw, -5uh);
+ z14=(x12, -10uh);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5;
+ draw z5..z5'---z6;
+ draw z7---z6..z8{left}..z9{up}..z10{right}..z11{down}..{left}z12;
+ draw z12{right}..z13{down}..{left}z14;
+ penlabels(1,2,3,4,5,5',6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar(c_o,22uw#+rm#,20uh#,0); "U+0D12 malayalam letter o";
+ pickup frame_pen;
+ front_eye(1,2,3,4,5);
+ % first bow
+ z5=(0, 10uh);
+ z6=(11uw, 20uh);
+ z7=(19uw, 14uh);
+ z8=(15uw, 10uh);
+ z9=(22uw, 5uh);
+ z10=(16uw, 0);
+ z11=(14uw, 0.5uh);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}..{left}z8;
+ draw z8{right}..z9{down}..z10{left}..z11;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+%%%%%% vowel signs
+
+beginchar(c_sign_aa,14uw#+rm#,20uh#,0); "U+0D3E malayalam vowel sign aa";
+ pickup frame_pen;
+ z1=(0, 15uh);
+ z2=(7uw, 20uh);
+ z3=(14uw, 10uh);
+ z4=(x2, 0);
+ z5=(0, 5uh);
+ draw z1..z2{right}..z3{down}..z4{left}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+
+beginchar(c_sign_i,4uw#+rm#,30uh#,0); "U+0D3F malayalam vowel sign i";
+ pickup frame_pen;
+ z1=(-10uw, 25uh);
+ z2=(-3uw, 30uh);
+ z3=(4uw, 20uh);
+ z4=(4uw, 0);
+ draw z1{up}..z2{right}..z3{down}---z4;
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(c_sign_ii,8uw#+rm#,30uh#,0); "U+0D40 malayalam vowel sign ii";
+ pickup frame_pen;
+ z1=(-6uw, 25uh);
+ z2=(1uw, 30uh);
+ z3=(8uw, 20uh);
+ z4=(8uw, 0);
+ eye(1,5,6,7)(7uw,7uh);
+ draw_eye(1,5,6,7);
+ draw z1{up}..z2{right}..z3{down}---z4;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+if unknown newfont:
+beginchar(c_sign_u,8uw#+rm#,0,9uh#); "U+0D41 malayalam vowel sign u";
+ pickup sub_pen;
+ % eye (diameter = 8)
+ z1=(0, -5uh);
+ eye(1,2,3,4)(8uw,8uh);
+ draw_eye(1,2,3,4);
+ penlabels(1,2,3,4);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(c_sign_uu,10uw#+rm#,0,11uh#); "U+0D42 malayalam vowel sign uu";
+ pickup sub_pen;
+ z1=(0, -6uh);
+ eye(1,2,3,4)(10uw, 10uh);
+ eye(5,2,6,7)(6uw,6uh);
+ draw_eye(1,2,3,4);
+ draw_eye(5,2,6,7);
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+fi;
+
+beginchar(c_ref_sign_u,8uw#+rm#,20uh#,8uh#); "reformed script vowel sign u";
+ pickup frame_pen;
+ z1=(0uw, 20uh);
+ z2=(5uw, 12uh);
+ z3=(4uw, 0);
+ eye(4,3,5,6)(8uw, 8uh);
+
+ draw z1..z2{down}..z3{down};
+ draw_eye(4,3,5,6);
+ penlabels(1,2,3,4,6);
+endchar;
+
+beginchar(c_ref_sign_uu,9uw#+rm#,20uh#,9uh#); "reformed script vowel sign uu";
+ pickup frame_pen;
+ z1=(1uw, 20uh);
+ z2=(6uw, 12uh);
+ z3=(5uw, 0);
+ eye(4',3,7,8)(9uw, 9uh);
+ z4=z7-(.45uw, -2.25uh);
+ z6=z4'+(1.8uw, 2.25uh);
+ z5=(.5[x6,x4], y3 - 4.5uh);
+ z9=z4'-(0, 1.35uh);
+
+ draw z1..z2{down}..z3{down};
+ draw z4..z5{left}..z6{up}..z3{right}..z7{down}..z8{left}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+if unknown newfont:
+beginchar(c_sign_vocalic_r,20uw#+rm#,0,11uh#); "U+0D43 malayalam vowel sign vocalic r";
+ pickup frame_pen;
+ z1=(20uw, 0.5uh);
+ vowel_sign_vocalic_r(1,2,3,4,5);
+ draw z1{down}..z2{left}..z3{up}..z4{right}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+fi;
+
+beginchar(c_ref_sign_vocalic_r,12uw#+rm#,20uh#,10uh#); "reformed script vowel sign vocalic r";
+ pickup frame_pen;
+ z1=(8uw, 19.5uh);
+ z2=(7uw, 12uh);
+ z3=(12uw, -4uh);
+ z8=(.5[x3,x5], -10uh);
+ y6=0;
+ x5=0;
+ eye(5,6,7,4)(7uw, 7uh);
+ draw z1..z2..z3{down}..z8{left}..z5{up};
+ draw_eye(5,6,7,4);
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+if unknown newfont:
+beginchar(c_sign_vocalic_rr,20uw#+rm#,0,12uh#); "U+0D44 malayalam vowel sign vocalic rr";
+ pickup frame_pen;
+ z1=(20uw, 0);
+ z2=(x1-12uw, -12uh);
+ z3=(x1-20uw, -8uh);
+ z4=(x2-4uw, -5uh);
+ z5=(x2, y3-2uh);
+ z6=(x2+4uw, y4);
+ z7=(x1-4uw, -7uh);
+ draw z1{down}..z2{left}..z3{up}..z4{right}..z5{down}---z2;
+ draw z2---z5{up}..z6{right}..z7;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+fi;
+
+beginchar(c_sign_e,2.0u#+rm#,ht#,0); "U+0D46 malayalam vowel sign e";
+ wd := 2.0u;
+ pickup frame_pen;
+ % from "malayalam letter i"
+ % eye
+ z1=(1/20wd, 6/20h);
+ z2=(6/20wd, 12/20h);
+ z3=(11/20wd, y1);
+ z4=(x2, 0);
+ % bow
+ z5=(0, 1/2h);
+ z6=(10/20wd, h);
+ % differs from "malayalam letter i"
+ z7=(wd, 1/2h);
+ z8=(16/20wd, 0);
+ draw z1{up}..z2{right}..z3{down}..z4{left}..cycle;
+ draw z4{left}..z5{up}..z6{right}..z7{down}..z8;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_sign_ee,1.6u#+rm#,ht#,0); "U+0D47 malayalam vowel sign ee";
+ wd := 1.6u;
+ pickup frame_pen;
+ % upper eye (diameter = 6)
+ z1=(13/16wd, 19/20h);
+ z2=(10/16wd, 16/20h);
+ z3=(x1, 13/20h);
+ z4=(wd, y2);
+ % bow
+ z5=(9/16wd, h);
+ z6=(0, 1/2h);
+ z7=(x5, 0);
+ % lower eye (diameter = 6)
+ z8=(x1, 1/20h);
+ z9=(x4, 4/20h);
+ z10=(x1, 7/20h);
+ z11=(x2, y9);
+ draw z2{up}..z1{right}..z4{down}..z3{left}..cycle;
+ draw z4{up}..z5{left}..z6{down}..z7{right}..{up}z9;
+ draw z11{up}..z10{right}..z9{down}..z8{left}..cycle;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(c_au_length_mark,2.0u#+rm#,ht#,0); "U+0D57 malayalam au length mark";
+ wd := 2.0u;
+ pickup frame_pen;
+ % first bow
+ z1=(2/20wd, 8/20h);
+ z2=(0, 14/20h);
+ z3=(5/20wd, h);
+ z4=(10/20wd, 13/20h);
+ z5=(x4, 8/20h);
+ % second bow
+ z6=(15/20wd, h);
+ z7=(wd, 11/20h);
+ z8=(10/20wd, 0);
+ draw z1..z2{up}..z3{right}..z4{down}---z5;
+ draw z5---z4{up}..z6{right}..z7{down}..z8{left};
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(c_virama,10uw#+rm#,26uh#,0); "U+0D4D malayalam sign virama";
+ pickup frame_pen;
+ z2=(0, 26uh);
+ z3=(.5[x2,x4], 21uh);
+ z4=(10uw, y2);
+ draw z2{down}..z3{right}..z4{up};
+ penlabels(2,3,4);
+endchar;
+
+%%%%%% end of mmvowels.mf
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/orn10.mf b/Master/texmf-dist/fonts/source/public/malayalam/orn10.mf
new file mode 100644
index 00000000000..12785024741
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/orn10.mf
@@ -0,0 +1,86 @@
+% orn10.mf -- 10pt Ornaments
+% copyright 1993 Jeroen Hellingman
+% last edit: 16-MAR-1993
+
+mode_setup;
+
+%%%%% parameters
+
+ht# := 1.667mm#; % height of characters
+u# := 0.8333mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.5pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.2pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.3pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 10pt#;
+font_identifier := "ORN10";
+
+%%%%%% dimensions
+
+uw# := 0.1u#; % unit of width
+uh# := 0.05ht#; % unit of height
+
+define_pixels(rm,u,uw,uh);
+define_whole_pixels(ht);
+
+currenttransform := currenttransform shifted (.5rm, 0);
+
+%%%%%% set the remaining font parameters
+
+font_slant := slant;
+font_quad := 20uw#;
+font_x_height := 20uh#;
+font_normal_space := 14uw#;
+font_normal_stretch := 8uw#;
+font_normal_shrink := 2uw#;
+
+currenttransform := currenttransform slanted slant;
+
+%%%%%% pen definitions
+
+penwd# :=thick# * cosd(rot-90);
+usthick# := thick#;
+mb# := .2ht#;
+define_pixels(penwd,usthick,mb);
+define_blacker_pixels(thin,thick,subthick);
+thin := max(thin,1); subthick := max(subthick,1);
+smoothing := 0;
+pickup pencircle xscaled thick yscaled thin rotated rot;
+scpenwd := pen_rt - pen_lft;
+frame_pen := savepen;
+pickup pencircle xscaled subthick yscaled thin rotated rot;
+sub_pen := savepen;
+
+%%%%%% character definitions
+
+beginchar(1,150uw#+rm#,5uh#,5uh#) "ornament 1";
+ numeric width; width = 150uw;
+ numeric height; height = 4uh;
+
+ z1=(0, 0);
+ z2=(width, 0);
+ pickup penrazor scaled thin rotated 90;
+ draw z1--z2;
+
+ z3=(.5width-height, 0);
+ z4=(.5width, height);
+ z5=(.5width+height, 0);
+ z6=(.5width, -height);
+
+ fill z3{up}..z4{right}..z5{down}..z6{left}..cycle;
+
+ z7=(15uw, .5thin);
+ z8=(.5width - 14uw, .9height);
+ z9=(.5width - 7uw, 0);
+ z10=(x8, -.9height);
+ z11=(x7, -.5thin);
+
+ fill z7{right}..z8{right}..z9{down}..z10{left}..z11{left}..cycle;
+ fill (z7{right}..z8{right}..z9{down}..z10{left}..z11{left}..cycle) reflectedabout ((.5width, 0), (.5width, 1));
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/rejected.mf b/Master/texmf-dist/fonts/source/public/malayalam/rejected.mf
new file mode 100644
index 00000000000..7da0c89c780
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/rejected.mf
@@ -0,0 +1,273 @@
+%%%%%% rejected glyphs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar(106,26uw#+rm#,28uh#,0); "variant malayalam digit four";
+ pickup frame_pen;
+ z1=(0uw, 0uh);
+ z2=(0uw, 28uh);
+ z3=.5[z1,z2];
+ z4=(15uw, y3);
+ z5=(20uw, .5[y3, y6]);
+ z6=(15uw, 0uh);
+ z7=(10uw, y5);
+ z8=(26uw, 24uh);
+ z9=(x8-6uw, 28uh);
+
+ draw z1--z2;
+ draw z3--z4{right}..z5{down}..z6{left}..z7{up}..z8{up}..z9;
+ penlabels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar(109,20uw#+rm#,25uh#,5uh#); "variant malayalam digit seven";
+ pickup frame_pen;
+ transform t;
+ picture p;
+ t = identity rotatedaround ((0,0), -90) shifted (0, 25uh);
+ x2=14uw;
+ y4=0uh;
+ eye(1,2,3,4)(12uw,12uh);
+ z5=(10uw, 0);
+ z6=(0, 10uh);
+ z7=(12uw, 20uh);
+ z8=(30uw, 0);
+
+ draw_eye(1,2,3,4);
+ draw z4..z5{left}..z6{up}..z7{right}..z8{down};
+ p := currentpicture;
+ clearit;
+ currentpicture := p transformed t;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(196,46uw#+rm#,20uh#,5uh#); "bh+dha";
+ pickup frame_pen;
+ x2=0;
+ letter_bha(1,2,3,4,5,6,7,8,9,10,11,12');
+ z12=z12'-(0, 3uh);
+ z13=(.5[x12,x14], -5uh);
+ x14=28uw;
+ letter_dha(13',14',15',14,15,16,17,18);
+
+ draw z1..z2{up}..z3{right}..z4{down}..z5..z6..z7{down}..
+ z8..z9..z10{down}..z11{left}..z12{down}..z13{right}..
+ z14{up}---z15;
+ draw z14{down}..z16{right}..z17{up}..z18;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+% version of ja with standard height (tail not hanging under base-
+% line). This glyph looks only nice in normal style in high
+% resolution, not at 300dpi.
+
+def var_letter_ja(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) =
+% define points of "malayalam letter ja"
+% x coordinates relative to x.a
+% y coordinates absolute;
+ % first eye
+ z.a=(x.a, 13.5uh);
+ eye(a,b,c,d)(7uw, 7uh);
+ % first bow
+ z.e=(x.a, 14uh);
+ z.f=(x.a+7uw, 20uh);
+ z.g=(x.a+14uw, 14uh);
+ z.h=(x.g, 10.5uh);
+ % second bow
+ z.i=(x.a+20uw, 20uh);
+ z.j=(x.a+26uw, 14uh);
+ % tail
+ z.k=(x.a+13uw, 7.5uh);
+ z.l=(x.a+.5uw, 3uh);
+ z.m=(x.a+6uw, 0uh);
+ z.n=(x.a+14uw, 3uh);
+ % second eye (diameter = 5)
+ z.p=(x.a+23uw, 5uh);
+ eye(o,p,q,r)(5uw, 5uh);
+enddef;
+
+beginchar(28,26uw#+rm#,20uh#,0); "U+0D1C malayalam letter ja";
+ pickup frame_pen;
+ x1 = 0uw;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}...z12{down}...
+ z13{right}..z14..{right}z16;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar(162,58uw#+rm#,20uh#,0); "j+ja";
+ pickup frame_pen;
+ x1=0;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15',16',17',18');
+ z14=(24uw, 5uh);
+ x1a=32uw;
+ var_letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}...z12{down}...
+ z13{right}..z14..z1a{up};
+
+ draw_eye(1a,2a,3a,4a);
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a{left}...z12a{down}...
+ z13a{right}..z14a..{right}z16a;
+ draw_eye(15a,16a,17a,18a);
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+endchar;
+
+beginchar(184,74uw#+rm#,20uh#,0); "j+nya";
+ pickup frame_pen;
+ x1 = 0uw;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15,16,17,18);
+ z14=(24uw, 5uh);
+
+ x1a=32uw;
+ letter_nya(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a);
+
+ draw_eye(1a,2a,3a,4a);
+ draw z4a{left}..z5a{up}..z6a{right}..z7a{down}---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a{left}..z12a{up}..
+ z13a{right}..z14a{down}..z15a;
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11{left}...z12{down}...
+ z13{right}..z14..{right}z2a;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+% versions of ny+ca and sh+ca with little connecting eye
+
+beginchar(185,60uw#+rm#,20uh#,0); "ny+ca";
+ % link eye is same as in "sh+ca"
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9',10',11');
+ z9=z9'+(2uw, 0);
+ z10=z10'+(2uw, 1uh);
+ x17=24uw;
+ letter_ca(12',13',14,15,16,17,18,19);
+ z12=(.5[x10,x13], y12');
+ z13=(x13', y10'-1.25uh);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10{down}..z12{left}..z13{up}..
+ z14{right}..z15{down}..z16{left};
+ draw z17--z18 & z18--z19;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar(197,54uw#+rm#,ht#,0); "sh+ca";
+ % link eye is same as in "ny+ca"
+ pickup frame_pen;
+ x2=0;
+ letter_sha(1,2,3,4,5,6',7',8',9');
+ z6=z6'+(0, 1uh);
+ x15=22uw;
+ letter_ca(10',11',12,13,14,15,16,17);
+ z10=(.5[x6,x11], y10');
+ z11=(x11', y6'-1.25uh);
+
+ draw z1..z2{down}..z3{right}..z4{up}..z5{right}..z6{down}..
+ z10{left}..z11{up}..z12{right}..z13{down}..z14{left};
+ draw z15--z16 & z16--z17;
+ penlabels(1,2,3,4,5,6,10,11,12,13,14,15,16,17);
+endchar;
+
+% wide and big vowel signs i and ii
+
+beginchar(63,2uw#+rm#,36uh#,0); "U+0D3F malayalam vowel sign i";
+ pickup frame_pen;
+ z1=(-14uw, 28uh);
+ z2=(-6uw, 36uh);
+ z3=(2uw, 25uh);
+ z4=(2uw, 0);
+ draw z1{up}..z2{right}..z3{down}---z4;
+ penlabels(1,2,3,4);
+endchar;
+
+beginchar(64,2uw#+rm#,36uh#,0); "U+0D40 malayalam vowel sign ii";
+ pickup frame_pen;
+ z1=(-14uw, 28uh);
+ z2=(-6uw, 36uh);
+ z3=(2uw, 25uh);
+ z4=(2uw, 0);
+ eye(1,5,6,7)(8uw,8uh);
+ draw_eye(1,5,6,7);
+ draw z1{up}..z2{right}..z3{down}---z4;
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+% one of the many attempts...
+
+beginchar(83,14uw#+rm#,20uh#,14uh#); "secondary ya";
+ pickup frame_pen;
+ z1=(10uw, 20uh);
+ z2=(7uw, 10uh);
+ z3=(14uw, -7uh);
+ z4=(7uw, -14uh);
+ z5=(0, -7uh);
+ z6=(3uw, 0);
+ draw z1..z2{down}..z3{down}..z4{left}..z5{up}..z6{up};
+ penlabels(1,2,3,4,5,6);
+endchar;
+
+beginchar(72,10uw#+rm#,25uh#,0); "reformed script vowel sign u";
+ pickup frame_pen;
+ z1=(0uw, 25uh);
+ z2=(3uw, 17.5uh);
+ z5=(0, 5uh);
+ eye(5,6,7,8)(10uw, 10uh);
+
+ draw z1..z2{down}..z5{down};
+ draw_eye(5,6,7,8);
+ penlabels(1,2,5,6,7,8);
+endchar;
+
+beginchar(73,12uw#+rm#,25uh#,0); "reformed script vowel sign uu";
+ pickup frame_pen;
+ z1=(0uw, 25uh);
+ z2=(3uw, 17.5uh);
+ z5=(0, 6uh);
+ eye(5,6,7,8)(12uw, 12uh);
+ eye(9,6,10,11)(7uw, 7uh);
+
+ draw z1..z2{down}..z5{down};
+ draw_eye(5,6,7,8);
+ draw_eye(9,6,10,11);
+ penlabels(1,2,5,6,7,8,9,10,11);
+endchar;
+
+beginchar(74,14uw#+rm#,20uh#,0); "reformed script secondary ra";
+ pickup frame_pen;
+ z1=(14uw, 15uh);
+ z2=(7uw, h);
+ z3=(0, 10uh);
+ z4=(x2, 0);
+ z5=(x1, 5uh);
+ draw z1..z2{left}..z3{down}..z4{right}..z5;
+ penlabels(1,2,3,4,5);
+endchar;
+
+beginchar(47,32uw#+rm#,ht#,0); "U+0D2F malayalam letter ya";
+ pickup frame_pen;
+ z1=(10.5uw, 16uh);
+ z2=(16uw, 20uh);
+ z3=(22uw, 12uw);
+ z4=(11uw, 0);
+ z5=(0, 12uh);
+ z6=(5uw, 19uh);
+ z7=(13uw, 10uh);
+ z8=(23uw, 0);
+ z9=(32uw, 10uh);
+ z10=(28uw, 20uh);
+ draw z1..z2{right}..z3{down}..z4{left}..z5{up}..z6{right}..
+ z7..z8{right}..z9{up}..z10;
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm10.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm10.mf
new file mode 100644
index 00000000000..f637e1f1b4c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm10.mf
@@ -0,0 +1,21 @@
+% mm10.mf -- parameters for 10pt Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 1.667mm#; % height of characters
+u# := 0.8333mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.545pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.545pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.545pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 10pt#;
+font_identifier := "MM10";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm10s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm10s.mf
new file mode 100644
index 00000000000..59fe6668d18
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm10s.mf
@@ -0,0 +1,23 @@
+% mm10s.mf -- parameters for 10pt subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.333mm#; % height of characters (80%)
+u# := 0.667mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.545pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.545pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.545pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 10pt#;
+font_identifier := "MM10S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm12.mf
new file mode 100644
index 00000000000..a3d6bd6fb55
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm12.mf
@@ -0,0 +1,21 @@
+% mm12.mf -- parameters for 12pt Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.0mm#; % unit width (.5ht)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.655pt#; % thickness of thickest lines (was .8)
+thin# := 0.655pt#; % thickness of thinnest lines (was .5)
+subthick# := 0.655pt#; % thickness of thickest lines in subscribed characters (was .5)
+
+font_size := 12pt#;
+font_identifier := "MM12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm12s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm12s.mf
new file mode 100644
index 00000000000..68569226068
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm12s.mf
@@ -0,0 +1,24 @@
+% mm12s.mf -- parameters for 12pt subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.6mm#; % height of characters (80%)
+u# := 0.8mm#; % unit width (.5ht) (80%)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.655pt#; % thickness of thickest lines (was .8)
+thin# := 0.655pt#; % thickness of thinnest lines (was .5)
+subthick# := 0.655pt#; % thickness of thickest lines in subscribed characters (was .5)
+
+font_size 12pt#;
+font_identifier := "MM12S";
+
+input mmdefs.mf;
+input mmfont.mf;
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm17.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm17.mf
new file mode 100644
index 00000000000..65019248f52
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm17.mf
@@ -0,0 +1,21 @@
+% mm17.mf -- parameters for 17pt Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+ht# := 2.88mm#; % height of characters
+u# := 1.30mm#; % unit width (.5ht)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.943pt#; % thickness of thickest lines (was 1.151)
+thin# := 0.943pt#; % thickness of thinnest lines (was 0.719)
+subthick# := 0.943pt#; % thickness of thickest lines in subscribed characters (was 0.719)
+
+font_size 17.28pt#;
+font_identifier := "MM17";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm17s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm17s.mf
new file mode 100644
index 00000000000..c50dbbd6273
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm17s.mf
@@ -0,0 +1,23 @@
+% mm17s.mf -- parameters for 17pt Malayalam subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 2.304mm#; % height of characters (80%)
+u# := 1.04mm#; % unit width (.5ht) (80%)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 0.943pt#; % thickness of thickest lines (was 1.151)
+thin# := 0.943pt#; % thickness of thinnest lines (was 0.719)
+subthick# := 0.943pt#; % thickness of thickest lines in subscribed characters (was 0.719)
+
+font_size 17.28pt#;
+font_identifier := "MM17S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm6.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm6.mf
new file mode 100644
index 00000000000..1182118cb63
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm6.mf
@@ -0,0 +1,21 @@
+% mm6.mf -- parameters for 6pt Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 29-NOV-1992
+
+mode_setup;
+
+ht# := 1.0mm#; % height of characters
+u# := 0.6mm#; % unit width (.5ht)
+rm# := 0.36mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.35pt#; % thickness of thickest lines
+thin# := 0.35pt#; % thickness of thinnest lines
+subthick# := 0.35pt#; % thickness of thickest lines in subscribed characters
+
+font_size 6pt#;
+font_identifier := "MM6";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm6s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm6s.mf
new file mode 100644
index 00000000000..ae46be17fa7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm6s.mf
@@ -0,0 +1,23 @@
+% mm6s.mf -- parameters for 6pt subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 29-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 0.8mm#; % height of characters (80%)
+u# := 0.48mm#; % unit width (.5ht) (80%)
+rm# := 0.36mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.35pt#; % thickness of thickest lines
+thin# := 0.35pt#; % thickness of thinnest lines
+subthick# := 0.35pt#; % thickness of thickest lines in subscribed characters
+
+font_size 6pt#;
+font_identifier := "MM6S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm8.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm8.mf
new file mode 100644
index 00000000000..84230fe4e13
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm8.mf
@@ -0,0 +1,21 @@
+% mm8.mf -- parameters for 8pt Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 1.333mm#; % height of characters
+u# := 0.7mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.437pt#; % thickness of thickest lines (was 0.533)
+thin# := 0.437pt#; % thickness of thinnest lines (was 0.333)
+subthick# := 0.437pt#; % thickness of thickest lines in subscribed characters (was 0.333)
+
+font_size 8pt#;
+font_identifier := "MM8";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mm8s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm8s.mf
new file mode 100644
index 00000000000..bc03b45c230
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mm8s.mf
@@ -0,0 +1,23 @@
+% mm8s.mf -- parameters for 8pt Malayalam subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.0664mm#; % height of characters (80%)
+u# := 0.56mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.437pt#; % thickness of thickest lines (was 0.533)
+thin# := 0.437pt#; % thickness of thinnest lines (was 0.333)
+subthick# := 0.437pt#; % thickness of thickest lines in subscribed characters (was 0.333)
+
+font_size 8pt#;
+font_identifier := "MM8S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10.mf
new file mode 100644
index 00000000000..4fe428daffc
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10.mf
@@ -0,0 +1,22 @@
+% mmb10.mf -- parameters for 10pt Malayalam bold
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 1.667mm#; % height of characters
+u# := 0.875mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.85pt#; % thickness of thickest lines
+thin# := 0.85pt#; % thickness of thinnest lines
+subthick# := 0.85pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMB10";
+
+input mmdefs.mf;
+input mmfont.mf;
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10s.mf
new file mode 100644
index 00000000000..ec9c39550a6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb10s.mf
@@ -0,0 +1,23 @@
+% mmb10s.mf -- parameters for 10pt Malayalam bold subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.333mm#; % height of characters (80%)
+u# := 0.7mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.85pt#; % thickness of thickest lines
+thin# := 0.85pt#; % thickness of thinnest lines
+subthick# := 0.85pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMB10S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12.mf
new file mode 100644
index 00000000000..19743451dd7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12.mf
@@ -0,0 +1,21 @@
+% mmb12.mf -- parameters for 12pt Malayalam bold
+% copyright 1992 Jeroen Hellingman
+% last edit: 29-NOV-1992
+
+mode_setup;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.05mm#; % unit width (.5ht)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 1.05pt#; % thickness of thickest lines
+thin# := 1.05pt#; % thickness of thinnest lines
+subthick# := 1.05pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMB12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12s.mf
new file mode 100644
index 00000000000..a41eaa47730
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb12s.mf
@@ -0,0 +1,23 @@
+% mmb12s.mf -- parameters for 12pt Malayalam bold subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 29-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.6mm#; % height of characters (80%)
+u# := 0.84mm#; % unit width (.5ht) (80%)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 1.05pt#; % thickness of thickest lines
+thin# := 1.05pt#; % thickness of thinnest lines
+subthick# := 1.05pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMB12S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17.mf
new file mode 100644
index 00000000000..e362e2ea444
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17.mf
@@ -0,0 +1,21 @@
+% mmb17.mf -- parameters for 17pt Malayalam Bold
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+ht# := 2.88mm#; % height of characters
+u# := 1.37mm#; % unit width (.5ht)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 1.512pt#; % thickness of thickest lines (was 1.151)
+thin# := 1.512pt#; % thickness of thinnest lines (was 0.719)
+subthick# := 1.512pt#; % thickness of thickest lines in subscribed characters (was 0.719)
+
+font_size 17.28pt#;
+font_identifier := "MMB17";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17s.mf
new file mode 100644
index 00000000000..f939c30d0b6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmb17s.mf
@@ -0,0 +1,23 @@
+% mmb17s.mf -- parameters for 17pt Malayalam Bold subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 2.304mm#; % height of characters (80%)
+u# := 1.092mm#; % unit width (.5ht) (80%)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 1.512pt#; % thickness of thickest lines (was 1.151)
+thin# := 1.512pt#; % thickness of thinnest lines (was 0.719)
+subthick# := 1.512pt#; % thickness of thickest lines in subscribed characters (was 0.719)
+
+font_size 17.28pt#;
+font_identifier := "MMB17S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmbig.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmbig.mf
new file mode 100644
index 00000000000..268383d9955
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmbig.mf
@@ -0,0 +1,23 @@
+% mmbig.mf -- parameters for big Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+newfont := 1;
+
+ht# := 3.5mm#; % height of characters
+u# := 1.5mm#; % unit width (.5ht)
+rm# := 1.125mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.625mm#; % thickness of thickest lines
+thin# := 0.625mm#; % thickness of thinnest lines
+subthick# := 0.625mm#; % thickness of thickest lines in subscribed characters
+
+font_size 3.5mm#;
+font_identifier := "MMBIG";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmbigo.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmbigo.mf
new file mode 100644
index 00000000000..5b8ec1cc1a7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmbigo.mf
@@ -0,0 +1,25 @@
+% mmbigo.mf -- parameters for big Malayalam outline
+% (c) 1993 Jeroen Hellingman
+% last edit: 22-JAN-1993
+
+mode_setup;
+
+newfont := 1;
+
+ht# := 3.5mm#; % height of characters
+u# := 1.5mm#; % unit width (.5ht)
+rm# := 1.125mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.625mm#; % thickness of thickest lines
+thin# := 0.625mm#; % thickness of thinnest lines
+subthick# := 0.625mm#; % thickness of thickest lines in subscribed characters
+
+font_size 3.5mm#;
+font_identifier := "MMBIGO";
+
+input effect.mf
+input mmdefs
+pattern;
+input mmfont
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10.mf
new file mode 100644
index 00000000000..50640d8e1f2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10.mf
@@ -0,0 +1,21 @@
+% mmc10.mf -- parameters for 10pt Malayalam calligraphic
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 1.667mm#; % height of characters
+u# := 0.8333mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 0.75pt#; % thickness of thickest lines
+thin# := 0.333pt#; % thickness of thinnest lines
+subthick# := 0.550pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMC10";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10s.mf
new file mode 100644
index 00000000000..31b02bde227
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc10s.mf
@@ -0,0 +1,23 @@
+% mmc10s.mf -- parameters for 10pt Malayalam calligraphic subfont
+% copyright 1992 Jeroen Hellingman
+% last edit: 19-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.333mm#; % height of characters (80%)
+u# := 0.667mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 0.75pt#; % thickness of thickest lines
+thin# := 0.333pt#; % thickness of thinnest lines
+subthick# := 0.550pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMC10S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12.mf
new file mode 100644
index 00000000000..7362f053281
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12.mf
@@ -0,0 +1,21 @@
+% mmc12.mf -- parameters for 12pt Malayalam calligraphic
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.0mm#; % unit width (.5ht)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen (was: 135)
+thick# := 0.9pt#; % thickness of thickest lines
+thin# := 0.4pt#; % thickness of thinnest lines
+subthick# := 0.661pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMC12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12s.mf
new file mode 100644
index 00000000000..010bff0ec6f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc12s.mf
@@ -0,0 +1,24 @@
+% mmc12s.mf -- parameters for 12pt calligraphic subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.6mm#; % height of characters (80%)
+u# := 0.8mm#; % unit width (.5ht) (80%)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen (was: 135)
+thick# := 0.9pt#; % thickness of thickest lines
+thin# := 0.4pt#; % thickness of thinnest lines
+subthick# := 0.661pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMC12S";
+
+input mmdefs.mf;
+input mmfont.mf;
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17.mf
new file mode 100644
index 00000000000..40f33096869
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17.mf
@@ -0,0 +1,21 @@
+% mmc17.mf -- parameters for 17pt Malayalam Calligraphic
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+ht# := 2.88mm#; % height of characters
+u# := 1.30mm#; % unit width (.5ht)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 1.296pt#; % thickness of thickest lines
+thin# := 0.576pt#; % thickness of thinnest lines
+subthick# := 0.952pt#; % thickness of thickest lines in subscribed characters
+
+font_size 17.28pt#;
+font_identifier := "MMC17";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17s.mf
new file mode 100644
index 00000000000..6228287577d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmc17s.mf
@@ -0,0 +1,23 @@
+% mmc17s.mf -- parameters for 17pt Malayalam calligraphic subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 2.304mm#; % height of characters (80%)
+u# := 1.04mm#; % unit width (.5ht) (80%)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 1.296pt#; % thickness of thickest lines
+thin# := 0.576pt#; % thickness of thinnest lines
+subthick# := 0.952pt#; % thickness of thickest lines in subscribed characters
+
+font_size 17.28pt#;
+font_identifier := "MMC17S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10.mf
new file mode 100644
index 00000000000..692285d00d1
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10.mf
@@ -0,0 +1,21 @@
+% mmcb10.mf -- parameters for 10pt Malayalam calligraphic bold
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-DEC-1992
+
+mode_setup;
+
+ht# := 1.667mm#; % height of characters
+u# := 0.875mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 1.167pt#; % thickness of thickest lines
+thin# := 0.416pt#; % thickness of thinnest lines
+subthick# := 0.832pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMCB10";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10s.mf
new file mode 100644
index 00000000000..f5ee731714f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb10s.mf
@@ -0,0 +1,23 @@
+% mmcb10s.mf -- parameters for 10pt Malayalam calligraphic bold subfont
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-DEC-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.333mm#; % height of characters (80%)
+u# := 0.700mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 1.167pt#; % thickness of thickest lines
+thin# := 0.416pt#; % thickness of thinnest lines
+subthick# := 0.832pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMCB10S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12.mf
new file mode 100644
index 00000000000..bd9f5699d63
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12.mf
@@ -0,0 +1,21 @@
+% mmcb12.mf -- parameters for 12pt Malayalam calligraphic bold
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-NOV-1992
+
+mode_setup;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.05mm#; % unit width (.5ht)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen (was: 135)
+thick# := 1.4pt#; % thickness of thickest lines
+thin# := 0.5pt#; % thickness of thinnest lines
+subthick# := 1.0pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMCB12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12s.mf
new file mode 100644
index 00000000000..09357cf276b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb12s.mf
@@ -0,0 +1,24 @@
+% mmcb12s.mf -- parameters for 12pt calligraphic bold subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.6mm#; % height of characters (80%)
+u# := 0.84mm#; % unit width (.5ht) (80%)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen (was: 135)
+thick# := 1.4pt#; % thickness of thickest lines
+thin# := 0.5pt#; % thickness of thinnest lines
+subthick# := 1.0pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMCB12S";
+
+input mmdefs.mf;
+input mmfont.mf;
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17.mf
new file mode 100644
index 00000000000..54dfffeb3b3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17.mf
@@ -0,0 +1,21 @@
+% mmcb17.mf -- parameters for 17pt Malayalam Calligraphic Bold
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+ht# := 2.88mm#; % height of characters
+u# := 1.37mm#; % unit width (.5ht)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 2.000pt#; % thickness of thickest lines
+thin# := 0.650pt#; % thickness of thinnest lines
+subthick# := 1.350pt#; % thickness of thickest lines in subscribed characters
+
+font_size 17.28pt#;
+font_identifier := "MMCB17";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17s.mf
new file mode 100644
index 00000000000..381dafaee71
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcb17s.mf
@@ -0,0 +1,23 @@
+% mmcb17s.mf -- parameters for 17pt Malayalam Calligraphic Bold subscribed
+% copyright 1992 Jeroen Hellingman
+% last edit: 02-JAN-1993
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 2.304mm#; % height of characters (80%)
+u# := 1.092mm#; % unit width (.5ht) (80%)
+rm# := 0.864mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 2.000pt#; % thickness of thickest lines
+thin# := 0.650pt#; % thickness of thinnest lines
+subthick# := 1.350pt#; % thickness of thickest lines in subscribed characters
+
+font_size 17.28pt#;
+font_identifier := "MMCB17S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10.mf
new file mode 100644
index 00000000000..6e40b0f03ac
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10.mf
@@ -0,0 +1,21 @@
+% mmcsl10.mf -- parameters for 10pt Malayalam calligraphic slanted
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-DEC-1992
+
+mode_setup;
+
+ht# := 1.667mm#; % height of characters
+u# := 0.8333mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 0.75pt#; % thickness of thickest lines
+thin# := 0.333pt#; % thickness of thinnest lines
+subthick# := 0.550pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMCSL10";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10s.mf
new file mode 100644
index 00000000000..858d1dc8cde
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl10s.mf
@@ -0,0 +1,23 @@
+% mmcsl10s.mf -- parameters for 10pt Malayalam calligraphic slanted subfont
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-DEC-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.333mm#; % height of characters (80%)
+u# := 0.667mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 45; % angle of pen
+thick# := 0.75pt#; % thickness of thickest lines
+thin# := 0.333pt#; % thickness of thinnest lines
+subthick# := 0.550pt#; % thickness of thickest lines in subscribed characters
+
+font_size 10pt#;
+font_identifier := "MMCSL10S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12.mf
new file mode 100644
index 00000000000..922c2b6fccc
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12.mf
@@ -0,0 +1,21 @@
+% mmcsl12.mf -- parameters for 12pt Malayalam calligraphic slanted
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-NOV-1992
+
+mode_setup;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.0mm#; % unit width (.5ht)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 45; % angle of pen (was: 135)
+thick# := 0.9pt#; % thickness of thickest lines
+thin# := 0.4pt#; % thickness of thinnest lines
+subthick# := 0.661pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMCSL12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12s.mf
new file mode 100644
index 00000000000..20c350520f4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmcsl12s.mf
@@ -0,0 +1,24 @@
+% mmcsl12s.mf -- parameters for 12pt calligraphic slanted subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.6mm#; % height of characters (80%)
+u# := 0.8mm#; % unit width (.5ht) (80%)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 45; % angle of pen (was: 135)
+thick# := 0.9pt#; % thickness of thickest lines
+thin# := 0.4pt#; % thickness of thinnest lines
+subthick# := 0.661pt#; % thickness of thickest lines in subscribed characters
+
+font_size 12pt#;
+font_identifier := "MMCSL12S";
+
+input mmdefs.mf;
+input mmfont.mf;
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpa12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpa12.mf
new file mode 100644
index 00000000000..35c1a130f6f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpa12.mf
@@ -0,0 +1,25 @@
+% mmexpa12.mf -- parameters for experimental Malayalam A 12pt
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-DEC-1992
+
+% horizonatal strokes thin, vertical strokes thick, roughly approach
+% traditional style
+
+mode_setup;
+newfont:=1;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.25mm#; % unit width (.5ht)
+rm# := 0.7mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 0; % angle of pen
+thick# := 1.25pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.30pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 1.0pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 12pt#;
+font_identifier := "MMEXPA12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpb12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpb12.mf
new file mode 100644
index 00000000000..9acf9e034dd
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpb12.mf
@@ -0,0 +1,24 @@
+% mmexpb12.mf -- parameters for experimental Malayalam B 12pt
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-DEC-1992
+
+% very thin, high characters, somewhat like Avant Garde.
+
+mode_setup;
+newfont:=1;
+
+ht# := 2.0mm#; % height of characters
+u# := 0.833mm#; % unit width (.5ht)
+rm# := 0.333mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 0; % angle of pen
+thick# := 0.2pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.2pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.2pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 12pt#;
+font_identifier := "MMEXPB12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpc12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpc12.mf
new file mode 100644
index 00000000000..da3b9e7c5e6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmexpc12.mf
@@ -0,0 +1,24 @@
+% mmexpc12.mf -- parameters for experimental Malayalam C 12pt
+% copyright 1992 Jeroen Hellingman
+% last edit: 28-DEC-1992
+
+% thin, high and characters.
+
+mode_setup;
+newfont:=1;
+
+ht# := 2.0mm#; % height of characters
+u# := 0.857mm#; % unit width (.5ht)
+rm# := 0.343mm#; % space inbetween characters
+slant := 0; % slant of characters
+
+rot = 90; % angle of pen
+thick# := 0.686pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.229pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.457pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 12pt#;
+font_identifier := "MMEXPC12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10.mf
new file mode 100644
index 00000000000..6ce290ad469
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10.mf
@@ -0,0 +1,21 @@
+% mmsl10.mf -- parameters for 10pt Malayalam Slanted
+% copyright 1992 Jeroen Hellingman
+% last edit: 06-DEC-1992
+
+mode_setup;
+
+ht# := 1.667mm#; % height of characters
+u# := 0.8333mm#; % unit width (.5ht)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.545pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.545pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.545pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 10pt#;
+font_identifier := "MMSL10";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10s.mf
new file mode 100644
index 00000000000..5ad60b7bfe1
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl10s.mf
@@ -0,0 +1,23 @@
+% mmsl10s.mf -- parameters for Malayalam Slanted 10pt Subscript
+% copyright 1992 Jeroen Hellingman
+% last edit: 06-DEC-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.333mm#; % height of characters (80%)
+u# := 0.667mm#; % unit width (.5ht) (80%)
+rm# := 0.5mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.545pt#; % thickness of thickest lines (was 0.666)
+thin# := 0.545pt#; % thickness of thinnest lines (was 0.416)
+subthick# := 0.545pt#; % thickness of thickest lines in subscribed characters (was 0.416)
+
+font_size 10pt#;
+font_identifier := "MMSL10S";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12.mf
new file mode 100644
index 00000000000..7af75292799
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12.mf
@@ -0,0 +1,21 @@
+% mmsl12.mf -- parameters for 12pt slanted Malayalam
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+ht# := 2.0mm#; % height of characters
+u# := 1.0mm#; % unit width (.5ht)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.655pt#; % thickness of thickest lines (was .8)
+thin# := 0.655pt#; % thickness of thinnest lines (was .5)
+subthick# := 0.655pt#; % thickness of thickest lines in subscribed characters (was .5)
+
+font_size 12pt#;
+font_identifier := "MMSL12";
+
+input mmdefs.mf;
+input mmfont.mf;
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12s.mf b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12s.mf
new file mode 100644
index 00000000000..7f2e846fcca
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/styles/mmsl12s.mf
@@ -0,0 +1,24 @@
+% mmsl12s.mf -- parameters for 12pt slanted subscript font
+% copyright 1992 Jeroen Hellingman
+% last edit: 27-NOV-1992
+
+mode_setup;
+
+subfont := 1;
+
+ht# := 1.6mm#; % height of characters (80%)
+u# := 0.8mm#; % unit width (.5ht) (80%)
+rm# := 0.6mm#; % space inbetween characters
+slant := 0.17; % slant of characters
+
+rot = 145; % angle of pen
+thick# := 0.655pt#; % thickness of thickest lines (was .8)
+thin# := 0.655pt#; % thickness of thinnest lines (was .5)
+subthick# := 0.655pt#; % thickness of thickest lines in subscribed characters (was .5)
+
+font_size 12pt#;
+font_identifier := "MMSL12S";
+
+input mmdefs.mf;
+input mmfont.mf;
+
diff --git a/Master/texmf-dist/fonts/source/public/malayalam/var_ja.mf b/Master/texmf-dist/fonts/source/public/malayalam/var_ja.mf
new file mode 100644
index 00000000000..b243118f6a6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/malayalam/var_ja.mf
@@ -0,0 +1,199 @@
+% var_ja.mf -- malayalam variant of ja
+% copyright 1992 Jeroen Hellingman
+% last edit: 29-NOV-1992
+
+% version of ja with standard height (tail not hanging under base-
+% line). Some glyphs still needs to be adapted to this ja shape:
+% j+ju, j+juu.
+
+def var_letter_ja(suffix a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) =
+% define points of "malayalam letter ja"
+% x coordinates relative to x.a
+% y coordinates absolute;
+ % first eye (diameter = 7)
+ z.a=(x.a, 15uh);
+ eye(a,b,c,d)(7uw, 7uh);
+ % first bow
+ z.e=(x.a, 15uh);
+ z.f=(x.a+7uw, 20uh);
+ z.g=(x.a+14uw, 15uh);
+ z.h=(x.g, 12.5uh);
+ % second bow
+ z.i=(x.a+20uw, 20uh);
+ z.j=(x.a+26uw, 15uh);
+ % tail
+ z.k=(x.a+13uw, 8.5uh);
+ z.l=(x.a+2uw, 3uh); % was (x.a+.5uw, 3uh)
+ z.m=(x.a+6uw, 0uh);
+ z.n=(x.a+14uw, 3uh);
+ % second eye (diameter = 5)
+ z.p=(x.a+23uw, 5uh);
+ eye(o,p,q,r)(5uw, 5uh);
+enddef;
+
+beginchar(28,26uw#+rm#,20uh#,0); "U+0D1C malayalam letter ja";
+ pickup frame_pen;
+ x1 = 0uw;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..{right}z16;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar(162,58uw#+rm#,20uh#,0); "j+ja";
+ pickup frame_pen;
+ x1=0;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15',16',17',18');
+ z14=(24uw, 5uh);
+ x1a=32uw;
+ var_letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z1a{up};
+
+ draw_eye(1a,2a,3a,4a);
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a..z12a{down}..
+ z13a{right}..z14a..{right}z16a;
+ draw_eye(15a,16a,17a,18a);
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+endchar;
+
+beginchar(184,77uw#+rm#,20uh#,0); "j+nya";
+ pickup frame_pen;
+ x1 = 0uw;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14',15,16,17,18);
+ z14=(24uw, 5uh);
+ x1a=32uw;
+ letter_nya(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..{right}z2a;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+
+ draw_eye(1a,2a,3a,4a);
+ draw z4a{left}..z5a{up}..z6a{right}..z7a{down}---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a{left}..z12a{up}..
+ z13a{right}..z14a{down}..z15a;
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a);
+endchar;
+
+beginchar(186,52uw#+rm#,20uh#,0uh#); "ny+ja";
+ pickup frame_pen;
+ x5=0uw;
+ half_ba(1,2,3,4,5,6,7,8,9,10',11');
+ z10=z9+(4uw, -2uh);
+ x1a=26uw;
+ var_letter_ja(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+
+ draw_eye(1,2,3,4);
+ draw z4{left}..z5{up}..z6{right}..z7{down}--z8;
+ draw z8--z7{up}..z9{right}..z10;
+
+ draw_eye(1a,2a,3a,4a);
+ draw z1a..z5a{up}..z6a{right}..{down}z7a---z8a;
+ draw z8a---z7a{up}..z9a{right}..z10a{down}..z11a..z12a{down}..
+ z13a{right}..z14a..{right}z16a;
+ draw_eye(15a,16a,17a,18a);
+
+ penlabels(1,2,3,4,5,6,7,8,9,10);
+ penlabels(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a,13a,14a,15a,16a,17a,18a);
+endchar;
+
+if unknown newfont:
+beginchar(203,40uw#+rm#,20uh#,8uh#); "j+ra";
+ pickup frame_pen;
+ x1=8uw;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ % tail for ra
+ z19=(34uw, 6uh);
+ z20=(40uw, 0uh);
+ subscribed_ra(20,21,22,23,24)(8uh);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z19{right}..z20{down}..z21..z22..
+ z23{up}..z24;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(131,31uw#+rm#,20uh#,10uh#); "ju";
+ pickup frame_pen;
+ x1=0;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ % tail for u
+ z19=(26uw, 6uh);
+ z20=(31uw, .5[y19,y21]);
+ x23=.5uw;
+ vowel_sign_u(20,21',22,23,24,25);
+ z21=(x19, y21');
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z19{right}..z20{down}..{left}z21---
+ z22{left}..z23{down}..{right}z24---z25;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25);
+endchar;
+fi;
+
+if unknown newfont:
+beginchar(142,32uw#+rm#,20uh#,10uh#); "juu";
+ pickup frame_pen;
+ x1=0;
+ var_letter_ja(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+ % tail for uu
+ z19=(29uw, 6.5uh);
+ z21=(x19, .5[y19,y22]);
+ z22=(x19, -4uh);
+ z23=(x24+3uw, y22);
+ z24=(.5uw, -7uh);
+ z25=(x23, -10uh);
+ z26=(32uw, y25);
+
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw_eye(1,2,3,4);
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..z19{right}..z21{left};
+ draw z21{right}..{left}z22---z23{left}..z24{down}..{right}z25---z26;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26);
+endchar;
+fi;
+
+endinput;
+
+beginchar(255,26uw#+rm#,20uh#,10uh#); "special letter ja";
+ pickup frame_pen;
+ x1 = 0uw;
+ letter_ja(1,2,3,4,5,6,7,8,9,10,11,12',13',14',15',16',17',18');
+ z12=(x12', -5uh);
+ z13=(10uw, -10uh);
+ z14=(25uw, -7uh);
+ z16=(60uw, -2uh);
+ eye(15,16,17,18)(8uw, 8uh);
+
+ draw_eye(1,2,3,4);
+ draw z1..z5{up}..z6{right}..{down}z7---z8;
+ draw z8---z7{up}..z9{right}..z10{down}..z11..z12{down}..
+ z13{right}..z14..{right}z16;
+ draw_eye(15,16,17,18);
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+% end of var_ja.mf