summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-24 22:39:41 +0000
committerKarl Berry <karl@freefriends.org>2014-06-24 22:39:41 +0000
commitf6eb5e32a3216df4119aa66ebf304146e1556600 (patch)
tree4dfba62386afc2adcbf0d6842ab632d6f39024d5 /Master/texmf-dist/fonts/source
parent5f82586b4490bd606e4410739e1c089c54ed323b (diff)
fetamont (3jun14)
git-svn-id: svn://tug.org/texlive/trunk@34387 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source')
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmbase.mf315
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_A.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_AE.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Abreve.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Acircumflex.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Adieresis.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Agrave.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aogonek.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aring.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Atilde.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_B.mf26
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_C.mf19
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Cacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccedilla.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_D.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Dcaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_E.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecircumflex.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Edieresis.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Egrave.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eng.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eogonek.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eth.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_F.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_G.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Gbreve.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Germandbls.mf28
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_H.mf19
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_I.mf10
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_IJ.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Iacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Icircumflex.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idieresis.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idotaccent.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Igrave.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_J.mf15
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_K.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_L.mf12
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lcaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lslash.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_M.mf15
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_N.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Nacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ncaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ntilde.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_O.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_OE.mf27
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ocircumflex.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Odieresis.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ograve.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ohungarumlaut.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oslash.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Otilde.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_P.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Q.mf19
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_R.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Racute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Rcaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_S.mf29
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Sacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scedilla.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_T.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcedilla.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Thorn.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_U.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ucircumflex.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Udieresis.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ugrave.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uhungarumlaut.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uring.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_V.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_W.mf16
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_X.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Y.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Yacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ydieresis.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Z.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zacute.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zcaron.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zdotaccent.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_acute.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ampersand.mf36
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciicircum.mf10
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciitilde.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asterisk.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_at.mf35
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_backslash.mf8
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bar.mf8
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceleft.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceright.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketleft.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketright.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_breve.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_caron.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cedilla.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_circumflex.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_colon.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_comma.mf8
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cwm.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dash.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dieresis.mf12
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dollar.mf30
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dotaccent.mf8
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_eight.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_emdash.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_endash.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_equal.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclam.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclamdown.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ff.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffi.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffl.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fi.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_five.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fl.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_four.mf16
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_grave.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_greater.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotleft.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotright.mf18
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglleft.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglright.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hungarumlaut.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hyphen.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ijlower.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_less.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_macron.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_nine.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_numbersign.mf24
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ogonek.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_one.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenleft.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenright.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_percent.mf27
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_period.mf7
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_perthousandzero.mf12
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_plus.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_question.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_questiondown.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedbl.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblbase.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblleft.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblright.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteleft.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteright.mf10
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotesinglbase.mf8
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ring.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_section.mf31
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_semicolon.mf12
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_seven.mf11
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_six.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_slash.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_sterling.mf26
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_three.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_tilde.mf19
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_two.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_underscore.mf8
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_visiblespace.mf12
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchar_zero.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchars_nonscalable.mf1164
-rw-r--r--Master/texmf-dist/fonts/source/public/fetamont/ffmchars_scalable.mf808
170 files changed, 2010 insertions, 2089 deletions
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmbase.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmbase.mf
index 8eb2e809376..d4a74796d3a 100644
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmbase.mf
+++ b/Master/texmf-dist/fonts/source/public/fetamont/ffmbase.mf
@@ -629,17 +629,31 @@ enddef;
% chain two chars like "f" and "l" to "fl"
def ffmchainedchar(expr namea,nameb,namec) =
beginchar(
+ enc(namea)+code_offset,
+ charwidths_[enc(nameb)+code_offset]
+ +charwidths_[enc(namec)+code_offset],
+ max(charheights_[enc(nameb)+code_offset],
+ +charheights_[enc(namec)+code_offset]),
+ max(chardepths_[enc(nameb)+code_offset],
+ +chardepths_[enc(namec)]+code_offset)
+ );
+ charic:=charitalcorrs_[enc(nameb)+code_offset];
+ addto currentpicture also charpictures_[enc(nameb)+code_offset];
+ addto currentpicture also charpictures_[enc(namec)+code_offset]
+ shifted (charwidths_[enc(nameb)+code_offset]*hppp,0);
+ endchar;
+enddef;
+
+% copy a letter nameb to namea
+def ffmcopiedchar(expr namea,nameb) =
+ beginchar(
enc(namea),
- charwidths_[enc(nameb)]
- +charwidths_[enc(namec)],
- max(charheights_[enc(nameb)],
- +charheights_[enc(namec)]),
- max(chardepths_[enc(nameb)],
- +chardepths_[enc(namec)])
+ charwidths_[enc(nameb)],
+ charheights_[enc(nameb)],
+ chardepths_[enc(nameb)]
);
charic:=charitalcorrs_[enc(nameb)];
addto currentpicture also charpictures_[enc(nameb)];
- addto currentpicture also charpictures_[enc(namec)] shifted (charwidths_[enc(nameb)]*hppp,0);
endchar;
enddef;
@@ -675,173 +689,12 @@ def dotcircle(expr zi,zj) =
zi..zj..cycle & zi
enddef;
-% accents
-input ffmchar_acute
-input ffmchar_grave
-input ffmchar_dieresis
-input ffmchar_circumflex
-input ffmchar_tilde
-input ffmchar_hungarumlaut
-input ffmchar_ring
-input ffmchar_caron
-input ffmchar_breve
-input ffmchar_macron
-input ffmchar_dotaccent
-input ffmchar_cedilla
-input ffmchar_ogonek
-% punctation
-input ffmchar_visiblespace
-input ffmchar_period
-input ffmchar_colon
-input ffmchar_comma
-input ffmchar_semicolon
-input ffmchar_exclam
-input ffmchar_question
-input ffmchar_parenleft
-input ffmchar_parenright
-input ffmchar_hyphen
-input ffmchar_emdash
-input ffmchar_endash
-input ffmchar_cwm
-input ffmchar_quotedbl
-input ffmchar_quoteleft
-input ffmchar_quoteright
-input ffmchar_quotedblleft
-input ffmchar_quotedblright
-input ffmchar_quotesinglbase
-input ffmchar_quotedblbase
-input ffmchar_guilsinglleft
-input ffmchar_guilsinglright
-input ffmchar_guillemotleft
-input ffmchar_guillemotright
-input ffmchar_percent
-input ffmchar_perthousandzero
-input ffmchar_slash
-input ffmchar_plus
-input ffmchar_equal
-input ffmchar_numbersign
-input ffmchar_dollar
-input ffmchar_ampersand
-input ffmchar_asterisk
-input ffmchar_less
-input ffmchar_greater
-input ffmchar_at
-input ffmchar_bracketleft
-input ffmchar_backslash
-input ffmchar_bracketright
-input ffmchar_asciicircum
-input ffmchar_underscore
-input ffmchar_braceleft
-input ffmchar_bar
-input ffmchar_braceright
-input ffmchar_asciitilde
-input ffmchar_dash
-input ffmchar_section
-input ffmchar_exclamdown
-input ffmchar_questiondown
-input ffmchar_sterling
-% uppercase letters
-input ffmchar_A
-input ffmchar_AE
-input ffmchar_B
-input ffmchar_C
-input ffmchar_D
-input ffmchar_Eth
-input ffmchar_E
-input ffmchar_F
-input ffmchar_G
-input ffmchar_H
-input ffmchar_I
-input ffmchar_J
-input ffmchar_K
-input ffmchar_L
-input ffmchar_Lslash
-input ffmchar_M
-input ffmchar_N
-input ffmchar_Eng
-input ffmchar_O
-input ffmchar_OE
-input ffmchar_P
-input ffmchar_Thorn
-input ffmchar_Q
-input ffmchar_R
-input ffmchar_S
-input ffmchar_Germandbls
-input ffmchar_T
-input ffmchar_U
-input ffmchar_V
-input ffmchar_W
-input ffmchar_X
-input ffmchar_Y
-input ffmchar_Z
-% chained uppercase letters
-input ffmchar_IJ
-% combined uppercase letters
-input ffmchar_Aacute
-input ffmchar_Agrave
-input ffmchar_Adieresis
-input ffmchar_Acircumflex
-input ffmchar_Atilde
-input ffmchar_Aring
-input ffmchar_Abreve
-input ffmchar_Aogonek
-input ffmchar_Cacute
-input ffmchar_Ccaron
-input ffmchar_Ccedilla
-input ffmchar_Dcaron
-input ffmchar_Eacute
-input ffmchar_Egrave
-input ffmchar_Edieresis
-input ffmchar_Ecircumflex
-input ffmchar_Ecaron
-input ffmchar_Eogonek
-input ffmchar_Gbreve
-input ffmchar_Iacute
-input ffmchar_Igrave
-input ffmchar_Idieresis
-input ffmchar_Icircumflex
-input ffmchar_Idotaccent
-input ffmchar_Lacute
-input ffmchar_Lcaron
-input ffmchar_Nacute
-input ffmchar_Ntilde
-input ffmchar_Ncaron
-input ffmchar_Oacute
-input ffmchar_Ograve
-input ffmchar_Odieresis
-input ffmchar_Ocircumflex
-input ffmchar_Otilde
-input ffmchar_Ohungarumlaut
-input ffmchar_Oslash
-input ffmchar_Racute
-input ffmchar_Rcaron
-input ffmchar_Sacute
-input ffmchar_Scaron
-input ffmchar_Scedilla
-input ffmchar_Tcaron
-input ffmchar_Tcedilla
-input ffmchar_Uacute
-input ffmchar_Ugrave
-input ffmchar_Udieresis
-input ffmchar_Ucircumflex
-input ffmchar_Uhungarumlaut
-input ffmchar_Uring
-input ffmchar_Yacute
-input ffmchar_Ydieresis
-input ffmchar_Zacute
-input ffmchar_Zcaron
-input ffmchar_Zdotaccent
-% digits
-input ffmchar_zero
-input ffmchar_one
-input ffmchar_two
-input ffmchar_three
-input ffmchar_four
-input ffmchar_five
-input ffmchar_six
-input ffmchar_seven
-input ffmchar_eight
-input ffmchar_nine
+% general letters with no lowercase counterpart
+input ffmchars_nonscalable
+% uppercase with lowercase counterpart
+input ffmchars_scalable
+% uppercase with no lowercase counterpart
+ffmcombinedchar("Idotaccent","I","dotaccent","top",ht#+acc_ht#,0);
% now try again with lowercase settings
ht#:=x_ht#; % new characters height (for lowercase)
@@ -849,116 +702,24 @@ u#:=.9u#; % new unit width
barheight#:=.5x_ht#; % new height of bar lines (for lowercase)
define_pixels(u);
define_good_y_pixels(barheight);
-
code_offset:=ASCII"a" - ASCII"A";
-% majuscules (in lowercase positions)
-input ffmchar_A
-input ffmchar_AE
-input ffmchar_B
-input ffmchar_C
-input ffmchar_D
-input ffmchar_Eth
-input ffmchar_E
-input ffmchar_F
-input ffmchar_G
-input ffmchar_H
-input ffmchar_I
-input ffmchar_J
-input ffmchar_K
-input ffmchar_L
-input ffmchar_Lslash
-input ffmchar_M
-input ffmchar_N
-input ffmchar_Eng
-input ffmchar_O
-input ffmchar_OE
-input ffmchar_P
-input ffmchar_Thorn
-input ffmchar_Q
-input ffmchar_R
-input ffmchar_S
-input ffmchar_Germandbls
-input ffmchar_T
-input ffmchar_U
-input ffmchar_V
-input ffmchar_W
-input ffmchar_X
-input ffmchar_Y
-input ffmchar_Z
-% chained lowercase letters
-input ffmchar_ff
-input ffmchar_fi
-input ffmchar_fl
-input ffmchar_ffi
-input ffmchar_ffl
-input ffmchar_ijlower
-% combined lowercase letters
-input ffmchar_Aacute
-input ffmchar_Agrave
-input ffmchar_Adieresis
-input ffmchar_Acircumflex
-input ffmchar_Atilde
-input ffmchar_Aring
-input ffmchar_Abreve
-input ffmchar_Aogonek
-input ffmchar_Cacute
-input ffmchar_Ccaron
-input ffmchar_Ccedilla
-input ffmchar_Dcaron
-input ffmchar_Eacute
-input ffmchar_Egrave
-input ffmchar_Edieresis
-input ffmchar_Ecircumflex
-input ffmchar_Ecaron
-input ffmchar_Eogonek
-input ffmchar_Gbreve
-input ffmchar_Iacute
-input ffmchar_Igrave
-input ffmchar_Idieresis
-input ffmchar_Icircumflex
-input ffmchar_Lacute
-input ffmchar_Lcaron
-input ffmchar_Nacute
-input ffmchar_Ntilde
-input ffmchar_Ncaron
-input ffmchar_Oacute
-input ffmchar_Ograve
-input ffmchar_Odieresis
-input ffmchar_Ocircumflex
-input ffmchar_Otilde
-input ffmchar_Ohungarumlaut
-input ffmchar_Oslash
-input ffmchar_Racute
-input ffmchar_Rcaron
-input ffmchar_Sacute
-input ffmchar_Scaron
-input ffmchar_Scedilla
-input ffmchar_Tcaron
-input ffmchar_Tcedilla
-input ffmchar_Uacute
-input ffmchar_Ugrave
-input ffmchar_Udieresis
-input ffmchar_Ucircumflex
-input ffmchar_Uhungarumlaut
-input ffmchar_Uring
-input ffmchar_Yacute
-input ffmchar_Ydieresis
-input ffmchar_Zacute
-input ffmchar_Zcaron
-input ffmchar_Zdotaccent
-% the dotless section (dotlessi, dotlessj)
-code_offset:=-48;
-input ffmchar_I
-input ffmchar_J
-% dstroke is here a smaller variant of Eth
-code_offset:=-50;
-input ffmchar_Eth
+input ffmchars_scalable
% restore the most important things
code_offset:=0;
u#:=u#/.9;
define_pixels(u);
+
+ffmcopiedchar("dotlessi","i");
+ffmcopiedchar("dotlessj","j");
+ffmcopiedchar("dcroat","eth");
+ffmchainedchar("ff","f","f");
+ffmchainedchar("fi","f","i");
+ffmchainedchar("fl","f","l");
+ffmchainedchar("ffi","ff","i");
+ffmchainedchar("ffl","ff","l");
+
% kernings
numeric kernclassesf_[][], % list of kerning classes (first position)
kernclassess_[][], % list of kerning classes (second position)
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_A.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_A.mf
deleted file mode 100644
index 514db7668cd..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_A.mf
+++ /dev/null
@@ -1,20 +0,0 @@
-ffmchar("A",15,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=.5w+noise;
-w-x4=leftstemloc+noise;
-w-x5=leftstemloc+noise;
-bot y1=noise-o;
-y2=barheight+noise;
-top y3=h+o; %no noise because of Aring
-y4=barheight+noise;
-bot y5=noise-o;
-bot y6=0; %no noise
-z6=whatever[z4,z5];
-draw z1--z2--z4--z5;
-draw half(z2,z2-z1,z3,randrt,z4,z5-z4);
-charanchortops_[charcode]=(.5w,h);
-charanchorbots_[charcode]=z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_AE.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_AE.mf
deleted file mode 100644
index 578e2c5996b..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_AE.mf
+++ /dev/null
@@ -1,21 +0,0 @@
-ffmchar("AE",22,ht#,0);
-italcorr .9ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=.5w+noise;
-x4=.5w+noise;
-x5=w-leftstemloc+o+noise;
-x6=w-leftstemloc+o-xgap+noise;
-x7=w-leftstemloc+o+noise;
-bot y1=noise-o;
-y2=barheight+noise;
-top y3=h+noise;
-bot y4=noise;
-top y5=h+noise;
-y6=barheight+noise;
-bot y7=noise;
-draw z1--z2--z6;
-draw arc(z2,z2-z1,z3,z5-z3);
-draw z5--z3--z4--z7;
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aacute.mf
deleted file mode 100644
index cc87e8fe851..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Aacute","A","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Abreve.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Abreve.mf
deleted file mode 100644
index 62ce05685ca..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Abreve.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Abreve","A","breve","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Acircumflex.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Acircumflex.mf
deleted file mode 100644
index 735f5c611f4..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Acircumflex.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Acircumflex","A","circumflex","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Adieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Adieresis.mf
deleted file mode 100644
index e748e1da8f1..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Adieresis.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Adieresis","A","dieresis","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Agrave.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Agrave.mf
deleted file mode 100644
index 9ef8e45ae72..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Agrave.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Agrave","A","grave","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aogonek.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aogonek.mf
deleted file mode 100644
index b25f6dc56e1..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aogonek.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Aogonek","A","ogonek","bot",ht#,comma_depth#);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aring.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aring.mf
deleted file mode 100644
index bc0ad9be9f1..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Aring.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Aring","A","ring","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Atilde.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Atilde.mf
deleted file mode 100644
index d6676fa1704..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Atilde.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Atilde","A","tilde","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_B.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_B.mf
deleted file mode 100644
index c7868866a43..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_B.mf
+++ /dev/null
@@ -1,26 +0,0 @@
-ffmchar("B",14,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-x3=leftstemloc+noise;
-x7=.5[w-x1,lft w]+noise;
-x5=.85[x1,x7]+noise;
-x8=.5[x1,x5]+noise;
-x4=.4[x1,x5]+noise;
-x6=.4[x1,x5]+noise;
-bot y1=noise;
-y2=barheight+noise;
-top y3=h+noise;
-y4=y3+noise;
-y6=y2+noise;
-bot y8=noise;
-y5=.5[y4,y6]+noise;
-y7=.5[y6,y8]+noise;
-z2=whatever[z1,z3];
-z9=whatever[z2,z6];
-draw z1--z3--z4
- & half(z4,z4-z3,z5,-randup,z6,z2-z6)
- & z6--z2;
-draw half(z6,z6-z2,z7,-randup,z8,z1-z8)
- & z8--z1;
-labels(1,2,3,4,5,6,7,8);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_C.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_C.mf
deleted file mode 100644
index 7e1efc249bd..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_C.mf
+++ /dev/null
@@ -1,19 +0,0 @@
-ffmchar("C",14,ht#,0);
-italcorr ht#*slant;
-x1=w-leftstemloc+ho+noise;
-x2=.55w+noise;
-x3=good.x(1.5u+s+noise);
-x4=.55w+noise;
-x5=w-leftstemloc+ho+noise;
-top y1=h+noise;
-top y2=h+noise;
-y3=barheight+noise;
-bot y4=0; %no noise!
-z5=z4+whatever*randrt;
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,z5-z4)
- & z4--z5;
-charanchortops_[charcode]=(.5w,h);
-charanchorbots_[charcode]=z4;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Cacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Cacute.mf
deleted file mode 100644
index 28c30d89206..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Cacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Cacute","C","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccaron.mf
deleted file mode 100644
index d25dd19243a..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ccaron","C","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccedilla.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccedilla.mf
deleted file mode 100644
index 0d976033fc7..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ccedilla.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ccedilla","C","cedilla","bot",ht#,acc_depth#);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_D.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_D.mf
deleted file mode 100644
index 44b5f973866..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_D.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("D",14,ht#,0);
-italcorr .9ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=.45w+noise;
-x5=.45w+noise;
-w-x4=good.x(1.5u+s+noise);
-bot y1=noise;
-bot y5=noise;
-top y2=h+noise;
-top y3=h+noise;
-y4=barheight+noise;
-draw z1--z2--z3
- & half(z3,z3-z2,z4,-randup,z5,z1-z5)
- & z5--cycle;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Dcaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Dcaron.mf
deleted file mode 100644
index e39a96f469c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Dcaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Dcaron","D","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_E.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_E.mf
deleted file mode 100644
index e9aa19dbf72..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_E.mf
+++ /dev/null
@@ -1,22 +0,0 @@
-ffmchar("E",14,ht#,0);
-italcorr .9ht#*slant;
-x1=leftstemloc+noise;
-x3=leftstemloc+noise;
-x4=w-leftstemloc+ho+noise;
-x5=w-leftstemloc+ho-xgap+noise;
-x6=w-leftstemloc+ho+noise;
-x7=.9[x1,x6];
-bot y1=noise;
-y2=barheight+noise;
-top y3=h+noise;
-top y4=h+noise;
-y5=barheight+noise;
-bot y7=0;
-z2=whatever[z1,z3];
-z6=whatever[z1,z7];
-draw z6--z1--z2--z5;
-draw z2--z3--z4;
-charanchortops_[charcode]=(.5[leftstemloc,w-leftstemloc+o],h);
-charanchorbots_[charcode]=z7;
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eacute.mf
deleted file mode 100644
index 4879b3abd4e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Eacute","E","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecaron.mf
deleted file mode 100644
index 3096abc39ca..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ecaron","E","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecircumflex.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecircumflex.mf
deleted file mode 100644
index 13cd1706983..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ecircumflex.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ecircumflex","E","circumflex","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Edieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Edieresis.mf
deleted file mode 100644
index 8b5a87189e8..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Edieresis.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Edieresis","E","dieresis","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Egrave.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Egrave.mf
deleted file mode 100644
index 8331f4dda65..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Egrave.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Egrave","E","grave","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eng.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eng.mf
deleted file mode 100644
index 523e12924fd..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eng.mf
+++ /dev/null
@@ -1,23 +0,0 @@
-ffmchar("Eng",15,ht#,acc_depth#);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x4=w-leftstemloc+noise;
-x5=w-leftstemloc+noise;
-x6=.5w+noise;
-x7=.382w+noise;
-bot y1=noise-o;
-top y2=h+o+noise;
-y3=y4+ygap+noise;
-bot y4=noise-o;
-top y5=h+o+noise;
-bot y6=noise-d;
-bot y7=noise-d;
-z3=whatever[z4,z5];
-draw z1--z2--z3;
-draw z7--z6
- & arc(z6,z6-z7,z4,z5-z4)
- & z4--z5;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eogonek.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eogonek.mf
deleted file mode 100644
index 8fd6e09b5b9..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eogonek.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Eogonek","E","ogonek","bot",ht#,comma_depth#);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eth.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eth.mf
deleted file mode 100644
index 640d19de981..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Eth.mf
+++ /dev/null
@@ -1,23 +0,0 @@
-ffmchar("Eth",14,ht#,0);
-italcorr .9ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=.5w+noise;
-x5=.5w+noise;
-w-x4=good.x(1.5u+s+noise);
-x6=eps+noise;
-x7=.5w+noise;
-bot y1=noise;
-bot y5=noise;
-top y2=h+noise;
-top y3=h+noise;
-y4=barheight+noise;
-y6=barheight+noise;
-y7=barheight+noise;
-draw z1--z2--z3
- & half(z3,z3-z2,z4,-randup,z5,z1-z5)
- & z5--cycle;
-draw z6--z7;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_F.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_F.mf
deleted file mode 100644
index ea231ef6286..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_F.mf
+++ /dev/null
@@ -1,17 +0,0 @@
-ffmchar("F",14,ht#,0);
-italcorr .9ht#*slant;
-x1=leftstemloc+noise;
-x3=leftstemloc+noise;
-x4=w-leftstemloc+ho+noise;
-x5=w-leftstemloc+ho-xgap+noise;
-bot y1=noise-o;
-y2=barheight+noise;
-top y3=h+noise;
-top y4=h+noise;
-y5=barheight+noise;
-bot y6=noise;
-z2=whatever[z1,z3];
-draw z1--z2--z5;
-draw z2--z3--z4;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_G.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_G.mf
deleted file mode 100644
index 09ca0d4411e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_G.mf
+++ /dev/null
@@ -1,22 +0,0 @@
-ffmchar("G",14,ht#,0);
-italcorr ht#*slant;
-x3=good.x(1.5u+s+noise);
-x1=w-leftstemloc+noise;
-x5=w-leftstemloc+noise;
-x6=w-leftstemloc+noise;
-x2=.55w+noise;
-x4=.55w+noise;
-x7=.55w+noise;
-y3=barheight+noise;
-y6=barheight+noise;
-y7=barheight+noise;
-top y2=h+noise;
-top y1=h+noise;
-bot y4=noise;
-bot y5=noise;
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,z5-z4)
- & z4--z5--z6--z7;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Gbreve.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Gbreve.mf
deleted file mode 100644
index ecd4e7dcb91..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Gbreve.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Gbreve","G","breve","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Germandbls.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Germandbls.mf
deleted file mode 100644
index e3d80e86f81..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Germandbls.mf
+++ /dev/null
@@ -1,28 +0,0 @@
-ffmchar("Germandbls",15,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=.5w+noise;
-x5=.5w+noise;
-x7=.5w+noise;
-w-x4=leftstemloc+noise;
-w-x6=good.x(1.5u+s+noise);
-x8=.4w+noise;
-bot y1=noise-o;
-bot y8=noise;
-y2=barheight+noise;
-top y3=h+o+noise;
-y5=barheight+noise;
-y4=.5[y5,y3]+noise;
-y6=.5[y7,y5]+noise;
-z7=z8+whatever*randrt;
-pair randira,randirb;
-randira:=randrt;
-randirb:=randrt;
-draw z1--z2
- & arc(z2,randup,z3,randira)
- & half(z3,randira,z4,-randup,z5,-randirb);
-draw half(z5,randirb,z6,-randup,z7,z8-z7)
- & z7--z8;
-labels(1,2,3,4,5,6,7,8);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_H.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_H.mf
deleted file mode 100644
index 927fbebbe8e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_H.mf
+++ /dev/null
@@ -1,19 +0,0 @@
-ffmchar("H",15,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-w-x3=leftstemloc+noise;
-w-x4=leftstemloc+noise;
-bot y1=noise-o;
-top y2=h+o+noise;
-bot y3=noise-o;
-top y4=h+o+noise;
-y5=barheight+noise;
-y6=barheight+noise;
-z5=whatever[z1,z2];
-z6=whatever[z3,z4];
-draw z1--z5--z6--z3;
-draw z5--z2;
-draw z6--z4;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_I.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_I.mf
deleted file mode 100644
index 8d334090aba..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_I.mf
+++ /dev/null
@@ -1,10 +0,0 @@
-ffmchar("I",6,ht#,0);
-italcorr .8ht#*slant;
-x1=.5w+noise;
-x2=.5w+noise;
-bot y1=noise-o;
-top y2=h+o+noise;
-draw z1--z2;
-charanchortops_[charcode]=(.5w+noise,h);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_IJ.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_IJ.mf
deleted file mode 100644
index 974a95eb2e4..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_IJ.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("IJ","I","J");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Iacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Iacute.mf
deleted file mode 100644
index 7f81a3997cd..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Iacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Iacute","I","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Icircumflex.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Icircumflex.mf
deleted file mode 100644
index adc7aad443a..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Icircumflex.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Icircumflex","I","circumflex","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idieresis.mf
deleted file mode 100644
index 18509bb2442..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idieresis.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Idieresis","I","dieresis","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idotaccent.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idotaccent.mf
deleted file mode 100644
index 67deddbca65..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Idotaccent.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Idotaccent","I","dotaccent","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Igrave.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Igrave.mf
deleted file mode 100644
index 7002c8110c3..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Igrave.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Igrave","I","grave","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_J.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_J.mf
deleted file mode 100644
index 0d8a4118b80..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_J.mf
+++ /dev/null
@@ -1,15 +0,0 @@
-ffmchar("J",9,ht#,0);
-italcorr .8ht#*slant;
-lft x1=noise-eps;
-x2=x1+.5u;
-w-x3=leftstemloc+noise;
-w-x4=leftstemloc+noise;
-bot y1=noise-o;
-y3=barheight+noise;
-top y4=h+noise;
-z2=z1+whatever*randrt;
-draw z1--z2
- & arc(z2,randrt,z3,z4-z3)
- & z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_K.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_K.mf
deleted file mode 100644
index 24c24b822f0..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_K.mf
+++ /dev/null
@@ -1,20 +0,0 @@
-ffmchar("K",13,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-w-x5=good.x(1.5u+s+noise);
-w-x6=good.x(1.5u+s+noise);
-bot y1=noise-o;
-bot y6=noise-o;
-top y2=h+o+noise;
-top y5=h+o+noise;
-y3=.618[y2,y1]+noise;
-z3=whatever[z1,z2];
-z4=whatever[z3,z5]=whatever[z2,z6];
-draw z1--z2;
-draw z3--z5;
-draw z4--z6;
-labels(1,2,3,4,5,6);
-endchar;
-
-
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_L.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_L.mf
deleted file mode 100644
index 4a5eec928b1..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_L.mf
+++ /dev/null
@@ -1,12 +0,0 @@
-ffmchar("L",12,ht#,0);
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-rt x3=w-eps+noise;
-bot y1=noise;
-bot y3=noise;
-top y2=h+noise;
-draw z3--z1--z2;
-charanchortops_[charcode]=(leftstemloc,h);
-charanchortoprights_[charcode]=(.618w,h);
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lacute.mf
deleted file mode 100644
index 9132c93829e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Lacute","L","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lcaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lcaron.mf
deleted file mode 100644
index d7c4bc0adca..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lcaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Lcaron","L","quoteright","topright",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lslash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lslash.mf
deleted file mode 100644
index fa62704bef3..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Lslash.mf
+++ /dev/null
@@ -1,17 +0,0 @@
-ffmchar("Lslash",13,ht#,0);
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-w-x3=leftstemloc-ho+noise;
-lft x4=eps+noise;
-x5=.45w+noise;
-bot y1=noise;
-bot y3=noise;
-top y2=h+noise;
-y4=.4h+noise;
-z5=z4+whatever*dir(40);
-draw z3--z1--z2;
-draw z4--z5;
-charanchortops_[charcode]=(leftstemloc,h);
-charanchortoprights_[charcode]=(.5w,h);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_M.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_M.mf
deleted file mode 100644
index cc7db336b03..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_M.mf
+++ /dev/null
@@ -1,15 +0,0 @@
-ffmchar("M",18,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=.5w+noise;
-x4=w-leftstemloc+noise;
-x5=w-leftstemloc+noise;
-bot y1=noise-o;
-top y2=h+o+noise;
-bot y3=ygap-o+noise;
-top y4=h+o+noise;
-bot y5=noise-o;
-draw z1--z2--z3--z4--z5;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_N.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_N.mf
deleted file mode 100644
index 8226277ebc3..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_N.mf
+++ /dev/null
@@ -1,17 +0,0 @@
-ffmchar("N",15,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x4=w-leftstemloc+noise;
-x5=w-leftstemloc+noise;
-bot y1=noise-o;
-top y2=h+o+noise;
-y3=y4+ygap+noise;
-bot y4=noise-o;
-top y5=h+o+noise;
-z3=whatever[z4,z5];
-draw z1--z2--z3;
-draw z4--z5;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Nacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Nacute.mf
deleted file mode 100644
index b9d7e7e8a79..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Nacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Nacute","N","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ncaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ncaron.mf
deleted file mode 100644
index 4c8d953a01c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ncaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ncaron","N","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ntilde.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ntilde.mf
deleted file mode 100644
index 22fa0750d41..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ntilde.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ntilde","N","tilde","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_O.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_O.mf
deleted file mode 100644
index 7b7a4f36254..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_O.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("O",15,ht#,0);
-italcorr .8ht#*slant;
-x1=.5w+noise;
-x2=good.x(1.5u+s+noise);
-x3=.5w+noise;
-w-x4=good.x(1.5u+s+noise);
-top y1=h+o+noise;
-y2=barheight+noise;
-bot y3=noise-o;
-y4=barheight+noise;
-draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_OE.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_OE.mf
deleted file mode 100644
index 4e119b25029..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_OE.mf
+++ /dev/null
@@ -1,27 +0,0 @@
-ffmchar("OE",22,ht#,0);
-italcorr .9ht#*slant;
-x2=.5w+noise;
-x4=good.x(1.5u+s+noise);
-x6=.5w+noise;
-x7=w-leftstemloc+o+noise;
-x9=w-leftstemloc+o-xgap+noise;
-x1=w-leftstemloc+o+noise;
-x3=.382w+noise;
-x5=.382w+noise;
-y4=barheight+noise;
-y8=barheight+noise;
-top y7=h+noise;
-y9=barheight+noise;
-bot y1=noise;
-bot y3=noise;
-top y5=h+noise;
-z2=whatever[z1,z3];
-z6=whatever[z5,z7];
-z8=whatever[z2,z6];
-draw z1--z3
- & half(z3,z3-z1,z4,randup,z5,z7-z5)
- & z5--z7;
-draw z2--z8--z9;
-draw z6--z8;
-labels(1,2,3,4,5,6,7,8,9);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oacute.mf
deleted file mode 100644
index 3523f004e49..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Oacute","O","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ocircumflex.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ocircumflex.mf
deleted file mode 100644
index a6c07972bf8..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ocircumflex.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ocircumflex","O","circumflex","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Odieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Odieresis.mf
deleted file mode 100644
index 8a120c06787..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Odieresis.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Odieresis","O","dieresis","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ograve.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ograve.mf
deleted file mode 100644
index 1ecf3e6d4a9..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ograve.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ograve","O","grave","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ohungarumlaut.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ohungarumlaut.mf
deleted file mode 100644
index 486561b800e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ohungarumlaut.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ohungarumlaut","O","hungarumlaut","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oslash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oslash.mf
deleted file mode 100644
index e49796a7c3e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Oslash.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("Oslash",15,ht#,0);
-italcorr ht#*slant;
-x1=.5w+noise;
-x2=good.x(1.5u+s+noise);
-x3=.5w+noise;
-w-x4=good.x(1.5u+s+noise);
-x5=good.x(1.5u+s+noise);
-w-x6=good.x(1.5u+s+noise);
-top y1=h+o+noise;
-y2=barheight+noise;
-bot y3=noise-o;
-y4=barheight+noise;
-bot y5=noise-o;
-top y6=h+o+noise;
-draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
-draw z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Otilde.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Otilde.mf
deleted file mode 100644
index 07cb95dccac..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Otilde.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Otilde","O","tilde","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_P.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_P.mf
deleted file mode 100644
index 1497ae993db..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_P.mf
+++ /dev/null
@@ -1,20 +0,0 @@
-ffmchar("P",14,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x3=leftstemloc+noise;
-x4=.618[x1,w-x1]+noise;
-x5=.618[x1,w-x1]+noise;
-x6=.5[w-x1,lft w]+noise;
-y2=barheight+noise;
-y5=barheight+noise;
-bot y1=noise-o;
-top y3=h+noise;
-top y4=h+noise;
-y6=.5[y4,y5]+noise;
-z2=whatever[z1,z3];
-draw z1--z3--z4
- & half(z4,z4-z3,z6,-randup,z5,z2-z5)
- & z5 -- z2;
-labels(1,2,3,4,5,6);
-endchar;
-
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Q.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Q.mf
deleted file mode 100644
index 67c7ad96f01..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Q.mf
+++ /dev/null
@@ -1,19 +0,0 @@
-ffmchar("Q",15,ht#,0);
-italcorr .8ht#*slant;
-x1=.5w+noise;
-x2=good.x(1.5u+s+noise);
-x3=.5w+noise;
-w-x4=good.x(1.5u+s+noise);
-x5=min(.618[x4,x3],x4-2px)+noise;
-w-x6=good.x(1.5u+s+noise);
-top y1=h+o+noise;
-y2=barheight+noise;
-bot y3=noise-o;
-y4=barheight+noise;
-y5=.618[y3,y4]+noise;
-bot y6=noise-o;
-%z5=z6+whatever*dir(100+angle(direction 1 of (arc(z3,randrt,z4,randup))));
-draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
-draw z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_R.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_R.mf
deleted file mode 100644
index 17277ebadb8..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_R.mf
+++ /dev/null
@@ -1,23 +0,0 @@
-ffmchar("R",14,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc+noise;
-x3=leftstemloc+noise;
-x4=.618[x1,w-x1]+noise;
-x6=.618[x1,w-x1]+noise;
-x5=.5[w-x1,lft w]+noise;
-x7=.5[w-x1,lft w]+noise;
-y2=barheight+noise;
-y6=barheight+noise;
-bot y1=noise-o;
-bot y7=noise-o;
-top y3=h+noise;
-top y4=h+noise;
-y5=.5[y4,y6]+noise;
-z2=whatever[z1,z3];
-draw z1--z3--z4
- & half(z4,z4-z3,z5,-randup,z6,z2-z6)
- & z6--z2;
-draw z6--z7;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Racute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Racute.mf
deleted file mode 100644
index b5e93f5cbc9..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Racute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Racute","R","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Rcaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Rcaron.mf
deleted file mode 100644
index 3f815a61908..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Rcaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Rcaron","R","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_S.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_S.mf
deleted file mode 100644
index a6ca1d0bacd..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_S.mf
+++ /dev/null
@@ -1,29 +0,0 @@
-ffmchar("S",14,ht#,0);
-italcorr .8ht#*slant;
-x3=good.x(2u+s+noise);
-x8=good.x(2u+s+noise);
-w-x1=good.x(3u+s+noise);
-x2=.382[x3,x1]+noise;
-x4=.382[x3,x1]+noise;
-x5=.9[x3,x1]+noise;
-x7=.9[x3,x1]+noise;
-w-x6=good.x(1.75u+.5s+noise);
-x9=.618[x8,x7];
-top y1=h+noise;
-top y2=h+noise;
-y3=.6[y2,y4]+noise;
-y4=barheight+noise;
-y5=barheight+noise;
-y6=.3[y5,y7]+noise;
-bot y9=0;
-z7=z9+whatever*randrt;
-z8=whatever[z7,z9];
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,z5-z4)
- & z4--z5
- & half(z5,z5-z4,z6,-randup,z7,z8-z7)
- & z7--z8;
-charanchortops_[charcode]=(.5w,h);
-charanchorbots_[charcode]=z9;
-labels(1,2,3,4,5,6,7,8,9);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Sacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Sacute.mf
deleted file mode 100644
index d72ba91a240..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Sacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Sacute","S","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scaron.mf
deleted file mode 100644
index 35123187b05..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Scaron","S","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scedilla.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scedilla.mf
deleted file mode 100644
index 678b9d43d4d..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Scedilla.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Scedilla","S","cedilla","bot",ht#,comma_depth#);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_T.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_T.mf
deleted file mode 100644
index 4fa30ee29b4..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_T.mf
+++ /dev/null
@@ -1,17 +0,0 @@
-ffmchar("T",13,ht#,0);
-italcorr ht#*slant+.5u#;
-if .5w<>good.x .5w: change_width; fi
-lft x1=noise-eps;
-rt x2=w+noise;
-x3=.5w+noise;
-x4=.5w+noise;
-top y1=h+noise;
-top y2=h+noise;
-bot y4=noise-o;
-z3=whatever[z1,z2];
-draw z1--z2;
-draw z3--z4;
-charanchortops_[charcode]=(.5w,h);
-charanchorbots_[charcode]=(x4,0);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcaron.mf
deleted file mode 100644
index 745db08c467..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Tcaron","T","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcedilla.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcedilla.mf
deleted file mode 100644
index c6c48e44be3..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Tcedilla.mf
+++ /dev/null
@@ -1,20 +0,0 @@
-ffmchar("Tcedilla",13,ht#,acc_depth#);
-italcorr ht#*slant+.5u#;
-if .5w<>good.x .5w: change_width; fi
-lft x1=noise-eps;
-rt x2=w+noise;
-x3=.5w+noise;
-x4=.5w+noise;
-x5=.55w+noise;
-x6=.45w+noise;
-top y1=h+noise;
-top y2=h+noise;
-bot y4=noise-o;
-top y5=noise-.2d;
-bot y6=noise-d;
-z3=whatever[z1,z2];
-draw z1--z2;
-draw z3--z4;
-draw z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Thorn.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Thorn.mf
deleted file mode 100644
index b39e8a7a53e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Thorn.mf
+++ /dev/null
@@ -1,23 +0,0 @@
-ffmchar("Thorn",14,ht#,0);
-italcorr .7ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x4=.618[x1,w-x1]+noise;
-x5=.618[x1,w-x1]+noise;
-x6=.5[w-x1,lft w]+noise;
-bot y1=noise-o;
-top y2=h+noise;
-y3=.764h+noise;
-y4=.764h+noise;
-y6=.5[y4,y5]+noise;
-y5=.382h+noise;
-y7=.382h+noise;
-z3=whatever[z1,z2];
-z7=whatever[z1,z2];
-draw z1--z2;
-draw z3--z4
- & half(z4,z4-z3,z6,-randup,z5,z7-z5)
- & z5--z7;
-labels(1,2,3,4,5,6,7);
-endchar;
-
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_U.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_U.mf
deleted file mode 100644
index de03010ace2..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_U.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("U",15,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-w-x4=leftstemloc+noise;
-w-x5=leftstemloc+noise;
-x3=.5[x1,x4]+noise;
-top y1=h+o+noise;
-y2=barheight+noise;
-bot y3=noise-o;
-y4=barheight+noise;
-top y5=h+o+noise;
-draw z1--z2
- & half(z2,z2-z1,z3,randrt,z4,z5-z4)
- & z4--z5;
-charanchortops_[charcode]=(x3,h);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uacute.mf
deleted file mode 100644
index 015283ddb6a..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Uacute","U","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ucircumflex.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ucircumflex.mf
deleted file mode 100644
index 4c33eb3ed81..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ucircumflex.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ucircumflex","U","circumflex","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Udieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Udieresis.mf
deleted file mode 100644
index c3a8d65c0a4..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Udieresis.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Udieresis","U","dieresis","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ugrave.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ugrave.mf
deleted file mode 100644
index e087c1108af..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ugrave.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ugrave","U","grave","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uhungarumlaut.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uhungarumlaut.mf
deleted file mode 100644
index 970ba3f5070..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uhungarumlaut.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Uhungarumlaut","U","hungarumlaut","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uring.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uring.mf
deleted file mode 100644
index c7a530f7c46..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Uring.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Uring","U","ring","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_V.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_V.mf
deleted file mode 100644
index b57d9f1491f..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_V.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("V",13,ht#,0);
-italcorr ht#*slant;
-x1=good.x(1.5u+s+noise)-ho;
-w-x3=good.x(1.5u+s+noise)-ho;
-x2=.5[x1,x3]+noise;
-top y1=h+o+noise;
-bot y2=noise-o;
-top y3=h+o+noise;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_W.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_W.mf
deleted file mode 100644
index 4cb779cf1e1..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_W.mf
+++ /dev/null
@@ -1,16 +0,0 @@
-ffmchar("W",20,ht#,0);
-italcorr ht#*slant;
-x1=good.x(1.5u+s+noise)-ho;
-w-x5=good.x(1.5u+s+noise)-ho;
-x3=.5[x1,x5]+noise;
-top y1=h+o+noise;
-bot y2=noise-o;
-y3=y1-ygap+noise;
-bot y4=noise-o;
-top y5=h+o+noise;
-z4=z5+whatever*(x5-x1,4*(y1-y2)-2ygap);
-z2=z1+whatever*(x1-x5,4*(y1-y2)-2ygap);
-draw z1--z2--z3;
-draw z3--z4--z5;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_X.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_X.mf
deleted file mode 100644
index c473f5a3696..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_X.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("X",13,ht#,0);
-italcorr ht#*slant;
-x1=good.x(1.5u+s+noise);
-x3=good.x(1.5u+s+noise);
-w-x2=good.x(1.5u+s+noise);
-w-x4=good.x(1.5u+s+noise);
-top y1=h+o+noise;
-top y4=h+o+noise;
-bot y3=noise-o;
-bot y2=noise-o;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Y.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Y.mf
deleted file mode 100644
index 435381eff07..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Y.mf
+++ /dev/null
@@ -1,21 +0,0 @@
-ffmchar("Y",15.5,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+.5noise;
-w-x4=leftstemloc+.5noise;
-w-x5=leftstemloc+noise;
-x3=.5[x1,x5]+noise;
-x6=.5[x1,x5]+noise;
-top y1=h+o+noise;
-top y5=h+o+noise;
-bot y6=noise-o;
-y3=barheight+noise;
-y2=.618[y3,y5]+noise;
-y4=.618[y3,y5]+noise;
-draw z1--z2
- & half(z2,z2-z1,z3,randrt,z4,z5-z4)
- & z4--z5;
-draw z6--z3;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Yacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Yacute.mf
deleted file mode 100644
index 1db73b63aac..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Yacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Yacute","Y","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ydieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ydieresis.mf
deleted file mode 100644
index 87ef149ec30..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Ydieresis.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Ydieresis","Y","dieresis","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Z.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Z.mf
deleted file mode 100644
index 44cb0c1c83c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Z.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("Z",15,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-w-x2=leftstemloc+noise;
-x3=leftstemloc+noise;
-w-x4=leftstemloc+noise;
-top y1=h+noise;
-top y2=h+noise;
-bot y3=noise;
-bot y4=noise;
-draw z1--z2--z3--z4;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zacute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zacute.mf
deleted file mode 100644
index 091479534f9..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zacute.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Zacute","Z","acute","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zcaron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zcaron.mf
deleted file mode 100644
index cae34c65b44..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zcaron.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Zcaron","Z","caron","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zdotaccent.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zdotaccent.mf
deleted file mode 100644
index 795d0fe5b9c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_Zdotaccent.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmcombinedchar("Zdotaccent","Z","dotaccent","top",ht#+acc_ht#,0);
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_acute.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_acute.mf
deleted file mode 100644
index a9fc0f8bd35..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_acute.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("acute",6,x_ht#+acc_ht#,0);
-lft x1=.2w+noise;
-rt x2=w+noise;
-bot y1=.2[x_ht,h]+noise;
-top y2=h+o+noise;
-draw z1--z2;
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ampersand.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ampersand.mf
deleted file mode 100644
index 09cbf987795..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ampersand.mf
+++ /dev/null
@@ -1,36 +0,0 @@
-ffmchar("ampersand",15,ht#,0);
-italcorr ht#*slant;
-x3=good.x(1.5u+s+noise);
-x6=good.x(1.5u+s+noise);
-rt x12=w-eps;
-x1=.618w+noise;
-x11=.618w+noise;
-x10=.5[x11,x12]+noise;
-x9=.5[x11,x12]+noise;
-x2=.618[x9,x6]+noise;
-x4=.618[x9,x6]+noise;
-x7=.618[x9,x6]+noise;
-x8=.618[x7,x9]+noise;
-x5=x4+.1u;
-top y1=h+.5noise;
-top y2=h+.5noise;
-bot y7=.5noise;
-bot y8=.5noise;
-y4=barheight+noise;
-y11=barheight+noise;
-y12=barheight+noise;
-y3=.5[y2,y4]+noise;
-y6=.5[y4,y7]+noise;
-y9=.5[y4,y7]+noise;
-z5=z4+whatever*randrt;
-z10=whatever[z11,z12];
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,z5-z4)
- & z4--z5;
-draw half(z4,z4-z5,z6,-randup,z7,z8-z7)
- & z7--z8
- & arc(z8,z8-z7,z9,z10-z9)
- & z9--z10;
-draw z11--z12;
-labels(1,2,3,4,5,6,7,8,9,10,11,12);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciicircum.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciicircum.mf
deleted file mode 100644
index 5c147890cc9..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciicircum.mf
+++ /dev/null
@@ -1,10 +0,0 @@
-ffmchar("asciicircum",8,ht#,0);
-lft x1=eps+noise;
-x2=.5w+noise;
-rt x3=w-eps+noise;
-bot y1=x_ht+noise;
-bot y3=x_ht+noise;
-top y2=h+o+noise;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciitilde.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciitilde.mf
deleted file mode 100644
index 6bb789e1bfb..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asciitilde.mf
+++ /dev/null
@@ -1,20 +0,0 @@
-ffmchar("asciitilde",11,x_ht#,0);
-lft x1=eps+noise;
-x2=.3w+noise;
-x4=.7w+noise;
-x3=.5w+noise;
-rt x5=w-eps+noise;
-bot y1=.5h+noise;
-bot y4=.5h+noise;
-top y2=h+noise;
-top y5=h+noise;
-y3=.75h+noise;
-if angle direction 1 of (z2{right}...z3...z4{right}) < -90:
- draw z1{randup}...z2{randrt}
- ...z3{-randup}...z4{randrt}...z5{randup};
-else:
- draw z1{randup}...z2{randrt}
- ...z3...z4{randrt}...z5{randup};
-fi
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asterisk.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asterisk.mf
deleted file mode 100644
index 02493b17065..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_asterisk.mf
+++ /dev/null
@@ -1,25 +0,0 @@
-ffmchar("asterisk",12,ht#,0);
-numeric outerradius,innerradius;
-outerradius=.5w-2u-s;
-innerradius=px;
-path outercircle,innercircle;
-outercircle=(.5w,h+o+noise)..(.5w,h-2*outerradius)..cycle;
-innercircle=(.5w,h+o+noise-outerradius+innerradius)
- ..(.5w,h+o+noise-outerradius-innerradius)..cycle;
-z1=point 0 of outercircle+(noise,noise);
-z2=point 0 of innercircle;
-z3=point .4 of outercircle+(noise,noise);
-z4=point .4 of innercircle;
-z5=point .8 of outercircle+(noise,noise);
-z6=point .8 of innercircle;
-z7=point 1.2 of outercircle+(noise,noise);
-z8=point 1.2 of innercircle;
-z9=point 1.6 of outercircle+(noise,noise);
-z10=point 1.6 of innercircle;
-draw z1--z2;
-draw z3--z4;
-draw z5--z6;
-draw z7--z8;
-draw z9--z10;
-labels(1,2,3,4,5,6,7,8,9,10);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_at.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_at.mf
deleted file mode 100644
index 26ec882a172..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_at.mf
+++ /dev/null
@@ -1,35 +0,0 @@
-ffmchar("at",16,ht#,0);
-italcorr .8ht#*slant;
-x10=good.x(1.5u+s+noise);
-w-x8=good.x(1.5u+s+noise);
-w-x7=1.5u+s+noise;
-x2=.5w+noise;
-x4=.5w+.5noise;
-x9=.5w+noise;
-x11=.5w+noise;
-x1=.65w+noise;
-x5=.65w+.5noise;
-x3=.35w+noise;
-x6=.5[x1,x7];
-top y9=h+o+noise;
-bot y11=noise-o;
-y8=.5h+noise;
-y10=.5h+noise;
-y3=.5h+noise;
-y1=.33h+noise;
-y2=.33h+noise;
-y7=.33h+noise;
-y4=.67h+.5noise;
-y5=.67h+.5noise;
-y6=.15h+noise;
-pair randir;
-randir=-randup;
-draw z1--z2
- & half(z2,z2-z1,z3,randup,z4,z5-z4)
- & z4--z5--z1
- & half(z1,z1-z5,z6,randrt,z7,z8-z7)
- & z7--z8
- & half(z8,z8-z7,z9,-randrt,z10,randir)
- & arc(z10,randir,z11,randrt);
-labels(1,2,3,4,5,6,7,8,9,10,11);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_backslash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_backslash.mf
deleted file mode 100644
index 93e5d0b323c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_backslash.mf
+++ /dev/null
@@ -1,8 +0,0 @@
-ffmchar("backslash",10,ht#,comma_depth#);
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-bot y2=noise-d-o;
-top y1=h+o+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bar.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bar.mf
deleted file mode 100644
index 319587519b4..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bar.mf
+++ /dev/null
@@ -1,8 +0,0 @@
-ffmchar("bar",5,ht#,comma_depth#);
-x1=.5w+noise;
-x2=.5w+noise;
-top y1=h+o+noise;
-bot y2=noise-d-o;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceleft.mf
deleted file mode 100644
index 682795cadf3..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceleft.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("braceleft",8,ht#,comma_depth#);
-italcorr ht#*slant;
-w-x1=leftstemloc-ho+noise;
-w-x5=leftstemloc-ho+noise;
-x2=leftstemloc+noise;
-x4=leftstemloc+noise;
-lft x3=eps+noise;
-top y1=h+o+noise;
-bot y5=noise-o-d;
-y3=.5[-d,h]+noise;
-y2=.75[-d,h]+noise;
-y4=.25[-d,h]+noise;
-pair randira;
-randira=randrt;
-draw half(z1,-randrt,z2,-randup,z3,-randira);
-draw half(z3,randira,z4,-randup,z5,randrt);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceright.mf
deleted file mode 100644
index fce215a8404..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_braceright.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("braceright",8,ht#,comma_depth#);
-italcorr .8ht#*slant;
-x1=leftstemloc-ho+noise;
-x5=leftstemloc-ho+noise;
-w-x2=leftstemloc+noise;
-w-x4=leftstemloc+noise;
-rt x3=w-eps+noise;
-top y1=h+o+noise;
-bot y5=noise-o-d;
-y3=.5[-d,h]+noise;
-y2=.75[-d,h]+noise;
-y4=.25[-d,h]+noise;
-pair randira;
-randira=randrt;
-draw half(z1,randrt,z2,-randup,z3,randira);
-draw half(z3,-randira,z4,-randup,z5,-randrt);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketleft.mf
deleted file mode 100644
index 4259859031e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketleft.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("bracketleft",8,ht#,comma_depth#);
-italcorr ht#*slant;
-x2=leftstemloc+noise;
-x3=leftstemloc+noise;
-w-x1=leftstemloc-ho+noise;
-w-x4=leftstemloc-ho+noise;
-top y1=h+noise;
-top y2=h+noise;
-bot y3=noise-d;
-bot y4=noise-d;
-draw z1--z2--z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketright.mf
deleted file mode 100644
index 64945f1497c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_bracketright.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("bracketright",8,ht#,comma_depth#);
-italcorr ht#*slant;
-w-x2=leftstemloc+noise;
-w-x3=leftstemloc+noise;
-x1=leftstemloc-ho+noise;
-x4=leftstemloc-ho+noise;
-top y1=h+noise;
-top y2=h+noise;
-bot y3=noise-d;
-bot y4=noise-d;
-draw z1--z2--z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_breve.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_breve.mf
deleted file mode 100644
index 210e2ac1dca..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_breve.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("breve",7,x_ht#+acc_ht#,0);
-lft x1=noise;
-x2=.5w+noise;
-rt x3=w+noise;
-top y1=h+o+noise;
-top y3=h+o+noise;
-bot y2=.2[x_ht,h]+noise;
-draw half(z1,-randup,z2,randrt,z3,randup);
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_caron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_caron.mf
deleted file mode 100644
index ad71a4eb402..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_caron.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("caron",7,x_ht#+acc_ht#,0);
-lft x1=noise;
-x2=.5w+noise;
-rt x3=w+noise;
-top y1=h+o+noise;
-top y3=h+o+noise;
-bot y2=.2[x_ht,h]+noise;
-draw z1--z2--z3;
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cedilla.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cedilla.mf
deleted file mode 100644
index 808f00763c5..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cedilla.mf
+++ /dev/null
@@ -1,17 +0,0 @@
-ffmchar("cedilla",4,x_ht#,acc_depth#);
-x1=.5w; %no noise!
-lft x2=.2w+.5noise;
-rt x3=w+o+.5noise;
-x4=x2;
-lft x5=0;
-bot y1=0; %no noise!
-y2=.4[y1,y4];
-y3=.7[y1,y4];
-bot y4=noise-d;
-z5=z4+whatever*randrt;
-draw z5--z4
- & half(z4,z4-z5,z3,randup,z2,-randrt)
- & z2--z1;
-charanchorbots_[charcode]=z1;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_circumflex.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_circumflex.mf
deleted file mode 100644
index 492eebc710c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_circumflex.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("circumflex",7,x_ht#+acc_ht#,0);
-lft x1=noise;
-x2=.5w+noise;
-rt x3=w+noise;
-bot y1=.2[x_ht,h]+noise;
-bot y3=.2[x_ht,h]+noise;
-top y2=h+o+noise;
-draw z1--z2--z3;
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_colon.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_colon.mf
deleted file mode 100644
index 0aa69257fe2..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_colon.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("colon",5,x_ht#,0);
-italcorr .8barheight#*slant;
-x1=x2=.5w+noise;
-x3=x4=.5w+noise;
-bot y1=noise-o;
-y2=y1+dotincr*py;
-y3=y4-dotincr*py=barheight+noise;
-draw dotcircle(z1,z2);
-draw dotcircle(z3,z4);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_comma.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_comma.mf
deleted file mode 100644
index f1f5f330892..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_comma.mf
+++ /dev/null
@@ -1,8 +0,0 @@
-ffmchar("comma",6,x_ht#,comma_depth#);
-x1=leftstemloc;
-x2=w-x1;
-top y2=.382barheight;
-bot y1=-d;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cwm.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cwm.mf
deleted file mode 100644
index 6e90c5896f6..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_cwm.mf
+++ /dev/null
@@ -1,2 +0,0 @@
-ffmchar("cwm",0,x_ht#,0);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dash.mf
deleted file mode 100644
index c359679cf9b..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dash.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("dash",6,x_ht#,0);
-italcorr .618x_ht#*slant;
-lft x1=noise;
-rt x2=w+noise;
-y1=.618h+noise;
-y2=.618h+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dieresis.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dieresis.mf
deleted file mode 100644
index f22bfbf54df..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dieresis.mf
+++ /dev/null
@@ -1,12 +0,0 @@
-ffmchar("dieresis",8,x_ht#+acc_ht#,0);
-x1=x2=.5w-max(1.8u,(1+dotincr)*.7px)+noise;
-x3=x4=.5w+max(1.8u,(1+dotincr)*.7px)+noise;
-bot y1=.3[x_ht,h]+noise;
-y2=y1+dotincr*py;
-bot y3=.3[x_ht,h]+noise;
-y4=y3+dotincr*py;
-draw dotcircle(z1,z2);
-draw dotcircle(z3,z4);
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dollar.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dollar.mf
deleted file mode 100644
index 20150f723c9..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dollar.mf
+++ /dev/null
@@ -1,30 +0,0 @@
-ffmchar("dollar",11,ht#,0);
-italcorr .7ht#*slant;
-x3=good.x(1.5u+s+noise);
-x8=good.x(1.5u+s+noise);
-w-x1=leftstemloc+noise;
-w-x6=good.x(1.5u+s+noise);
-x2=.382[x3,x6]+noise;
-x4=.382[x3,x6]+noise;
-x5=.618[x3,x6]+noise;
-x7=.618[x3,x6]+noise;
-x9=.5w+noise;
-x10=.5w+noise;
-top y1=h+noise;
-top y2=h+noise;
-y3=.6[y2,y4]+noise;
-y4=barheight+noise;
-y5=barheight+noise;
-y6=.5[y5,y7]+noise;
-bot y7=noise;
-bot y8=noise;
-top y9=noise;
-bot y10=h+noise;
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,z5-z4)
- & z4--z5
- & half(z5,z5-z4,z6,-randup,z7,z8-z7)
- & z7--z8;
-draw z9--z10;
-labels(1,2,3,4,5,6,7,8,9,10);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dotaccent.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dotaccent.mf
deleted file mode 100644
index ea27ba228f4..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_dotaccent.mf
+++ /dev/null
@@ -1,8 +0,0 @@
-ffmchar("dotaccent",4,x_ht#+acc_ht#,0);
-x1=x2=.5w+noise;
-bot y1=.5[x_ht,h]+noise;
-y2=y1+dotincr*py;
-draw dotcircle(z1,z2);
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_eight.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_eight.mf
deleted file mode 100644
index ec7f85c07a2..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_eight.mf
+++ /dev/null
@@ -1,22 +0,0 @@
-ffmchar("eight",11,ht#,0);
-italcorr .7ht#*slant;
-x1=.5w+noise;
-x3=.5w+noise;
-x6=.5w+noise;
-x2=good.x(1.5u+s+noise);
-w-x4=good.x(1.5u+s+noise);
-x7=.2[x2,x1]+noise;
-w-x5=.2[x2,x1]+noise;
-y1=barheight+noise;
-bot y3=noise-o;
-top y6=h+o+noise;
-y2=.5[y1,y3]+noise;
-y4=.5[y1,y3]+noise;
-y7=.5[y1,y6]+noise;
-z5=z7+whatever*(z4-z2);
-pair randir;
-randir:=randrt;
-draw full(z1,-randir,z2,-randup,z3,randrt,z4,randup);
-draw full(z1,randir,z5,randup,z6,-randrt,z7,-randup);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_emdash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_emdash.mf
deleted file mode 100644
index b18edacf88c..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_emdash.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("emdash",18,x_ht#,0);
-italcorr .618x_ht#*slant;
-lft x1=noise;
-rt x2=w+noise;
-y1=.618h+noise;
-y2=.618h+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_endash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_endash.mf
deleted file mode 100644
index bda1854fa29..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_endash.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("endash",9,x_ht#,0);
-italcorr .618x_ht#*slant;
-lft x1=noise;
-rt x2=w+noise;
-y1=.618h+noise;
-y2=.618h+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_equal.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_equal.mf
deleted file mode 100644
index 0a241ed1548..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_equal.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("equal",15,x_ht#,0);
-italcorr .8x_ht#*slant;
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-x3=good.x(2u+s+noise);
-x4=good.x(w-2u-s+noise);
-y1=.3h+noise;
-y2=.3h+noise;
-y3=.8h+noise;
-y4=.8h+noise;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclam.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclam.mf
deleted file mode 100644
index bd25650860f..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclam.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("exclam",5,ht#,0);
-italcorr .8ht#*slant;
-x1=x2=.5w+noise;
-x3=.5w+noise;
-x4=.5w+noise;
-bot y1=noise-o;
-y2=y1+dotincr*py;
-top y4=h+o+noise;
-bot y3=max(.618barheight,top y2+eps)+noise;
-draw dotcircle(z1,z2);
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclamdown.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclamdown.mf
deleted file mode 100644
index 92def9172be..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_exclamdown.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("exclamdown",5,ht#-comma_depth#,comma_depth#);
-italcorr .8(ht#-comma_depth#)*slant;
-x1=x2=.5w+noise;
-x3=.5w+noise;
-x4=.5w+noise;
-top y1=h+o+noise;
-y2=y1-dotincr*py;
-bot y4=noise-d-o;
-top y3=min(h-.618barheight,bot y2-eps)+noise;
-draw dotcircle(z1,z2);
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ff.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ff.mf
deleted file mode 100644
index f2644d0297e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ff.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("ff","f","f");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffi.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffi.mf
deleted file mode 100644
index 04d62bdf36a..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffi.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("ffi","ff","i");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffl.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffl.mf
deleted file mode 100644
index 40ec872a611..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ffl.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("ffl","ff","l");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fi.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fi.mf
deleted file mode 100644
index 56646eb62a7..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fi.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("fi","f","i");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_five.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_five.mf
deleted file mode 100644
index ba3ce3f5470..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_five.mf
+++ /dev/null
@@ -1,21 +0,0 @@
-ffmchar("five",11,ht#,0);
-italcorr .8ht#*slant;
-x5=leftstemloc+noise;
-x6=leftstemloc+noise;
-x7=w-x5+noise;
-x1=x5-ho+noise;
-w-x3=good.x(1.5u+s+noise);
-x2=.618[x5,x3]+noise;
-x4=.618[x5,x3]+noise;
-bot y1=noise;
-bot y2=noise;
-top y6=h+noise;
-top y7=h+noise;
-y4=barheight+.5noise;
-y5=barheight+.5noise;
-y3=.5[y2,y4]+noise;
-draw z1--z2
- & half(z2,z2-z1,z3,randup,z4,z5-z4)
- & z4--z5--z6--z7;
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fl.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fl.mf
deleted file mode 100644
index ec7bf4c3b68..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_fl.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("fl","f","l");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_four.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_four.mf
deleted file mode 100644
index 7bb0c4de212..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_four.mf
+++ /dev/null
@@ -1,16 +0,0 @@
-ffmchar("four",11,ht#,0);
-italcorr .7ht#*slant;
-x2=good.x(1.5u+s+noise);
-w-rt x3=eps+noise;
-w-x4=good.x(3.5u+s+noise);
-w-x5=good.x(3.5u+s+noise);
-rt x1=lft x4+noise;
-y4=.618h+noise;
-top y1=h+o+noise;
-bot y5=noise-o;
-y2=.618[y4,y5]+noise;
-y3=.618[y4,y5]+noise;
-draw z1--z2--z3;
-draw z4--z5;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_grave.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_grave.mf
deleted file mode 100644
index e7f3753101b..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_grave.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("grave",6,x_ht#+acc_ht#,0);
-lft x1=noise;
-rt x2=.8w+noise;
-top y1=h+o+noise;
-bot y2=.2[x_ht,h]+noise;
-draw z1--z2;
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_greater.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_greater.mf
deleted file mode 100644
index 30a65d34979..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_greater.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("greater",12,x_ht#,0);
-italcorr .5x_ht#*slant;
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-x3=good.x(2u+s+noise);
-top y1=h+o+noise;
-bot y3=noise;
-y2=.5h+noise;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotleft.mf
deleted file mode 100644
index d5058ac30d7..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotleft.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("guillemotleft",10,x_ht#,0);
-italcorr x_ht#*slant;
-x1=.4w+noise;
-x2=good.x(2u+s+noise);
-x3=.4w+noise;
-x4=good.x(w-2u-s+noise);
-x5=.6w+noise;
-x6=good.x(w-2u-s+noise);
-top y1=h+o+noise;
-bot y3=noise;
-y2=.5h+noise;
-top y4=h+o+noise;
-bot y6=noise;
-y5=.5h+noise;
-draw z1--z2--z3;
-draw z4--z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotright.mf
deleted file mode 100644
index 570d8969cc7..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guillemotright.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-ffmchar("guillemotright",10,x_ht#,0);
-italcorr .7x_ht#*slant;
-x1=good.x(2u+s+noise);
-x2=.4w+noise;
-x3=good.x(2u+s+noise);
-x4=.6w+noise;
-x5=good.x(w-2u-s+noise);
-x6=.6w+noise;
-top y1=h+o+noise;
-bot y3=noise;
-y2=.5h+noise;
-top y4=h+o+noise;
-bot y6=noise;
-y5=.5h+noise;
-draw z1--z2--z3;
-draw z4--z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglleft.mf
deleted file mode 100644
index 164f15dd90e..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglleft.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("guilsinglleft",7,x_ht#,0);
-italcorr x_ht#*slant;
-x1=good.x(w-2u-s+noise);
-x2=good.x(2u+s+noise);
-x3=good.x(w-2u-s+noise);
-top y1=h+o+noise;
-bot y3=noise;
-y2=.5h+noise;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglright.mf
deleted file mode 100644
index b544bc31a32..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_guilsinglright.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("guilsinglright",7,x_ht#,0);
-italcorr .7x_ht#*slant;
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-x3=good.x(2u+s+noise);
-top y1=h+o+noise;
-bot y3=noise;
-y2=.5h+noise;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hungarumlaut.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hungarumlaut.mf
deleted file mode 100644
index 379cec33495..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hungarumlaut.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("hungarumlaut",11,x_ht#+acc_ht#,0);
-x2=.2w+noise;
-x3=.8w+noise;
-x1=.4w+noise;
-x4=.6w+noise;
-top y1=h+o+noise;
-top y3=h+o+noise;
-bot y2=.2[x_ht,h]+noise;
-bot y4=.2[x_ht,h]+noise;
-draw z1--z2;
-draw z3--z4;
-charanchortops_[charcode]=(.4w,x_ht);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hyphen.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hyphen.mf
deleted file mode 100644
index 7d341121433..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_hyphen.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("hyphen",6,x_ht#,0);
-italcorr .618x_ht#*slant;
-lft x1=noise;
-rt x2=w+noise;
-y1=.618h+noise;
-y2=.618h+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ijlower.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ijlower.mf
deleted file mode 100644
index f9080154d72..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ijlower.mf
+++ /dev/null
@@ -1 +0,0 @@
-ffmchainedchar("ij","i","j");
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_less.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_less.mf
deleted file mode 100644
index 6468ede1b04..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_less.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("less",12,x_ht#,0);
-italcorr x_ht#*slant;
-x1=good.x(w-2u-s+noise);
-x2=good.x(2u+s+noise);
-x3=good.x(w-2u-s+noise);
-top y1=h+o+noise;
-bot y3=noise;
-y2=.5h+noise;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_macron.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_macron.mf
deleted file mode 100644
index c43b9d79912..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_macron.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("macron",6,x_ht#+acc_ht#,0);
-lft x1=noise;
-rt x2=w+noise;
-y1=.5[x_ht,h]+noise;
-y2=.5[x_ht,h]+noise;
-draw z1--z2;
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_nine.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_nine.mf
deleted file mode 100644
index 0c04cdc6176..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_nine.mf
+++ /dev/null
@@ -1,21 +0,0 @@
-ffmchar("nine",11,ht#,0);
-italcorr .7ht#*slant;
-x1=.5[x2,x4]+noise;
-x2=good.x(1.5u+s+noise);
-x3=.5[x2,x4]+noise;
-w-x4=good.x(2u+s+noise);
-x5=.618[x4,x2]+noise;
-x6=leftstemloc+noise;
-top y1=h+o+noise;
-y2=.5[y1,y3]+noise;
-y4=.5[y1,y3]+noise;
-bot y5=noise-o;
-y3=barheight+noise;
-z6=z5+whatever*randrt;
-pair randir;
-randir:=randup;
-draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randir);
-draw arc(z4,-randir,z5,z6-z5)
- & z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_numbersign.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_numbersign.mf
deleted file mode 100644
index 3c721f33170..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_numbersign.mf
+++ /dev/null
@@ -1,24 +0,0 @@
-ffmchar("numbersign",15,ht#,comma_depth#);
-italcorr .8ht#*slant;
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-x3=good.x(2u+s+noise);
-x4=good.x(w-2u-s+noise);
-x5=.25w+noise;
-x6=.45w+noise;
-x7=.55w+noise;
-x8=.75w+noise;
-y1=.3x_ht+noise;
-y2=.3x_ht+noise;
-y3=.8x_ht+noise;
-y4=.8x_ht+noise;
-bot y5=1.1x_ht-h-o+noise;
-top y6=h+o+noise;
-bot y7=1.1x_ht-h-o+noise;
-top y8=h+o+noise;
-draw z1--z2;
-draw z3--z4;
-draw z5--z6;
-draw z7--z8;
-labels(1,2,3,4,5,6,7,8);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ogonek.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ogonek.mf
deleted file mode 100644
index 5a4cdfe2f86..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ogonek.mf
+++ /dev/null
@@ -1,17 +0,0 @@
-ffmchar("ogonek",4,x_ht#,acc_depth#);
-x1=.6w; %no noise!
-lft x2=-o+.5noise;
-rt x4=w+.5noise;
-x3=x4-.5u;
-bot y1=0; %no noise!
-y2=.7[y1,y4];
-bot y3=noise-d;
-z4=z3+whatever*randrt;
-pair randir;
-randir:=-randup;
-draw z1..tension infinity and 1..z2{randir}
- & arc(z2,randir,z3,randrt)
- & z3--z4;
-charanchorbots_[charcode]=z1;
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_one.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_one.mf
deleted file mode 100644
index 7c25847cbeb..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_one.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("one",11,ht#,0);
-italcorr .7ht#*slant;
-x1=leftstemloc+noise;
-w-x2=good.x(4.5u+s+noise);
-w-x3=good.x(4.5u+s+noise);
-y1=.618h+noise;
-top y2=h+o+noise;
-bot y3=noise-o;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenleft.mf
deleted file mode 100644
index 050fb3683fe..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenleft.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("parenleft",8,ht#,comma_depth#);
-italcorr .8ht#*slant;
-x2=good.x(1.5u+s+noise);
-w-x1=leftstemloc-ho+noise;
-w-x3=leftstemloc-ho+noise;
-top y1=h+o+noise;
-bot y3=noise-o-d;
-y2=.5[-d,h]+noise;
-draw half(z1,-randrt,z2,-randup,z3,randrt);
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenright.mf
deleted file mode 100644
index 2cc2e8399d1..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_parenright.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("parenright",8,ht#,comma_depth#);
-italcorr .8ht#*slant;
-w-x2=good.x(1.5u+s+noise);
-x1=leftstemloc-ho+noise;
-x3=leftstemloc-ho+noise;
-top y1=h+o+noise;
-bot y3=noise-o-d;
-y2=.5[-d,h]+noise;
-draw half(z1,randrt,z2,-randup,z3,-randrt);
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_percent.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_percent.mf
deleted file mode 100644
index afc43d9d25d..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_percent.mf
+++ /dev/null
@@ -1,27 +0,0 @@
-ffmchar("percent",16,ht#,0);
-italcorr .8ht#*slant;
-x5=good.x(1.5u+s+noise);
-w-x7=good.x(1.5u+s+noise);
-x1=.2w+noise;
-x2=.8w+noise;
-x3=6.5u+s+noise;
-x4=4u+s+noise;
-x6=4u+s+noise;
-w-x8=4u+s+noise;
-w-x9=6.5u+s+noise;
-w-x10=4u+s+noise;
-bot y1=noise-o;
-top y2=h+o+noise;
-y3=.8h+noise;
-top y4=h+o+noise;
-y5=.8h+noise;
-bot y6=.6h-o+noise;
-y7=.2h+noise;
-top y8=.4h+o+noise;
-y9=.2h+noise;
-bot y10=noise-o;
-draw z1--z2;
-draw full(z3,randup,z4,-randrt,z5,-randup,z6,randrt);
-draw full(z7,randup,z8,-randrt,z9,-randup,z10,randrt);
-labels(1,2,3,4,5,6,7,8,9,10);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_period.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_period.mf
deleted file mode 100644
index 6be8e2e1d92..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_period.mf
+++ /dev/null
@@ -1,7 +0,0 @@
-ffmchar("period",5,x_ht#,0);
-x1=x2=.5w+noise;
-bot y1=noise-o;
-y2=y1+dotincr*py;
-draw dotcircle(z1,z2);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_perthousandzero.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_perthousandzero.mf
deleted file mode 100644
index b2882f5072a..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_perthousandzero.mf
+++ /dev/null
@@ -1,12 +0,0 @@
-ffmchar("perthousandzero",8,ht#,0);
-x3=good.x(1.5u+s+noise);
-w-x1=good.x(1.5u+s+noise);
-x2=.5w+noise;
-x4=.5w+noise;
-y1=.2h+noise;
-top y2=.4h+o+noise;
-y3=.2h+noise;
-bot y4=noise-o;
-draw full(z1,randup,z2,-randrt,z3,-randup,z4,randrt);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_plus.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_plus.mf
deleted file mode 100644
index d5770fd22ec..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_plus.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("plus",15,x_ht#,0);
-italcorr .5x_ht#*slant;
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-x3=.5w+noise;
-x4=.5w+noise;
-y1=.5h+noise;
-y2=.5h+noise;
-y3=noise-o;
-y4=h+o+noise;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_question.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_question.mf
deleted file mode 100644
index e522bb27679..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_question.mf
+++ /dev/null
@@ -1,23 +0,0 @@
-ffmchar("question",12,ht#,0);
-italcorr .8ht#*slant;
-x1=good.x(1.5u+s+noise);
-w-x3=good.x(2u+s+noise);
-x5=.618[x3,x1]+noise;
-x2=.618[x1,x3]+noise;
-x4=.618[x1,x3]+noise;
-x6=x7=.618[x3,x1]+noise;
-top y1=h+noise;
-top y2=h+noise;
-y4=barheight+noise;
-y3=.5[y2,y4]+noise;
-bot y6=noise-o;
-y7=y6+dotincr*py;
-bot y5=max(.618y4,top y7+eps)+noise;
-pair randir;
-randir:=-randrt;
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,randir)
- & arc(z4,randir,z5,-randup);
-draw dotcircle(z6,z7);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_questiondown.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_questiondown.mf
deleted file mode 100644
index 1992ffe2cfe..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_questiondown.mf
+++ /dev/null
@@ -1,22 +0,0 @@
-ffmchar("questiondown",12,ht#-comma_depth#,comma_depth#);
-w-x1=good.x(1.5u+s+noise);
-x3=good.x(2u+s+noise);
-x5=.618[x3,x1]+noise;
-x2=.618[x1,x3]+noise;
-x4=.618[x1,x3]+noise;
-x6=x7=.618[x3,x1]+noise;
-bot y1=noise-d;
-bot y2=noise-d;
-top y6=h+o+noise;
-y7=y6-dotincr*py;
-top y5=min(h-.618barheight,bot y7-eps)+noise;
-y4=.8[y2,y5]+noise;
-y3=.5[y2,y4]+noise;
-pair randir;
-randir:=-randrt;
-draw arc(z5,-randup,z4,randir)
- & half(z4,randir,z3,-randup,z2,z1-z2)
- & z2--z1;
-draw dotcircle(z6,z7);
-labels(1,2,3,4,5,6,7);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedbl.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedbl.mf
deleted file mode 100644
index f682a90d575..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedbl.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("quotedbl",8,ht#,0);
-italcorr ht#*slant;
-x1=leftstemloc+noise;
-x2=leftstemloc+noise;
-x3=w-leftstemloc+noise;
-x4=w-leftstemloc+noise;
-top y1=h+o+noise;
-top y3=h+o+noise;
-y2=.5[barheight,x_ht]+noise;
-y4=.5[barheight,x_ht]+noise;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblbase.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblbase.mf
deleted file mode 100644
index 0033b194922..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblbase.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("quotedblbase",6,x_ht#,comma_depth#);
-x2=.3w+noise;
-x3=.7w+noise;
-x1=.2w+noise;
-x4=.8w+noise;
-bot y1=noise-d-o;
-bot y3=noise-d-o;
-y2=-d+ht-.5[barheight,x_ht]+noise;
-y4=-d+ht-.5[barheight,x_ht]+noise;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblleft.mf
deleted file mode 100644
index e668a57b6c2..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblleft.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("quotedblleft",6,ht#,0);
-italcorr ht#*slant;
-x1=.2w+noise;
-x4=.8w+noise;
-x2=.3w+noise;
-x3=.7w+noise;
-top y1=h+o+noise;
-top y3=h+o+noise;
-y2=.5[barheight,x_ht]+noise;
-y4=.5[barheight,x_ht]+noise;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblright.mf
deleted file mode 100644
index e0b12c322b2..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotedblright.mf
+++ /dev/null
@@ -1,14 +0,0 @@
-ffmchar("quotedblright",6,ht#,0);
-italcorr ht#*slant;
-x2=.2w+noise;
-x3=.8w+noise;
-x1=.3w+noise;
-x4=.7w+noise;
-top y1=h+o+noise;
-top y3=h+o+noise;
-y2=.5[barheight,x_ht]+noise;
-y4=.5[barheight,x_ht]+noise;
-draw z1--z2;
-draw z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteleft.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteleft.mf
deleted file mode 100644
index a9d9d577497..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteleft.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("quoteleft",5,ht#,0);
-italcorr ht#*slant;
-x1=.4w+noise;
-x2=.6w+noise;
-top y1=h+o+noise;
-y2=.5[barheight,x_ht]+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteright.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteright.mf
deleted file mode 100644
index 6676fd943ce..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quoteright.mf
+++ /dev/null
@@ -1,10 +0,0 @@
-ffmchar("quoteright",5,ht#,0);
-italcorr ht#*slant;
-x1=.4w+noise;
-x2=.6w+noise;
-top y2=h+o+noise;
-y1=.5[barheight,x_ht]+noise;
-draw z1--z2;
-charanchortoprights_[charcode]=(.5w,h);
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotesinglbase.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotesinglbase.mf
deleted file mode 100644
index 6a3cd5b8c9f..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_quotesinglbase.mf
+++ /dev/null
@@ -1,8 +0,0 @@
-ffmchar("quotesinglbase",3,x_ht#,comma_depth#);
-x1=.4w+noise;
-x2=.6w+noise;
-bot y1=noise-d-o;
-y2=-d+ht-.5[barheight,x_ht]+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ring.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ring.mf
deleted file mode 100644
index 3a439972859..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_ring.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("ring",5,x_ht#+acc_ht#,0);
-lft x3=-o+noise;
-rt x1=w+o+noise;
-x2=.5w+noise;
-x4=.5w+noise;
-top y4=x_ht+o; %no noise because of Aring
-top y2=h+o+noise;
-y1=.5[y2,y4]+noise;
-y3=.5[y2,y4]+noise;
-draw full(z1,randup,z2,-randrt,z3,-randup,z4,randrt);
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_section.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_section.mf
deleted file mode 100644
index 01b579d787a..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_section.mf
+++ /dev/null
@@ -1,31 +0,0 @@
-ffmchar("section",10,ht#,comma_depth#);
-italcorr .5ht#*slant;
-x1=.5w+noise;
-x2=good.x(2u+s+noise);
-x3=.5w+noise;
-w-x4=good.x(2u+s+noise);
-x5=good.x(1.5u+s+noise);
-x6=.5w+noise;
-w-x7=leftstemloc+noise;
-w-x8=good.x(1.5u+s+noise);
-x9=.5w+noise;
-x10=leftstemloc+noise;
-y1=.65[-d,h]+noise;
-y2=.5[-d,h]+noise;
-y3=.35[-d,h]+noise;
-y4=.5[-d,h]+noise;
-y5=.5[y1,y6]+noise;
-top y6=h+noise;
-top y7=h+noise;
-y8=.5[y4,y9]+noise;
-bot y9=noise-d;
-bot y10=noise-d;
-pair randira,randirb;
-randira=-randrt;
-randirb=randrt;
-draw full(z1,randira,z2,-randup,z3,randirb,z4,randup);
-draw half(z1,randira,z5,randup,z6,z7-z6) & z6--z7;
-draw half(z3,randirb,z8,-randup,z9,z10-z9) & z9--z10;
-charanchortops_[charcode]=(.5w,h);
-labels(1,2,3,4,5,6,7,8,9,10);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_semicolon.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_semicolon.mf
deleted file mode 100644
index 826f2b4df80..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_semicolon.mf
+++ /dev/null
@@ -1,12 +0,0 @@
-ffmchar("semicolon",6,x_ht#,comma_depth#);
-italcorr barheight#*slant;
-x1=leftstemloc+noise;
-w-x2=leftstemloc+noise;
-w-x3=w-x4=leftstemloc+noise;
-y3=y4-dotincr*py=barheight;
-top y2=.382y3;
-bot y1=-d;
-draw z1--z2;
-draw dotcircle(z3,z4);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_seven.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_seven.mf
deleted file mode 100644
index 844f86d03c5..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_seven.mf
+++ /dev/null
@@ -1,11 +0,0 @@
-ffmchar("seven",11,ht#,0);
-italcorr ht#*slant;
-x1=good.x(1.5u+s+noise);
-w-x2=good.x(1.5u+s+noise);
-x3=.618[x2,x1]+noise;
-top y1=h+noise;
-top y2=h+noise;
-bot y3=noise-o;
-draw z1--z2--z3;
-labels(1,2,3);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_six.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_six.mf
deleted file mode 100644
index 867a905122f..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_six.mf
+++ /dev/null
@@ -1,21 +0,0 @@
-ffmchar("six",11,ht#,0);
-italcorr .8ht#*slant;
-x1=.5[x2,x4]+noise;
-x2=good.x(2u+s+noise);
-x3=.5[x2,x4]+noise;
-w-x4=good.x(1.5u+s+noise);
-x5=.618[x2,x4]+noise;
-w-x6=leftstemloc+noise;
-y1=barheight+noise;
-y2=.5[y1,y3]+noise;
-bot y3=noise-o;
-y4=.5[y1,y3]+noise;
-top y5=h+o+noise;
-z6=z5+whatever*randrt;
-pair randir;
-randir:=randup;
-draw full(z1,-randrt,z2,-randir,z3,randrt,z4,randup);
-draw arc(z2,randir,z5,z6-z5)
- & z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_slash.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_slash.mf
deleted file mode 100644
index 420c32fbb0d..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_slash.mf
+++ /dev/null
@@ -1,9 +0,0 @@
-ffmchar("slash",10,ht#,comma_depth#);
-italcorr ht#*slant;
-x1=good.x(2u+s+noise);
-x2=good.x(w-2u-s+noise);
-bot y1=noise-d-o;
-top y2=h+o+noise;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_sterling.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_sterling.mf
deleted file mode 100644
index 2c981cefbb2..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_sterling.mf
+++ /dev/null
@@ -1,26 +0,0 @@
-ffmchar("sterling",11,ht#,0);
-italcorr .8ht#*slant;
-x5=good.x(1.5u+s+noise);
-x7=good.x(1.5u+s+noise);
-rt x6=w-eps+noise;
-x1=w-leftstemloc+o+noise;
-x8=w-leftstemloc+o-xgap+noise;
-x2=.618[x5,x1]+noise;
-x3=.618[x2,x5]+noise;
-x4=.618[x2,x5]+noise;
-top y1=h+noise;
-bot y5=noise;
-bot y6=noise;
-y7=barheight+noise;
-y8=barheight+noise;
-y4=barheight+noise;
-y3=.5[barheight,h]+noise;
-z2=z1+whatever*randir;
-draw z1--z2
- & arc(z2,z2-z1,z3,z4-z3)
- & z3--z4
- & arc(z4,z4-z3,z5,z5-z6);
-draw z5--z6;
-draw z7--z8;
-labels(1,2,3,4,5,6,7,8);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_three.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_three.mf
deleted file mode 100644
index 2ca4965964b..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_three.mf
+++ /dev/null
@@ -1,25 +0,0 @@
-ffmchar("three",11,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc-ho+noise;
-x8=leftstemloc-ho+noise;
-w-x3=good.x(1.5u+s+noise);
-w-x6=good.x(2u+s+noise);
-x5=.618[x1,x2]+noise;
-x2=.55w+noise;
-x4=.55w+noise;
-x7=.55w+noise;
-bot y1=noise;
-bot y2=noise;
-top y7=h+noise;
-top y8=h+noise;
-y4=barheight+.5noise;
-y5=barheight+.5noise;
-y3=.5[y2,y4]+noise;
-y6=.5[y4,y7]+noise;
-draw z1--z2
- & half(z2,z2-z1,z3,randup,z4,z5-z4)
- & z4--z5;
-draw half(z4,z4-z5,z6,randup,z7,z8-z7)
- & z7--z8;
-labels(1,2,3,4,5,6,7,8);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_tilde.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_tilde.mf
deleted file mode 100644
index 2d1e2dbebcb..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_tilde.mf
+++ /dev/null
@@ -1,19 +0,0 @@
-ffmchar("tilde",9,x_ht#+acc_ht#,0);
-lft x1=eps+noise;
-x2=.3w+noise;
-x4=.7w+noise;
-x3=.5w+noise;
-rt x5=w-eps+noise;
-bot y1=.2[x_ht,h]+noise;
-bot y4=.2[x_ht,h]+noise;
-top y2=h+noise;
-top y5=h+noise;
-y3=.6[x_ht,h]+noise;
-if angle direction 1 of (z2{right}...z3...z4{right}) < -90:
- draw z1{randup}...z2{randrt}...z3{-randup}...z4{randrt}...z5{randup};
-else:
- draw z1{randup}...z2{randrt}...z3...z4{randrt}...z5{randup};
-fi
-charanchortops_[charcode]=(.5w,x_ht);
-labels(1,2,3,4,5);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_two.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_two.mf
deleted file mode 100644
index 850dbc9be19..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_two.mf
+++ /dev/null
@@ -1,22 +0,0 @@
-ffmchar("two",11,ht#,0);
-italcorr .8ht#*slant;
-x1=leftstemloc-ho+noise;
-x2=.5[x1,x6]+noise;
-w-x3=good.x(1.5u+s+noise);
-x4=.5[x1,x6]+noise;
-x5=good.x(2u+s+noise);
-x6=.5[w-x1,lft w]+ho+noise;
-top y2=h+noise;
-y3=.5[y4,y2]+noise;
-y4=barheight+noise;
-bot y5=noise;
-bot y6=noise;
-z1=z2+whatever*randrt;
-pair randir;
-randir:=-randrt;
-draw z1--z2
- & half(z2,z2-z1,z3,-randup,z4,randir)
- & arc(z4,randir,z5,-randup)
- & z5--z6;
-labels(1,2,3,4,5,6);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_underscore.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_underscore.mf
deleted file mode 100644
index 398478f7a93..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_underscore.mf
+++ /dev/null
@@ -1,8 +0,0 @@
-ffmchar("underscore",16,0,comma_depth#);
-x1=0;
-x2=w;
-bot y1=-.8d;
-bot y2=-.8d;
-draw z1--z2;
-labels(1,2);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_visiblespace.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_visiblespace.mf
deleted file mode 100644
index 5a1b9939502..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_visiblespace.mf
+++ /dev/null
@@ -1,12 +0,0 @@
-ffmchar("visiblespace",6,ht#,comma_depth#);
-lft x1=good.x(.5u+noise);
-lft x2=good.x(.5u+noise);
-rt x3=good.x(w-.5u+noise);
-rt x4=good.x(w-.5u+noise);
-top y1=o+noise;
-top y4=o+noise;
-bot y2=noise-d;
-bot y3=noise-d;
-draw z1--z2--z3--z4;
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_zero.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_zero.mf
deleted file mode 100644
index 83ecf0bca77..00000000000
--- a/Master/texmf-dist/fonts/source/public/fetamont/ffmchar_zero.mf
+++ /dev/null
@@ -1,13 +0,0 @@
-ffmchar("zero",11,ht#,0);
-italcorr .6ht#*slant;
-x1=.5w+noise;
-x2=good.x(1.5u+s+noise);
-x3=.5w+noise;
-w-x4=good.x(1.5u+s+noise);
-top y1=h+o+noise;
-y2=barheight+noise;
-bot y3=noise-o;
-y4=barheight+noise;
-draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
-labels(1,2,3,4);
-endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchars_nonscalable.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchars_nonscalable.mf
new file mode 100644
index 00000000000..af15ef561ec
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/fetamont/ffmchars_nonscalable.mf
@@ -0,0 +1,1164 @@
+% accents
+
+ffmchar("acute",6,x_ht#+acc_ht#,0);
+lft x1=.2w+noise;
+rt x2=w+noise;
+bot y1=.2[x_ht,h]+noise;
+top y2=h+o+noise;
+draw z1--z2;
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2);
+endchar;
+
+ffmchar("grave",6,x_ht#+acc_ht#,0);
+lft x1=noise;
+rt x2=.8w+noise;
+top y1=h+o+noise;
+bot y2=.2[x_ht,h]+noise;
+draw z1--z2;
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2);
+endchar;
+
+ffmchar("dieresis",8,x_ht#+acc_ht#,0);
+x1=x2=.5w-max(1.8u,(1+dotincr)*.7px)+noise;
+x3=x4=.5w+max(1.8u,(1+dotincr)*.7px)+noise;
+bot y1=.3[x_ht,h]+noise;
+y2=y1+dotincr*py;
+bot y3=.3[x_ht,h]+noise;
+y4=y3+dotincr*py;
+draw dotcircle(z1,z2);
+draw dotcircle(z3,z4);
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("circumflex",7,x_ht#+acc_ht#,0);
+lft x1=noise;
+x2=.5w+noise;
+rt x3=w+noise;
+bot y1=.2[x_ht,h]+noise;
+bot y3=.2[x_ht,h]+noise;
+top y2=h+o+noise;
+draw z1--z2--z3;
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2,3);
+endchar;
+
+ffmchar("tilde",9,x_ht#+acc_ht#,0);
+lft x1=eps+noise;
+x2=.3w+noise;
+x4=.7w+noise;
+x3=.5w+noise;
+rt x5=w-eps+noise;
+bot y1=.2[x_ht,h]+noise;
+bot y4=.2[x_ht,h]+noise;
+top y2=h+noise;
+top y5=h+noise;
+y3=.6[x_ht,h]+noise;
+if angle direction 1 of (z2{right}...z3...z4{right}) < -90:
+ draw z1{randup}...z2{randrt}...z3{-randup}...z4{randrt}...z5{randup};
+else:
+ draw z1{randup}...z2{randrt}...z3...z4{randrt}...z5{randup};
+fi
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("hungarumlaut",11,x_ht#+acc_ht#,0);
+x2=.2w+noise;
+x3=.8w+noise;
+x1=.4w+noise;
+x4=.6w+noise;
+top y1=h+o+noise;
+top y3=h+o+noise;
+bot y2=.2[x_ht,h]+noise;
+bot y4=.2[x_ht,h]+noise;
+draw z1--z2;
+draw z3--z4;
+charanchortops_[charcode]=(.4w,x_ht);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("ring",5,x_ht#+acc_ht#,0);
+lft x3=-o+noise;
+rt x1=w+o+noise;
+x2=.5w+noise;
+x4=.5w+noise;
+top y4=x_ht+o; %no noise because of Aring
+top y2=h+o+noise;
+y1=.5[y2,y4]+noise;
+y3=.5[y2,y4]+noise;
+draw full(z1,randup,z2,-randrt,z3,-randup,z4,randrt);
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("caron",7,x_ht#+acc_ht#,0);
+lft x1=noise;
+x2=.5w+noise;
+rt x3=w+noise;
+top y1=h+o+noise;
+top y3=h+o+noise;
+bot y2=.2[x_ht,h]+noise;
+draw z1--z2--z3;
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2,3);
+endchar;
+
+ffmchar("breve",7,x_ht#+acc_ht#,0);
+lft x1=noise;
+x2=.5w+noise;
+rt x3=w+noise;
+top y1=h+o+noise;
+top y3=h+o+noise;
+bot y2=.2[x_ht,h]+noise;
+draw half(z1,-randup,z2,randrt,z3,randup);
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2,3);
+endchar;
+
+ffmchar("macron",6,x_ht#+acc_ht#,0);
+lft x1=noise;
+rt x2=w+noise;
+y1=.5[x_ht,h]+noise;
+y2=.5[x_ht,h]+noise;
+draw z1--z2;
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2);
+endchar;
+
+ffmchar("dotaccent",4,x_ht#+acc_ht#,0);
+x1=x2=.5w+noise;
+bot y1=.5[x_ht,h]+noise;
+y2=y1+dotincr*py;
+draw dotcircle(z1,z2);
+charanchortops_[charcode]=(.5w,x_ht);
+labels(1,2);
+endchar;
+
+ffmchar("cedilla",4,x_ht#,acc_depth#);
+x1=.5w; %no noise!
+lft x2=.2w+.5noise;
+rt x3=w+o+.5noise;
+x4=x2;
+lft x5=0;
+bot y1=0; %no noise!
+y2=.4[y1,y4];
+y3=.7[y1,y4];
+bot y4=noise-d;
+z5=z4+whatever*randrt;
+draw z5--z4
+ & half(z4,z4-z5,z3,randup,z2,-randrt)
+ & z2--z1;
+charanchorbots_[charcode]=z1;
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("ogonek",4,x_ht#,acc_depth#);
+x1=.6w; %no noise!
+lft x2=-o+.5noise;
+rt x4=w+.5noise;
+x3=x4-.5u;
+bot y1=0; %no noise!
+y2=.7[y1,y4];
+bot y3=noise-d;
+z4=z3+whatever*randrt;
+pair randir;
+randir:=-randup;
+draw z1..tension infinity and 1..z2{randir}
+ & arc(z2,randir,z3,randrt)
+ & z3--z4;
+charanchorbots_[charcode]=z1;
+labels(1,2,3,4,5);
+endchar;
+
+% digits
+
+ffmchar("zero",11,ht#,0);
+italcorr .6ht#*slant;
+x1=.5w+noise;
+x2=good.x(1.5u+s+noise);
+x3=.5w+noise;
+w-x4=good.x(1.5u+s+noise);
+top y1=h+o+noise;
+y2=barheight+noise;
+bot y3=noise-o;
+y4=barheight+noise;
+draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("one",11,ht#,0);
+italcorr .7ht#*slant;
+x1=leftstemloc+noise;
+w-x2=good.x(4.5u+s+noise);
+w-x3=good.x(4.5u+s+noise);
+y1=.618h+noise;
+top y2=h+o+noise;
+bot y3=noise-o;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("two",11,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc-ho+noise;
+x2=.5[x1,x6]+noise;
+w-x3=good.x(1.5u+s+noise);
+x4=.5[x1,x6]+noise;
+x5=good.x(2u+s+noise);
+x6=.5[w-x1,lft w]+ho+noise;
+top y2=h+noise;
+y3=.5[y4,y2]+noise;
+y4=barheight+noise;
+bot y5=noise;
+bot y6=noise;
+z1=z2+whatever*randrt;
+pair randir;
+randir:=-randrt;
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,randir)
+ & arc(z4,randir,z5,-randup)
+ & z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("three",11,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc-ho+noise;
+x8=leftstemloc-ho+noise;
+w-x3=good.x(1.5u+s+noise);
+w-x6=good.x(2u+s+noise);
+x5=.618[x1,x2]+noise;
+x2=.55w+noise;
+x4=.55w+noise;
+x7=.55w+noise;
+bot y1=noise;
+bot y2=noise;
+top y7=h+noise;
+top y8=h+noise;
+y4=barheight+.5noise;
+y5=barheight+.5noise;
+y3=.5[y2,y4]+noise;
+y6=.5[y4,y7]+noise;
+draw z1--z2
+ & half(z2,z2-z1,z3,randup,z4,z5-z4)
+ & z4--z5;
+draw half(z4,z4-z5,z6,randup,z7,z8-z7)
+ & z7--z8;
+labels(1,2,3,4,5,6,7,8);
+endchar;
+
+ffmchar("four",11,ht#,0);
+italcorr .7ht#*slant;
+x2=good.x(1.5u+s+noise);
+w-rt x3=eps+noise;
+w-x4=good.x(3.5u+s+noise);
+w-x5=good.x(3.5u+s+noise);
+rt x1=lft x4+noise;
+y4=.618h+noise;
+top y1=h+o+noise;
+bot y5=noise-o;
+y2=.618[y4,y5]+noise;
+y3=.618[y4,y5]+noise;
+draw z1--z2--z3;
+draw z4--z5;
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("five",11,ht#,0);
+italcorr .8ht#*slant;
+x5=leftstemloc+noise;
+x6=leftstemloc+noise;
+x7=w-x5+noise;
+x1=x5-ho+noise;
+w-x3=good.x(1.5u+s+noise);
+x2=.618[x5,x3]+noise;
+x4=.618[x5,x3]+noise;
+bot y1=noise;
+bot y2=noise;
+top y6=h+noise;
+top y7=h+noise;
+y4=barheight+.5noise;
+y5=barheight+.5noise;
+y3=.5[y2,y4]+noise;
+draw z1--z2
+ & half(z2,z2-z1,z3,randup,z4,z5-z4)
+ & z4--z5--z6--z7;
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("six",11,ht#,0);
+italcorr .8ht#*slant;
+x1=.5[x2,x4]+noise;
+x2=good.x(2u+s+noise);
+x3=.5[x2,x4]+noise;
+w-x4=good.x(1.5u+s+noise);
+x5=.618[x2,x4]+noise;
+w-x6=leftstemloc+noise;
+y1=barheight+noise;
+y2=.5[y1,y3]+noise;
+bot y3=noise-o;
+y4=.5[y1,y3]+noise;
+top y5=h+o+noise;
+z6=z5+whatever*randrt;
+pair randir;
+randir:=randup;
+draw full(z1,-randrt,z2,-randir,z3,randrt,z4,randup);
+draw arc(z2,randir,z5,z6-z5)
+ & z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("seven",11,ht#,0);
+italcorr ht#*slant;
+x1=good.x(1.5u+s+noise);
+w-x2=good.x(1.5u+s+noise);
+x3=.618[x2,x1]+noise;
+top y1=h+noise;
+top y2=h+noise;
+bot y3=noise-o;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("eight",11,ht#,0);
+italcorr .7ht#*slant;
+x1=.5w+noise;
+x3=.5w+noise;
+x6=.5w+noise;
+x2=good.x(1.5u+s+noise);
+w-x4=good.x(1.5u+s+noise);
+x7=.2[x2,x1]+noise;
+w-x5=.2[x2,x1]+noise;
+y1=barheight+noise;
+bot y3=noise-o;
+top y6=h+o+noise;
+y2=.5[y1,y3]+noise;
+y4=.5[y1,y3]+noise;
+y7=.5[y1,y6]+noise;
+z5=z7+whatever*(z4-z2);
+pair randir;
+randir:=randrt;
+draw full(z1,-randir,z2,-randup,z3,randrt,z4,randup);
+draw full(z1,randir,z5,randup,z6,-randrt,z7,-randup);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("nine",11,ht#,0);
+italcorr .7ht#*slant;
+x1=.5[x2,x4]+noise;
+x2=good.x(1.5u+s+noise);
+x3=.5[x2,x4]+noise;
+w-x4=good.x(2u+s+noise);
+x5=.618[x4,x2]+noise;
+x6=leftstemloc+noise;
+top y1=h+o+noise;
+y2=.5[y1,y3]+noise;
+y4=.5[y1,y3]+noise;
+bot y5=noise-o;
+y3=barheight+noise;
+z6=z5+whatever*randrt;
+pair randir;
+randir:=randup;
+draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randir);
+draw arc(z4,-randir,z5,z6-z5)
+ & z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+% punctation
+
+ffmchar("visiblespace",6,ht#,comma_depth#);
+lft x1=good.x(.5u+noise);
+lft x2=good.x(.5u+noise);
+rt x3=good.x(w-.5u+noise);
+rt x4=good.x(w-.5u+noise);
+top y1=o+noise;
+top y4=o+noise;
+bot y2=noise-d;
+bot y3=noise-d;
+draw z1--z2--z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("period",5,x_ht#,0);
+x1=x2=.5w+noise;
+bot y1=noise-o;
+y2=y1+dotincr*py;
+draw dotcircle(z1,z2);
+labels(1,2);
+endchar;
+
+ffmchar("colon",5,x_ht#,0);
+italcorr .8barheight#*slant;
+x1=x2=.5w+noise;
+x3=x4=.5w+noise;
+bot y1=noise-o;
+y2=y1+dotincr*py;
+y3=y4-dotincr*py=barheight+noise;
+draw dotcircle(z1,z2);
+draw dotcircle(z3,z4);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("comma",6,x_ht#,comma_depth#);
+x1=leftstemloc;
+x2=w-x1;
+top y2=.382barheight;
+bot y1=-d;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("semicolon",6,x_ht#,comma_depth#);
+italcorr barheight#*slant;
+x1=leftstemloc+noise;
+w-x2=leftstemloc+noise;
+w-x3=w-x4=leftstemloc+noise;
+y3=y4-dotincr*py=barheight;
+top y2=.382y3;
+bot y1=-d;
+draw z1--z2;
+draw dotcircle(z3,z4);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("exclam",5,ht#,0);
+italcorr .8ht#*slant;
+x1=x2=.5w+noise;
+x3=.5w+noise;
+x4=.5w+noise;
+bot y1=noise-o;
+y2=y1+dotincr*py;
+top y4=h+o+noise;
+bot y3=max(.618barheight,top y2+eps)+noise;
+draw dotcircle(z1,z2);
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("question",12,ht#,0);
+italcorr .8ht#*slant;
+x1=good.x(1.5u+s+noise);
+w-x3=good.x(2u+s+noise);
+x5=.618[x3,x1]+noise;
+x2=.618[x1,x3]+noise;
+x4=.618[x1,x3]+noise;
+x6=x7=.618[x3,x1]+noise;
+top y1=h+noise;
+top y2=h+noise;
+y4=barheight+noise;
+y3=.5[y2,y4]+noise;
+bot y6=noise-o;
+y7=y6+dotincr*py;
+bot y5=max(.618y4,top y7+eps)+noise;
+pair randir;
+randir:=-randrt;
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,randir)
+ & arc(z4,randir,z5,-randup);
+draw dotcircle(z6,z7);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("parenleft",8,ht#,comma_depth#);
+italcorr .8ht#*slant;
+x2=good.x(1.5u+s+noise);
+w-x1=leftstemloc-ho+noise;
+w-x3=leftstemloc-ho+noise;
+top y1=h+o+noise;
+bot y3=noise-o-d;
+y2=.5[-d,h]+noise;
+draw half(z1,-randrt,z2,-randup,z3,randrt);
+labels(1,2,3);
+endchar;
+
+ffmchar("parenright",8,ht#,comma_depth#);
+italcorr .8ht#*slant;
+w-x2=good.x(1.5u+s+noise);
+x1=leftstemloc-ho+noise;
+x3=leftstemloc-ho+noise;
+top y1=h+o+noise;
+bot y3=noise-o-d;
+y2=.5[-d,h]+noise;
+draw half(z1,randrt,z2,-randup,z3,-randrt);
+labels(1,2,3);
+endchar;
+
+ffmchar("hyphen",6,x_ht#,0);
+italcorr .618x_ht#*slant;
+lft x1=noise;
+rt x2=w+noise;
+y1=.618h+noise;
+y2=.618h+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("emdash",18,x_ht#,0);
+italcorr .618x_ht#*slant;
+lft x1=noise;
+rt x2=w+noise;
+y1=.618h+noise;
+y2=.618h+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("endash",9,x_ht#,0);
+italcorr .618x_ht#*slant;
+lft x1=noise;
+rt x2=w+noise;
+y1=.618h+noise;
+y2=.618h+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("cwm",0,x_ht#,0);
+endchar;
+
+ffmchar("quotedbl",8,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=w-leftstemloc+noise;
+x4=w-leftstemloc+noise;
+top y1=h+o+noise;
+top y3=h+o+noise;
+y2=.5[barheight,x_ht]+noise;
+y4=.5[barheight,x_ht]+noise;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("quoteleft",5,ht#,0);
+italcorr ht#*slant;
+x1=.4w+noise;
+x2=.6w+noise;
+top y1=h+o+noise;
+y2=.5[barheight,x_ht]+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("quoteright",5,ht#,0);
+italcorr ht#*slant;
+x1=.4w+noise;
+x2=.6w+noise;
+top y2=h+o+noise;
+y1=.5[barheight,x_ht]+noise;
+draw z1--z2;
+charanchortoprights_[charcode]=(.5w,h);
+labels(1,2);
+endchar;
+
+ffmchar("quotedblleft",6,ht#,0);
+italcorr ht#*slant;
+x1=.2w+noise;
+x4=.8w+noise;
+x2=.3w+noise;
+x3=.7w+noise;
+top y1=h+o+noise;
+top y3=h+o+noise;
+y2=.5[barheight,x_ht]+noise;
+y4=.5[barheight,x_ht]+noise;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("quotedblright",6,ht#,0);
+italcorr ht#*slant;
+x2=.2w+noise;
+x3=.8w+noise;
+x1=.3w+noise;
+x4=.7w+noise;
+top y1=h+o+noise;
+top y3=h+o+noise;
+y2=.5[barheight,x_ht]+noise;
+y4=.5[barheight,x_ht]+noise;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("quotesinglbase",3,x_ht#,comma_depth#);
+x1=.4w+noise;
+x2=.6w+noise;
+bot y1=noise-d-o;
+y2=-d+ht-.5[barheight,x_ht]+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("quotedblbase",6,x_ht#,comma_depth#);
+x2=.3w+noise;
+x3=.7w+noise;
+x1=.2w+noise;
+x4=.8w+noise;
+bot y1=noise-d-o;
+bot y3=noise-d-o;
+y2=-d+ht-.5[barheight,x_ht]+noise;
+y4=-d+ht-.5[barheight,x_ht]+noise;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("guilsinglleft",7,x_ht#,0);
+italcorr x_ht#*slant;
+x1=good.x(w-2u-s+noise);
+x2=good.x(2u+s+noise);
+x3=good.x(w-2u-s+noise);
+top y1=h+o+noise;
+bot y3=noise;
+y2=.5h+noise;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("guilsinglright",7,x_ht#,0);
+italcorr .7x_ht#*slant;
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+x3=good.x(2u+s+noise);
+top y1=h+o+noise;
+bot y3=noise;
+y2=.5h+noise;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("guillemotleft",10,x_ht#,0);
+italcorr x_ht#*slant;
+x1=.4w+noise;
+x2=good.x(2u+s+noise);
+x3=.4w+noise;
+x4=good.x(w-2u-s+noise);
+x5=.6w+noise;
+x6=good.x(w-2u-s+noise);
+top y1=h+o+noise;
+bot y3=noise;
+y2=.5h+noise;
+top y4=h+o+noise;
+bot y6=noise;
+y5=.5h+noise;
+draw z1--z2--z3;
+draw z4--z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("guillemotright",10,x_ht#,0);
+italcorr .7x_ht#*slant;
+x1=good.x(2u+s+noise);
+x2=.4w+noise;
+x3=good.x(2u+s+noise);
+x4=.6w+noise;
+x5=good.x(w-2u-s+noise);
+x6=.6w+noise;
+top y1=h+o+noise;
+bot y3=noise;
+y2=.5h+noise;
+top y4=h+o+noise;
+bot y6=noise;
+y5=.5h+noise;
+draw z1--z2--z3;
+draw z4--z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("percent",16,ht#,0);
+italcorr .8ht#*slant;
+x5=good.x(1.5u+s+noise);
+w-x7=good.x(1.5u+s+noise);
+x1=.2w+noise;
+x2=.8w+noise;
+x3=6.5u+s+noise;
+x4=4u+s+noise;
+x6=4u+s+noise;
+w-x8=4u+s+noise;
+w-x9=6.5u+s+noise;
+w-x10=4u+s+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+y3=.8h+noise;
+top y4=h+o+noise;
+y5=.8h+noise;
+bot y6=.6h-o+noise;
+y7=.2h+noise;
+top y8=.4h+o+noise;
+y9=.2h+noise;
+bot y10=noise-o;
+draw z1--z2;
+draw full(z3,randup,z4,-randrt,z5,-randup,z6,randrt);
+draw full(z7,randup,z8,-randrt,z9,-randup,z10,randrt);
+labels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+ffmchar("perthousandzero",8,ht#,0);
+x3=good.x(1.5u+s+noise);
+w-x1=good.x(1.5u+s+noise);
+x2=.5w+noise;
+x4=.5w+noise;
+y1=.2h+noise;
+top y2=.4h+o+noise;
+y3=.2h+noise;
+bot y4=noise-o;
+draw full(z1,randup,z2,-randrt,z3,-randup,z4,randrt);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("slash",10,ht#,comma_depth#);
+italcorr ht#*slant;
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+bot y1=noise-d-o;
+top y2=h+o+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("plus",15,x_ht#,0);
+italcorr .5x_ht#*slant;
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+x3=.5w+noise;
+x4=.5w+noise;
+y1=.5h+noise;
+y2=.5h+noise;
+y3=noise-o;
+y4=h+o+noise;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("equal",15,x_ht#,0);
+italcorr .8x_ht#*slant;
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+x3=good.x(2u+s+noise);
+x4=good.x(w-2u-s+noise);
+y1=.3h+noise;
+y2=.3h+noise;
+y3=.8h+noise;
+y4=.8h+noise;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("numbersign",15,ht#,comma_depth#);
+italcorr .8ht#*slant;
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+x3=good.x(2u+s+noise);
+x4=good.x(w-2u-s+noise);
+x5=.25w+noise;
+x6=.45w+noise;
+x7=.55w+noise;
+x8=.75w+noise;
+y1=.3x_ht+noise;
+y2=.3x_ht+noise;
+y3=.8x_ht+noise;
+y4=.8x_ht+noise;
+bot y5=1.1x_ht-h-o+noise;
+top y6=h+o+noise;
+bot y7=1.1x_ht-h-o+noise;
+top y8=h+o+noise;
+draw z1--z2;
+draw z3--z4;
+draw z5--z6;
+draw z7--z8;
+labels(1,2,3,4,5,6,7,8);
+endchar;
+
+ffmchar("dollar",11,ht#,0);
+italcorr .7ht#*slant;
+x3=good.x(1.5u+s+noise);
+x8=good.x(1.5u+s+noise);
+w-x1=leftstemloc+noise;
+w-x6=good.x(1.5u+s+noise);
+x2=.382[x3,x6]+noise;
+x4=.382[x3,x6]+noise;
+x5=.618[x3,x6]+noise;
+x7=.618[x3,x6]+noise;
+x9=.5w+noise;
+x10=.5w+noise;
+top y1=h+noise;
+top y2=h+noise;
+y3=.6[y2,y4]+noise;
+y4=barheight+noise;
+y5=barheight+noise;
+y6=.5[y5,y7]+noise;
+bot y7=noise;
+bot y8=noise;
+top y9=noise;
+bot y10=h+noise;
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,z5-z4)
+ & z4--z5
+ & half(z5,z5-z4,z6,-randup,z7,z8-z7)
+ & z7--z8;
+draw z9--z10;
+labels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+ffmchar("ampersand",15,ht#,0);
+italcorr ht#*slant;
+x3=good.x(1.5u+s+noise);
+x6=good.x(1.5u+s+noise);
+rt x12=w-eps;
+x1=.618w+noise;
+x11=.618w+noise;
+x10=.5[x11,x12]+noise;
+x9=.5[x11,x12]+noise;
+x2=.618[x9,x6]+noise;
+x4=.618[x9,x6]+noise;
+x7=.618[x9,x6]+noise;
+x8=.618[x7,x9]+noise;
+x5=x4+.1u;
+top y1=h+.5noise;
+top y2=h+.5noise;
+bot y7=.5noise;
+bot y8=.5noise;
+y4=barheight+noise;
+y11=barheight+noise;
+y12=barheight+noise;
+y3=.5[y2,y4]+noise;
+y6=.5[y4,y7]+noise;
+y9=.5[y4,y7]+noise;
+z5=z4+whatever*randrt;
+z10=whatever[z11,z12];
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,z5-z4)
+ & z4--z5;
+draw half(z4,z4-z5,z6,-randup,z7,z8-z7)
+ & z7--z8
+ & arc(z8,z8-z7,z9,z10-z9)
+ & z9--z10;
+draw z11--z12;
+labels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+ffmchar("asterisk",12,ht#,0);
+numeric outerradius,innerradius;
+outerradius=.5w-2u-s;
+innerradius=px;
+path outercircle,innercircle;
+outercircle=(.5w,h+o+noise)..(.5w,h-2*outerradius)..cycle;
+innercircle=(.5w,h+o+noise-outerradius+innerradius)
+ ..(.5w,h+o+noise-outerradius-innerradius)..cycle;
+z1=point 0 of outercircle+(noise,noise);
+z2=point 0 of innercircle;
+z3=point .4 of outercircle+(noise,noise);
+z4=point .4 of innercircle;
+z5=point .8 of outercircle+(noise,noise);
+z6=point .8 of innercircle;
+z7=point 1.2 of outercircle+(noise,noise);
+z8=point 1.2 of innercircle;
+z9=point 1.6 of outercircle+(noise,noise);
+z10=point 1.6 of innercircle;
+draw z1--z2;
+draw z3--z4;
+draw z5--z6;
+draw z7--z8;
+draw z9--z10;
+labels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+ffmchar("less",12,x_ht#,0);
+italcorr x_ht#*slant;
+x1=good.x(w-2u-s+noise);
+x2=good.x(2u+s+noise);
+x3=good.x(w-2u-s+noise);
+top y1=h+o+noise;
+bot y3=noise;
+y2=.5h+noise;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("greater",12,x_ht#,0);
+italcorr .5x_ht#*slant;
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+x3=good.x(2u+s+noise);
+top y1=h+o+noise;
+bot y3=noise;
+y2=.5h+noise;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("at",16,ht#,0);
+italcorr .8ht#*slant;
+x10=good.x(1.5u+s+noise);
+w-x8=good.x(1.5u+s+noise);
+w-x7=1.5u+s+noise;
+x2=.5w+noise;
+x4=.5w+.5noise;
+x9=.5w+noise;
+x11=.5w+noise;
+x1=.65w+noise;
+x5=.65w+.5noise;
+x3=.35w+noise;
+x6=.5[x1,x7];
+top y9=h+o+noise;
+bot y11=noise-o;
+y8=.5h+noise;
+y10=.5h+noise;
+y3=.5h+noise;
+y1=.33h+noise;
+y2=.33h+noise;
+y7=.33h+noise;
+y4=.67h+.5noise;
+y5=.67h+.5noise;
+y6=.15h+noise;
+pair randir;
+randir=-randup;
+draw z1--z2
+ & half(z2,z2-z1,z3,randup,z4,z5-z4)
+ & z4--z5--z1
+ & half(z1,z1-z5,z6,randrt,z7,z8-z7)
+ & z7--z8
+ & half(z8,z8-z7,z9,-randrt,z10,randir)
+ & arc(z10,randir,z11,randrt);
+labels(1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+ffmchar("bracketleft",8,ht#,comma_depth#);
+italcorr ht#*slant;
+x2=leftstemloc+noise;
+x3=leftstemloc+noise;
+w-x1=leftstemloc-ho+noise;
+w-x4=leftstemloc-ho+noise;
+top y1=h+noise;
+top y2=h+noise;
+bot y3=noise-d;
+bot y4=noise-d;
+draw z1--z2--z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("backslash",10,ht#,comma_depth#);
+x1=good.x(2u+s+noise);
+x2=good.x(w-2u-s+noise);
+bot y2=noise-d-o;
+top y1=h+o+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("bracketright",8,ht#,comma_depth#);
+italcorr ht#*slant;
+w-x2=leftstemloc+noise;
+w-x3=leftstemloc+noise;
+x1=leftstemloc-ho+noise;
+x4=leftstemloc-ho+noise;
+top y1=h+noise;
+top y2=h+noise;
+bot y3=noise-d;
+bot y4=noise-d;
+draw z1--z2--z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("asciicircum",8,ht#,0);
+lft x1=eps+noise;
+x2=.5w+noise;
+rt x3=w-eps+noise;
+bot y1=x_ht+noise;
+bot y3=x_ht+noise;
+top y2=h+o+noise;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("underscore",16,0,comma_depth#);
+x1=0;
+x2=w;
+bot y1=-.8d;
+bot y2=-.8d;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("braceleft",8,ht#,comma_depth#);
+italcorr ht#*slant;
+w-x1=leftstemloc-ho+noise;
+w-x5=leftstemloc-ho+noise;
+x2=leftstemloc+noise;
+x4=leftstemloc+noise;
+lft x3=eps+noise;
+top y1=h+o+noise;
+bot y5=noise-o-d;
+y3=.5[-d,h]+noise;
+y2=.75[-d,h]+noise;
+y4=.25[-d,h]+noise;
+pair randira;
+randira=randrt;
+draw half(z1,-randrt,z2,-randup,z3,-randira);
+draw half(z3,randira,z4,-randup,z5,randrt);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("bar",5,ht#,comma_depth#);
+x1=.5w+noise;
+x2=.5w+noise;
+top y1=h+o+noise;
+bot y2=noise-d-o;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("braceright",8,ht#,comma_depth#);
+italcorr .8ht#*slant;
+x1=leftstemloc-ho+noise;
+x5=leftstemloc-ho+noise;
+w-x2=leftstemloc+noise;
+w-x4=leftstemloc+noise;
+rt x3=w-eps+noise;
+top y1=h+o+noise;
+bot y5=noise-o-d;
+y3=.5[-d,h]+noise;
+y2=.75[-d,h]+noise;
+y4=.25[-d,h]+noise;
+pair randira;
+randira=randrt;
+draw half(z1,randrt,z2,-randup,z3,randira);
+draw half(z3,-randira,z4,-randup,z5,-randrt);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("asciitilde",11,x_ht#,0);
+lft x1=eps+noise;
+x2=.3w+noise;
+x4=.7w+noise;
+x3=.5w+noise;
+rt x5=w-eps+noise;
+bot y1=.5h+noise;
+bot y4=.5h+noise;
+top y2=h+noise;
+top y5=h+noise;
+y3=.75h+noise;
+if angle direction 1 of (z2{right}...z3...z4{right}) < -90:
+ draw z1{randup}...z2{randrt}
+ ...z3{-randup}...z4{randrt}...z5{randup};
+else:
+ draw z1{randup}...z2{randrt}
+ ...z3...z4{randrt}...z5{randup};
+fi
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("dash",6,x_ht#,0);
+italcorr .618x_ht#*slant;
+lft x1=noise;
+rt x2=w+noise;
+y1=.618h+noise;
+y2=.618h+noise;
+draw z1--z2;
+labels(1,2);
+endchar;
+
+ffmchar("section",10,ht#,comma_depth#);
+italcorr .5ht#*slant;
+x1=.5w+noise;
+x2=good.x(2u+s+noise);
+x3=.5w+noise;
+w-x4=good.x(2u+s+noise);
+x5=good.x(1.5u+s+noise);
+x6=.5w+noise;
+w-x7=leftstemloc+noise;
+w-x8=good.x(1.5u+s+noise);
+x9=.5w+noise;
+x10=leftstemloc+noise;
+y1=.65[-d,h]+noise;
+y2=.5[-d,h]+noise;
+y3=.35[-d,h]+noise;
+y4=.5[-d,h]+noise;
+y5=.5[y1,y6]+noise;
+top y6=h+noise;
+top y7=h+noise;
+y8=.5[y4,y9]+noise;
+bot y9=noise-d;
+bot y10=noise-d;
+pair randira,randirb;
+randira=-randrt;
+randirb=randrt;
+draw full(z1,randira,z2,-randup,z3,randirb,z4,randup);
+draw half(z1,randira,z5,randup,z6,z7-z6) & z6--z7;
+draw half(z3,randirb,z8,-randup,z9,z10-z9) & z9--z10;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+ffmchar("exclamdown",5,ht#-comma_depth#,comma_depth#);
+italcorr .8(ht#-comma_depth#)*slant;
+x1=x2=.5w+noise;
+x3=.5w+noise;
+x4=.5w+noise;
+top y1=h+o+noise;
+y2=y1-dotincr*py;
+bot y4=noise-d-o;
+top y3=min(h-.618barheight,bot y2-eps)+noise;
+draw dotcircle(z1,z2);
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("questiondown",12,ht#-comma_depth#,comma_depth#);
+w-x1=good.x(1.5u+s+noise);
+x3=good.x(2u+s+noise);
+x5=.618[x3,x1]+noise;
+x2=.618[x1,x3]+noise;
+x4=.618[x1,x3]+noise;
+x6=x7=.618[x3,x1]+noise;
+bot y1=noise-d;
+bot y2=noise-d;
+top y6=h+o+noise;
+y7=y6-dotincr*py;
+top y5=min(h-.618barheight,bot y7-eps)+noise;
+y4=.8[y2,y5]+noise;
+y3=.5[y2,y4]+noise;
+pair randir;
+randir:=-randrt;
+draw arc(z5,-randup,z4,randir)
+ & half(z4,randir,z3,-randup,z2,z1-z2)
+ & z2--z1;
+draw dotcircle(z6,z7);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("sterling",11,ht#,0);
+italcorr .8ht#*slant;
+x5=good.x(1.5u+s+noise);
+x7=good.x(1.5u+s+noise);
+rt x6=w-eps+noise;
+x1=w-leftstemloc+o+noise;
+x8=w-leftstemloc+o-xgap+noise;
+x2=.618[x5,x1]+noise;
+x3=.618[x2,x5]+noise;
+x4=.618[x2,x5]+noise;
+top y1=h+noise;
+bot y5=noise;
+bot y6=noise;
+y7=barheight+noise;
+y8=barheight+noise;
+y4=barheight+noise;
+y3=.5[barheight,h]+noise;
+z2=z1+whatever*randir;
+draw z1--z2
+ & arc(z2,z2-z1,z3,z4-z3)
+ & z3--z4
+ & arc(z4,z4-z3,z5,z5-z6);
+draw z5--z6;
+draw z7--z8;
+labels(1,2,3,4,5,6,7,8);
+endchar;
+
diff --git a/Master/texmf-dist/fonts/source/public/fetamont/ffmchars_scalable.mf b/Master/texmf-dist/fonts/source/public/fetamont/ffmchars_scalable.mf
new file mode 100644
index 00000000000..12abe68c84f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/fetamont/ffmchars_scalable.mf
@@ -0,0 +1,808 @@
+% uppercase letters
+
+ffmchar("A",15,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+w-x4=leftstemloc+noise;
+w-x5=leftstemloc+noise;
+bot y1=noise-o;
+y2=barheight+noise;
+top y3=h+o; %no noise because of Aring
+y4=barheight+noise;
+bot y5=noise-o;
+bot y6=0; %no noise
+z6=whatever[z4,z5];
+draw z1--z2--z4--z5;
+draw half(z2,z2-z1,z3,randrt,z4,z5-z4);
+charanchortops_[charcode]=(.5w,h);
+charanchorbots_[charcode]=z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("AE",22,ht#,0);
+italcorr .9ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+x4=.5w+noise;
+x5=w-leftstemloc+o+noise;
+x6=w-leftstemloc+o-xgap+noise;
+x7=w-leftstemloc+o+noise;
+bot y1=noise-o;
+y2=barheight+noise;
+top y3=h+noise;
+bot y4=noise;
+top y5=h+noise;
+y6=barheight+noise;
+bot y7=noise;
+draw z1--z2--z6;
+draw arc(z2,z2-z1,z3,z5-z3);
+draw z5--z3--z4--z7;
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("B",14,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+x3=leftstemloc+noise;
+x7=.5[w-x1,lft w]+noise;
+x5=.85[x1,x7]+noise;
+x8=.5[x1,x5]+noise;
+x4=.4[x1,x5]+noise;
+x6=.4[x1,x5]+noise;
+bot y1=noise;
+y2=barheight+noise;
+top y3=h+noise;
+y4=y3+noise;
+y6=y2+noise;
+bot y8=noise;
+y5=.5[y4,y6]+noise;
+y7=.5[y6,y8]+noise;
+z2=whatever[z1,z3];
+z9=whatever[z2,z6];
+draw z1--z3--z4
+ & half(z4,z4-z3,z5,-randup,z6,z2-z6)
+ & z6--z2;
+draw half(z6,z6-z2,z7,-randup,z8,z1-z8)
+ & z8--z1;
+labels(1,2,3,4,5,6,7,8);
+endchar;
+
+ffmchar("C",14,ht#,0);
+italcorr ht#*slant;
+x1=w-leftstemloc+ho+noise;
+x2=.55w+noise;
+x3=good.x(1.5u+s+noise);
+x4=.55w+noise;
+x5=w-leftstemloc+ho+noise;
+top y1=h+noise;
+top y2=h+noise;
+y3=barheight+noise;
+bot y4=0; %no noise!
+z5=z4+whatever*randrt;
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,z5-z4)
+ & z4--z5;
+charanchortops_[charcode]=(.5w,h);
+charanchorbots_[charcode]=z4;
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("D",14,ht#,0);
+italcorr .9ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.45w+noise;
+x5=.45w+noise;
+w-x4=good.x(1.5u+s+noise);
+bot y1=noise;
+bot y5=noise;
+top y2=h+noise;
+top y3=h+noise;
+y4=barheight+noise;
+draw z1--z2--z3
+ & half(z3,z3-z2,z4,-randup,z5,z1-z5)
+ & z5--cycle;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("Eth",14,ht#,0);
+italcorr .9ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+x5=.5w+noise;
+w-x4=good.x(1.5u+s+noise);
+x6=eps+noise;
+x7=.5w+noise;
+bot y1=noise;
+bot y5=noise;
+top y2=h+noise;
+top y3=h+noise;
+y4=barheight+noise;
+y6=barheight+noise;
+y7=barheight+noise;
+draw z1--z2--z3
+ & half(z3,z3-z2,z4,-randup,z5,z1-z5)
+ & z5--cycle;
+draw z6--z7;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("E",14,ht#,0);
+italcorr .9ht#*slant;
+x1=leftstemloc+noise;
+x3=leftstemloc+noise;
+x4=w-leftstemloc+ho+noise;
+x5=w-leftstemloc+ho-xgap+noise;
+x6=w-leftstemloc+ho+noise;
+x7=.9[x1,x6];
+bot y1=noise;
+y2=barheight+noise;
+top y3=h+noise;
+top y4=h+noise;
+y5=barheight+noise;
+bot y7=0;
+z2=whatever[z1,z3];
+z6=whatever[z1,z7];
+draw z6--z1--z2--z5;
+draw z2--z3--z4;
+charanchortops_[charcode]=(.5[leftstemloc,w-leftstemloc+o],h);
+charanchorbots_[charcode]=z7;
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("F",14,ht#,0);
+italcorr .9ht#*slant;
+x1=leftstemloc+noise;
+x3=leftstemloc+noise;
+x4=w-leftstemloc+ho+noise;
+x5=w-leftstemloc+ho-xgap+noise;
+bot y1=noise-o;
+y2=barheight+noise;
+top y3=h+noise;
+top y4=h+noise;
+y5=barheight+noise;
+bot y6=noise;
+z2=whatever[z1,z3];
+draw z1--z2--z5;
+draw z2--z3--z4;
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("G",14,ht#,0);
+italcorr ht#*slant;
+x3=good.x(1.5u+s+noise);
+x1=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+x6=w-leftstemloc+noise;
+x2=.55w+noise;
+x4=.55w+noise;
+x7=.55w+noise;
+y3=barheight+noise;
+y6=barheight+noise;
+y7=barheight+noise;
+top y2=h+noise;
+top y1=h+noise;
+bot y4=noise;
+bot y5=noise;
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,z5-z4)
+ & z4--z5--z6--z7;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("H",15,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+w-x3=leftstemloc+noise;
+w-x4=leftstemloc+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+bot y3=noise-o;
+top y4=h+o+noise;
+y5=barheight+noise;
+y6=barheight+noise;
+z5=whatever[z1,z2];
+z6=whatever[z3,z4];
+draw z1--z5--z6--z3;
+draw z5--z2;
+draw z6--z4;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("I",6,ht#,0);
+italcorr .8ht#*slant;
+x1=.5w+noise;
+x2=.5w+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+draw z1--z2;
+charanchortops_[charcode]=(.5w+noise,h);
+labels(1,2);
+endchar;
+
+ffmchar("J",9,ht#,0);
+italcorr .8ht#*slant;
+lft x1=noise-eps;
+x2=x1+.5u;
+w-x3=leftstemloc+noise;
+w-x4=leftstemloc+noise;
+bot y1=noise-o;
+y3=barheight+noise;
+top y4=h+noise;
+z2=z1+whatever*randrt;
+draw z1--z2
+ & arc(z2,randrt,z3,z4-z3)
+ & z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("K",13,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+w-x5=good.x(1.5u+s+noise);
+w-x6=good.x(1.5u+s+noise);
+bot y1=noise-o;
+bot y6=noise-o;
+top y2=h+o+noise;
+top y5=h+o+noise;
+y3=.618[y2,y1]+noise;
+z3=whatever[z1,z2];
+z4=whatever[z3,z5]=whatever[z2,z6];
+draw z1--z2;
+draw z3--z5;
+draw z4--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("L",12,ht#,0);
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+rt x3=w-eps+noise;
+bot y1=noise;
+bot y3=noise;
+top y2=h+noise;
+draw z3--z1--z2;
+charanchortops_[charcode]=(leftstemloc,h);
+charanchortoprights_[charcode]=(.618w,h);
+labels(1,2,3);
+endchar;
+
+ffmchar("Lslash",13,ht#,0);
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+w-x3=leftstemloc-ho+noise;
+lft x4=eps+noise;
+x5=.45w+noise;
+bot y1=noise;
+bot y3=noise;
+top y2=h+noise;
+y4=.4h+noise;
+z5=z4+whatever*dir(40);
+draw z3--z1--z2;
+draw z4--z5;
+charanchortops_[charcode]=(leftstemloc,h);
+charanchortoprights_[charcode]=(.5w,h);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("M",18,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+x4=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+bot y3=ygap-o+noise;
+top y4=h+o+noise;
+bot y5=noise-o;
+draw z1--z2--z3--z4--z5;
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("N",15,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x4=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+y3=y4+ygap+noise;
+bot y4=noise-o;
+top y5=h+o+noise;
+z3=whatever[z4,z5];
+draw z1--z2--z3;
+draw z4--z5;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("Eng",15,ht#,acc_depth#);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x4=w-leftstemloc+noise;
+x5=w-leftstemloc+noise;
+x6=.5w+noise;
+x7=.382w+noise;
+bot y1=noise-o;
+top y2=h+o+noise;
+y3=y4+ygap+noise;
+bot y4=noise-o;
+top y5=h+o+noise;
+bot y6=noise-d;
+bot y7=noise-d;
+z3=whatever[z4,z5];
+draw z1--z2--z3;
+draw z7--z6
+ & arc(z6,z6-z7,z4,z5-z4)
+ & z4--z5;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("O",15,ht#,0);
+italcorr .8ht#*slant;
+x1=.5w+noise;
+x2=good.x(1.5u+s+noise);
+x3=.5w+noise;
+w-x4=good.x(1.5u+s+noise);
+top y1=h+o+noise;
+y2=barheight+noise;
+bot y3=noise-o;
+y4=barheight+noise;
+draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("Oslash",15,ht#,0);
+italcorr ht#*slant;
+x1=.5w+noise;
+x2=good.x(1.5u+s+noise);
+x3=.5w+noise;
+w-x4=good.x(1.5u+s+noise);
+x5=good.x(1.5u+s+noise);
+w-x6=good.x(1.5u+s+noise);
+top y1=h+o+noise;
+y2=barheight+noise;
+bot y3=noise-o;
+y4=barheight+noise;
+bot y5=noise-o;
+top y6=h+o+noise;
+draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
+draw z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("OE",22,ht#,0);
+italcorr .9ht#*slant;
+x2=.5w+noise;
+x4=good.x(1.5u+s+noise);
+x6=.5w+noise;
+x7=w-leftstemloc+o+noise;
+x9=w-leftstemloc+o-xgap+noise;
+x1=w-leftstemloc+o+noise;
+x3=.382w+noise;
+x5=.382w+noise;
+y4=barheight+noise;
+y8=barheight+noise;
+top y7=h+noise;
+y9=barheight+noise;
+bot y1=noise;
+bot y3=noise;
+top y5=h+noise;
+z2=whatever[z1,z3];
+z6=whatever[z5,z7];
+z8=whatever[z2,z6];
+draw z1--z3
+ & half(z3,z3-z1,z4,randup,z5,z7-z5)
+ & z5--z7;
+draw z2--z8--z9;
+draw z6--z8;
+labels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+ffmchar("P",14,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x3=leftstemloc+noise;
+x4=.618[x1,w-x1]+noise;
+x5=.618[x1,w-x1]+noise;
+x6=.5[w-x1,lft w]+noise;
+y2=barheight+noise;
+y5=barheight+noise;
+bot y1=noise-o;
+top y3=h+noise;
+top y4=h+noise;
+y6=.5[y4,y5]+noise;
+z2=whatever[z1,z3];
+draw z1--z3--z4
+ & half(z4,z4-z3,z6,-randup,z5,z2-z5)
+ & z5 -- z2;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("Thorn",14,ht#,0);
+italcorr .7ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x4=.618[x1,w-x1]+noise;
+x5=.618[x1,w-x1]+noise;
+x6=.5[w-x1,lft w]+noise;
+bot y1=noise-o;
+top y2=h+noise;
+y3=.764h+noise;
+y4=.764h+noise;
+y6=.5[y4,y5]+noise;
+y5=.382h+noise;
+y7=.382h+noise;
+z3=whatever[z1,z2];
+z7=whatever[z1,z2];
+draw z1--z2;
+draw z3--z4
+ & half(z4,z4-z3,z6,-randup,z5,z7-z5)
+ & z5--z7;
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("Q",15,ht#,0);
+italcorr .8ht#*slant;
+x1=.5w+noise;
+x2=good.x(1.5u+s+noise);
+x3=.5w+noise;
+w-x4=good.x(1.5u+s+noise);
+x5=min(.618[x4,x3],x4-2px)+noise;
+w-x6=good.x(1.5u+s+noise);
+top y1=h+o+noise;
+y2=barheight+noise;
+bot y3=noise-o;
+y4=barheight+noise;
+y5=.618[y3,y4]+noise;
+bot y6=noise-o;
+%z5=z6+whatever*dir(100+angle(direction 1 of (arc(z3,randrt,z4,randup))));
+draw full(z1,-randrt,z2,-randup,z3,randrt,z4,randup);
+draw z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("R",14,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x3=leftstemloc+noise;
+x4=.618[x1,w-x1]+noise;
+x6=.618[x1,w-x1]+noise;
+x5=.5[w-x1,lft w]+noise;
+x7=.5[w-x1,lft w]+noise;
+y2=barheight+noise;
+y6=barheight+noise;
+bot y1=noise-o;
+bot y7=noise-o;
+top y3=h+noise;
+top y4=h+noise;
+y5=.5[y4,y6]+noise;
+z2=whatever[z1,z3];
+draw z1--z3--z4
+ & half(z4,z4-z3,z5,-randup,z6,z2-z6)
+ & z6--z2;
+draw z6--z7;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5,6,7);
+endchar;
+
+ffmchar("S",14,ht#,0);
+italcorr .8ht#*slant;
+x3=good.x(2u+s+noise);
+x8=good.x(2u+s+noise);
+w-x1=good.x(3u+s+noise);
+x2=.382[x3,x1]+noise;
+x4=.382[x3,x1]+noise;
+x5=.9[x3,x1]+noise;
+x7=.9[x3,x1]+noise;
+w-x6=good.x(1.75u+.5s+noise);
+x9=.618[x8,x7];
+top y1=h+noise;
+top y2=h+noise;
+y3=.6[y2,y4]+noise;
+y4=barheight+noise;
+y5=barheight+noise;
+y6=.3[y5,y7]+noise;
+bot y9=0;
+z7=z9+whatever*randrt;
+z8=whatever[z7,z9];
+draw z1--z2
+ & half(z2,z2-z1,z3,-randup,z4,z5-z4)
+ & z4--z5
+ & half(z5,z5-z4,z6,-randup,z7,z8-z7)
+ & z7--z8;
+charanchortops_[charcode]=(.5w,h);
+charanchorbots_[charcode]=z9;
+labels(1,2,3,4,5,6,7,8,9);
+endchar;
+
+ffmchar("Germandbls",15,ht#,0);
+italcorr .8ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+x3=.5w+noise;
+x5=.5w+noise;
+x7=.5w+noise;
+w-x4=leftstemloc+noise;
+w-x6=good.x(1.5u+s+noise);
+x8=.4w+noise;
+bot y1=noise-o;
+bot y8=noise;
+y2=barheight+noise;
+top y3=h+o+noise;
+y5=barheight+noise;
+y4=.5[y5,y3]+noise;
+y6=.5[y7,y5]+noise;
+z7=z8+whatever*randrt;
+pair randira,randirb;
+randira:=randrt;
+randirb:=randrt;
+draw z1--z2
+ & arc(z2,randup,z3,randira)
+ & half(z3,randira,z4,-randup,z5,-randirb);
+draw half(z5,randirb,z6,-randup,z7,z8-z7)
+ & z7--z8;
+labels(1,2,3,4,5,6,7,8);
+endchar;
+
+ffmchar("T",13,ht#,0);
+italcorr ht#*slant+.5u#;
+if .5w<>good.x .5w: change_width; fi
+lft x1=noise-eps;
+rt x2=w+noise;
+x3=.5w+noise;
+x4=.5w+noise;
+top y1=h+noise;
+top y2=h+noise;
+bot y4=noise-o;
+z3=whatever[z1,z2];
+draw z1--z2;
+draw z3--z4;
+charanchortops_[charcode]=(.5w,h);
+charanchorbots_[charcode]=(x4,0);
+labels(1,2,3,4);
+endchar;
+
+ffmchar("Tcedilla",13,ht#,acc_depth#);
+italcorr ht#*slant+.5u#;
+if .5w<>good.x .5w: change_width; fi
+lft x1=noise-eps;
+rt x2=w+noise;
+x3=.5w+noise;
+x4=.5w+noise;
+x5=.55w+noise;
+x6=.45w+noise;
+top y1=h+noise;
+top y2=h+noise;
+bot y4=noise-o;
+top y5=noise-.2d;
+bot y6=noise-d;
+z3=whatever[z1,z2];
+draw z1--z2;
+draw z3--z4;
+draw z5--z6;
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("U",15,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+noise;
+w-x4=leftstemloc+noise;
+w-x5=leftstemloc+noise;
+x3=.5[x1,x4]+noise;
+top y1=h+o+noise;
+y2=barheight+noise;
+bot y3=noise-o;
+y4=barheight+noise;
+top y5=h+o+noise;
+draw z1--z2
+ & half(z2,z2-z1,z3,randrt,z4,z5-z4)
+ & z4--z5;
+charanchortops_[charcode]=(x3,h);
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("V",13,ht#,0);
+italcorr ht#*slant;
+x1=good.x(1.5u+s+noise)-ho;
+w-x3=good.x(1.5u+s+noise)-ho;
+x2=.5[x1,x3]+noise;
+top y1=h+o+noise;
+bot y2=noise-o;
+top y3=h+o+noise;
+draw z1--z2--z3;
+labels(1,2,3);
+endchar;
+
+ffmchar("W",20,ht#,0);
+italcorr ht#*slant;
+x1=good.x(1.5u+s+noise)-ho;
+w-x5=good.x(1.5u+s+noise)-ho;
+x3=.5[x1,x5]+noise;
+top y1=h+o+noise;
+bot y2=noise-o;
+y3=y1-ygap+noise;
+bot y4=noise-o;
+top y5=h+o+noise;
+z4=z5+whatever*(x5-x1,4*(y1-y2)-2ygap);
+z2=z1+whatever*(x1-x5,4*(y1-y2)-2ygap);
+draw z1--z2--z3;
+draw z3--z4--z5;
+labels(1,2,3,4,5);
+endchar;
+
+ffmchar("X",13,ht#,0);
+italcorr ht#*slant;
+x1=good.x(1.5u+s+noise);
+x3=good.x(1.5u+s+noise);
+w-x2=good.x(1.5u+s+noise);
+w-x4=good.x(1.5u+s+noise);
+top y1=h+o+noise;
+top y4=h+o+noise;
+bot y3=noise-o;
+bot y2=noise-o;
+draw z1--z2;
+draw z3--z4;
+labels(1,2,3,4);
+endchar;
+
+ffmchar("Y",15.5,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+x2=leftstemloc+.5noise;
+w-x4=leftstemloc+.5noise;
+w-x5=leftstemloc+noise;
+x3=.5[x1,x5]+noise;
+x6=.5[x1,x5]+noise;
+top y1=h+o+noise;
+top y5=h+o+noise;
+bot y6=noise-o;
+y3=barheight+noise;
+y2=.618[y3,y5]+noise;
+y4=.618[y3,y5]+noise;
+draw z1--z2
+ & half(z2,z2-z1,z3,randrt,z4,z5-z4)
+ & z4--z5;
+draw z6--z3;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4,5,6);
+endchar;
+
+ffmchar("Z",15,ht#,0);
+italcorr ht#*slant;
+x1=leftstemloc+noise;
+w-x2=leftstemloc+noise;
+x3=leftstemloc+noise;
+w-x4=leftstemloc+noise;
+top y1=h+noise;
+top y2=h+noise;
+bot y3=noise;
+bot y4=noise;
+draw z1--z2--z3--z4;
+charanchortops_[charcode]=(.5w,h);
+labels(1,2,3,4);
+endchar;
+
+% chained uppercase letters
+
+ffmchainedchar("IJ","I","J");
+
+% combined uppercase letters
+
+ffmcombinedchar("Aacute","A","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Agrave","A","grave","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Adieresis","A","dieresis","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Acircumflex","A","circumflex","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Atilde","A","tilde","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Aring","A","ring","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Abreve","A","breve","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Aogonek","A","ogonek","bot",ht#,comma_depth#);
+
+ffmcombinedchar("Cacute","C","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ccaron","C","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ccedilla","C","cedilla","bot",ht#,acc_depth#);
+
+ffmcombinedchar("Dcaron","D","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Eacute","E","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Egrave","E","grave","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Edieresis","E","dieresis","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ecircumflex","E","circumflex","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ecaron","E","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Eogonek","E","ogonek","bot",ht#,comma_depth#);
+
+ffmcombinedchar("Gbreve","G","breve","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Iacute","I","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Igrave","I","grave","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Idieresis","I","dieresis","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Icircumflex","I","circumflex","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Lacute","L","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Lcaron","L","quoteright","topright",ht#+acc_ht#,0);
+
+ffmcombinedchar("Nacute","N","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ntilde","N","tilde","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ncaron","N","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Oacute","O","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ograve","O","grave","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Odieresis","O","dieresis","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ocircumflex","O","circumflex","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Otilde","O","tilde","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ohungarumlaut","O","hungarumlaut","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Racute","R","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Rcaron","R","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Sacute","S","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Scaron","S","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Scedilla","S","cedilla","bot",ht#,comma_depth#);
+
+ffmcombinedchar("Tcaron","T","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Uacute","U","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ugrave","U","grave","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Udieresis","U","dieresis","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ucircumflex","U","circumflex","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Uhungarumlaut","U","hungarumlaut","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Uring","U","ring","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Yacute","Y","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Ydieresis","Y","dieresis","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Zacute","Z","acute","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Zcaron","Z","caron","top",ht#+acc_ht#,0);
+
+ffmcombinedchar("Zdotaccent","Z","dotaccent","top",ht#+acc_ht#,0);