なんで femme は /fam/ なの?

-mm-, -nn- の前の母音は鼻音化しない。 したがって、 -emm-, -enn- はそれぞれ /ɛm/, /ɛn/ ということになるのだけど、 しばしば文法書には/ɛ/ではなく /a/と読まれる例外として次のような例が載っている。
-emment で終わる副詞 (ardemment /ardamɑ̃/, évidemment /evidamɑ̃/) と femme /fam/、 solennel /sɔlanɛl/, Rouennais /rwanɛ/ など。
数は限られているので、例外として教えるのになんら問題はないけれど、 一応、歴史的に説明できることはできる。

7世紀頃、鼻子音(m, n と湿音の n̮ /ɲ/)には前の母音を狭くする傾向があり、鼻子音の前のすべての e, o は狭い ẹ /e/, ọ /o/ になった。
古仏語において、11世紀から14世紀にかけて鼻子音の前の母音が鼻母音化する。
— 鼻母音化は広い音から始まり、段々と狭い音へと起こっていった。 すなわり、まず a、次に狭い ẹ, ọ、最後に i, ü /y/ という順で鼻音化した。
— (古仏語における)アクセント音節、閉音節ではより早く、より強く鼻母音化し、対して語頭音節、開音節では鼻母音化はより遅く、より弱かった。
— 鼻母音化は母音を開く効果をともなった。
ẽ > ã (俗羅 ventu > 古仏 vent [vãnt] > 現仏 /vɑ̃/)
N.B. 古仏語においては鼻子音が発音されていた。

現代フランス語の発音は便宜上IPAで /vɑ̃/ のように表記するが、対してここでの [vãnt] のような表記は音韻史で一般的なロマニスト表記で、IPAの厳密表記というわけではないので注意。

16世紀後半から17世紀前半にかけて非鼻音化が起こる。これによって二つの鼻音(鼻母音+鼻子音)のうち一方のみが維持された。
— 子音が次の音節の頭(外破の位置)にある場合、これが維持され、母音は非鼻音化される。
— 子音が前の音節の後ろ(内破の位置)にある場合、子音が落ち鼻母音は維持された。

非鼻音化は語末の e̥ /ə/の消失(17世紀)より早く、今度は鼻音化と逆の順に:狭い母音から広い母音へと順次起こった。
ここから次の対立が説明される。
俗羅 bonu, bona > bon, bon(n)e 古仏 [bõn], [bõne̥] > 現仏 /bɔ̃/ vs /bɔn/
俗羅 ventu > vent 古仏 [vẽnt], [vãnt] > 現仏 /vɑ̃/
vs 俗羅 fem(i)na > femme 古仏 [fẽme̥], [fãme̥] > 現仏/fam/

綴り -mm-, -nn- は鼻母音+鼻子音がどちらも発音されていた頃の名残(bon [bõ] + ne [ne̥])。
古フランス語の ã (< en) に対して、語源的な綴り en/em と表音的な綴り an/am との選択は写字生によって揺れがあった。例えば現代フランス語 langue < lingua は古仏語の lengue に対して、表音的な綴りが生き残った。

Biblio :
Laborderie, N., Précis de phonétique historique, Armand Colin, 2e éd., 2009.