Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
function mes_typos() {
  $.typo.add(function(str) {
// PONCTUATION
    str = str.replace(/( < )/g, " « ");
    str = str.replace(/( > )/g, " » ");
    str = str.replace(/([\-¬](| )\n)/g, "");
    str = str.replace(/(\n+«\n+)/g, " « ");
    str = str.replace(/(\n+»\n+)/g, " » ");
    str = str.replace(/(» \.)/g, "»\.");
    str = str.replace(/( \n)/g, "\n");
    str = str.replace(/(\( )/g, "\(");
    str = str.replace(/( \))/g, "\)");
    str = str.replace(/(`)/g, "’");
    str = str.replace(/(\_\s*)/g, "");
    str = str.replace(/(–)/g, "—");
    str = str.replace(/(——)/g, "—");
    str = str.replace(/( —,)/g, "{{lié}}—,");
    str = str.replace(/( —\.)/g, "{{lié}}—.");
    str = str.replace(/(\n+—\n+)/g, " — ");
    str = str.replace(/(’’)/g, "’");
    str = str.replace(/\n[“”®\*‘’\-|\/Ÿ»…\.\!\?,\%@ ]+/g, "\n"); // suppression caractères parasites en début de ligne
    str = str.replace(/(\n\w\n)/g, "\n");
// SAUTS DE LIGNES
    str = str.replace(/( \n)/g, "\n");
    str = str.replace(/([^\n])\n/g, "$1 ");
    str = str.replace(/( \n)([^\n])/g, "\n\n$2");
// LIGATURES
    str = str.replace(/(fi)/g, "fi");
    str = str.replace(/(fl)/g, "fl");
    str = str.replace(/(ff)/g, "ff");
    str = str.replace(/(ſt)/g, "ft");
    str = str.replace(/(st)/g, "st");
// MODÈLES
    str = str.replace(/(?<!')(a priori|a posteriori|a fortiori)(?!')/g, "''$1''"); // italiques autour des expressions latines
    str = str.replace(/( <ref)/g, "<ref"); // pas d'espaces avant les appels de notes
    str = str.replace(/( <\/ref)/g, "<\/ref");
    str = str.replace(/( etc\.)/g, "{{lié}}etc\.");
    str = str.replace(/(, etc\.)/g, ",{{lié}}etc\.");
    str = str.replace(/(1[°“®º] )/g, "{{1o}}{{lié}}");
    str = str.replace(/(2[°“®º] )/g, "{{2o}}{{lié}}");
    str = str.replace(/(3[°“®º] )/g, "{{3o}}{{lié}}");
    str = str.replace(/(4[°“®º] )/g, "{{4o}}{{lié}}");
    str = str.replace(/(5[°“®º] )/g, "{{5o}}{{lié}}");
    str = str.replace(/(6[°“®º] )/g, "{{6o}}{{lié}}");
    str = str.replace(/(7[°“®º] )/g, "{{7o}}{{lié}}");
    str = str.replace(/(8[°“®º] )/g, "{{8o}}{{lié}}");
    str = str.replace(/(9[°“®º] )/g, "{{9o}}{{lié}}");
    str = str.replace(/n[°“®º] ([0-9]*)/g, "{{n°|$1}}");
    str = str.replace(/§ ([0-9]*)/g, "{{lié|§ $1}}");
    str = str.replace(/( 1er)/g, "{{lié}}{{1er}}");
    str = str.replace(/( éd\.)/g, " {{éd.}}");
    str = str.replace(/( édit\.)/g, " {{édit.}}");
    str = str.replace(/(ibid\.)/g, "{{ibid.}}");
    str = str.replace(/(Ibid\.)/g, "{{Ibid.|cap}}");
    str = str.replace(/( id\.)/g, " {{id.}}");
    str = str.replace(/( Id\.)/g, " {{Id.|cap}}");
    str = str.replace(/(loc\. cit\.)/g, "{{loc. cit.}}");
    str = str.replace(/(Loc\. cit\.)/g, "{{Loc. cit.|cap}}");
    str = str.replace(/([l\/]\. c\.*)/g, "{{loc. cit.|abr}}");
    str = str.replace(/(op\. cit\.)/g, "{{op. cit.}}");
    str = str.replace(/(Op\. cit\.)/g, "{{Op. cit.|cap}}");
    str = str.replace(/ art\. ([^ \.,…\|\}\)]*)/g, " {{art.|$1}}");
    str = str.replace(/ col\. ([^ \.,…\|\}\)]*)/g, " {{col.|$1}}");
    str = str.replace(/ fig\. ([^ \.,…\|\}\)]*)/g, " {{fig.|$1}}");
    str = str.replace(/ n\. ([^ \.,…\|\}\)]*)/g, " {{n.|$1}}");
    str = str.replace(/ p\. ([^ \.,…\|\}\)]*)/g, " {{pg|$1}}");
    str = str.replace(/ pp\. ([^ \.,…\|\}\)]*)/g, " {{ppg|$1}}");
    str = str.replace(/ t\. ([^ \.,…\|\}\)]*)/g, " {{t.|{{rom-maj|$1}}}}");
    str = str.replace(/ t\.\{\{lié\}\}([^ \.,…\|\}\)]*)/g, " {{t.|$1}}");
    str = str.replace(/([Tt]ome) (?=[IVXLCDM])/g, "$1{{lié}}");
    str = str.replace(/ vol\. ([^ \.,…\|\}\)]*)/g, " {{vol.|{{rom-maj|$1}}}}");
    str = str.replace(/( sq\.)/g, " {{sq.}}");
    str = str.replace(/( sqq\.)/g, " {{sqq.}}");
    str = str.replace(/( et suiv\.)/g, " {{et suiv.}}");
    str = str.replace(/([0-9abcde] suiv\.)/g, "{{suiv.}}");
    str = str.replace(/(D<sup>r<\/sup>)+/g, "{{Dr}}");
    str = str.replace(/Dr /g, "{{Dr}} ");
    str = str.replace(/(M<sup>r<\/sup>)+/g, "{{Mr}}");
    str = str.replace(/(M<sup><small>r<\/small><\/sup>)+/g, "{{Mr}}");
    str = str.replace(/Mr /g, "{{Mr}} ");
    str = str.replace(/(M<sup>me<\/sup>)+/g, "{{Mme}}");
    str = str.replace(/(M<sup><small>me<\/small><\/sup>)+/g, "{{Mme}}");
    str = str.replace(/Mme /g, "{{Mme}} ");
    str = str.replace(/(M<sup>lle<\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/(M<sup><small>lle<\/small><\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/(M<sup>elle<\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/(M<sup><small>elle<\/small><\/sup>)+/g, "{{Mlle}}");
    str = str.replace(/ M\. de ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|de $1}}}}");
    str = str.replace(/ M\. le ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|le $1}}}}");
    str = str.replace(/ M\. Le ([^ \.,…\|\}]*)/g, " {{M\.\|{{lié\|Le $1}}}}");
    str = str.replace(/(?<=\s)M\. /g, "{{M\.}} ");
    str = str.replace(/(MM\. )/g, "{{MM\.}} ");
    str = str.replace(/Mlle /g, "{{Mlle}} ");
    str = str.replace(/Mgr /g, "{{Mgr}} ");
    str = str.replace(/ P\. /g, " {{P.}} ");
    str = str.replace(/\{\{Dr\}\} ([^ \.,…\|\}]*)/g, "{{Dr\|$1}}");
    str = str.replace(/\{\{Mme\}\} ([^ \.,…\|\}]*)/g, "{{Mme\|$1}}");
    str = str.replace(/\{\{Mlle\}\} ([^ \.,…\|\}]*)/g, "{{Mlle\|$1}}");
    str = str.replace(/\{\{Mgr\}\} ([^ \.,…\|\}]*)/g, "{{Mgr\|$1}}");
    str = str.replace(/\{\{M\.\}\} ([^ \.,…\|\}<]*)/g, "{{M\.\|$1}}");
    str = str.replace(/\{\{MM\.\}\} ([^ \.,…\|\}]*)/g, "{{MM\.\|$1}}");
    str = str.replace(/\{\{M\.\}\}\{\{lié\}\}([^ \.,…\|\}]*)/g, "{{M\.\|$1}}");
    str = str.replace(/\{\{P\.\}\} ([^ \.,…\|\}]*)/g, "{{P\.\|$1}}");
    str = str.replace(/av. J.-C./g, "{{av. J.-C.}}");
    str = str.replace(/apr. J.-C./g, "{{apr. J.-C.}}");
    str = str.replace(/ J.-C.(?!\}\})/g, "{{lié}}{{J.-C.}}");
// ACCENTS
    str = str.replace(/(e’)/g, "é");
    str = str.replace(/([éè]ê)/g, "ê");
    str = str.replace(/ê([éè])/g, "ê");
    str = str.replace(/( [àâ] [éêèe]t[éêèe] )/g, " a été ");
    str = str.replace(/( [àâ] eu(?=s|\s|,|\.))/g, " a eu");
    str = str.replace(/([^t] [àâ] fait)/g, " a fait");
    str = str.replace(/( [àâ] pu )/g, " a pu ");
    str = str.replace(/( [àâ] su )/g, " a su ");
    str = str.replace(/( [àâ] vu)/g, " a vu");
    str = str.replace(/(à là)/g, "à la");
    str = str.replace(/(?<= on| On|’on|qui|Qui) à/g, " a");
    str = str.replace(/(a la fois)/g, "à la fois");
    str = str.replace(/( àme )/g, " âme ");
    str = str.replace(/( dés qu)/g, " dès qu");
    str = str.replace(/( [éôè]t[lr]e )/g, " être ");
    str = str.replace(/( étes )/g, " êtes ");
    str = str.replace(/(vous ôtes)/g, "vous êtes");
    str = str.replace(/(ôtes-vous)/g, "êtes-vous");
    str = str.replace(/( f[éèô]te)/g, " fête");
    str = str.replace(/(fït)/g, "fît");
    str = str.replace(/(foret)/g, "forêt");
    str = str.replace(/([ -])m[éèô]m[eo]([s \.,…\|\}])/g, "$1même$2");
    str = str.replace(/( t[éèô]te)/g, " tête");
    str = str.replace(/(y [àâ] )/g, "y a ");
    str = str.replace(/(accroit)/g, "accroît");
    str = str.replace(/(décroit)/g, "décroît");
    str = str.replace(/([^aém])parait/g, "$1paraît");
    str = str.replace(/( plait)/g, " plaît");
    str = str.replace(/( nait)/g, " naît");
    str = str.replace(/(connait)/g, "connaît");
    str = str.replace(/( chaine)/g, " chaîne");
    str = str.replace(/(déchain)/g, "déchaîn");
    str = str.replace(/(enchain)/g, "enchaîn");
    str = str.replace(/(maitre)/g, "maître");
    str = str.replace(/(traine)/g, "traîne");
    str = str.replace(/(épitre)/g, "épître");
    str = str.replace(/(?<=[Nn]ous\s)primes/g, "prîmes");
    str = str.replace(/(?<=[Nn]ous\s)mimes/g, "mîmes");
// SCANILLES
    str = str.replace(/([a-z])1([a-z])/g, "$1i$2");
    str = str.replace(/(cb)/g, "ch");
    str = str.replace(/(tb)/g, "th");
    str = str.replace(/iu(?!m|r|s |s, |s.)/g, "in");
    str = str.replace(/meuts(?=[ \.,…\|\}])/g, "ments");
    str = str.replace(/[tl]iou(?=[ \.,…\|\}])/g, "tion");
    str = str.replace(/[tl]ious(?=[ \.,…\|\}])/g, "tions");
    str = str.replace(/(?<=\s)([cdjns])[ \*](?=a|e|é|ê|è|i|o|ô|u|y)/g, "$1’");
    str = str.replace(/(qu[ \*])/g, "qu’");
    str = str.replace(/( quil)/g, " qu’il");
    str = str.replace(/(squil)/g, "squ’il");
    str = str.replace(/(quoiquil)/g, "quoiqu’il");
    str = str.replace(/(quon )/g, "qu’on ");
    str = str.replace(/( est ce )/g, " est-ce ");
    str = str.replace(/( estce )/g, " est-ce ");
    str = str.replace(/(Est ce )/g, "Est-ce ");
    str = str.replace(/(Estce )/g, "Est-ce ");
    str = str.replace(/( ail )/g, " ait ");
    str = str.replace(/(au lien d)/g, "au lieu d");
    str = str.replace(/(Au lien d)/g, "Au lieu d");
    str = str.replace(/(avals)/g, "avais");
    str = str.replace(/(?<![Tt]ra)vail(?=[ \.,…\|\}])/g, "vait");
    str = str.replace(/(?<=\s)a[ry]e[co]/g, "avec");
    str = str.replace(/( bêle)/g, " bête");
    str = str.replace(/( bêles)/g, " bêtes");
    str = str.replace(/( bion)/g, " bien");
    str = str.replace(/([\n—\!\?\.\\…\»\«\( ] )Celte/g, "$1Cette");
    str = str.replace(/(celte)/g, "cette");
    str = str.replace(/cotte(?!\sde)/g, "cette");
    str = str.replace(/ cle /g, " de ");
    str = str.replace(/ do (?!dièse)(?!bémol)(?!bécarre)(?!majeur)(?!mineur)/g, " de ");
    str = str.replace(/( da[ur]s )/g, " dans ");
    str = str.replace(/(?<!au\s)(?<!de\s)(?<!par\s)(?<!\-)delà/g, "de la");
    str = str.replace(/(Dien)/g, "Dieu");
    str = str.replace(/( cloute)/g, " doute");
    str = str.replace(/(effaner)/g, "effacer");
    str = str.replace(/( eflet)/g, " effet");
    str = str.replace(/( alles )/g, " elles ");
    str = str.replace(/( entant)/g, " enfant");
    str = str.replace(/\seu(?=\ssorte|\seffet|\sfait|\sgénéral|\smarche|\svertu|\sdétail)/g, "en");
    str = str.replace(/(en roule)/g, "en route");
    str = str.replace(/(en égard)/g, "eu égard");
    str = str.replace(/(cst)/g, "est");
    str = str.replace(/( cl )/g, " et ");
    str = str.replace(/( [co]t )/g, " et ");
    str = str.replace(/( e[li] )/g, " et ");
    str = str.replace(/( ea )/g, " eu ");
    str = str.replace(/( étail)/g, " était");
    str = str.replace(/(?<=par\s|un\s)exempte/g, "exemple");
    str = str.replace(/ fail(?=[ \.,…\|\}])/g, " fait");
    str = str.replace(/ faile(?=[ \.,…\|\}])/g, " faite");
    str = str.replace(/ fails(?=[ \.,…\|\}])/g, " faits");
    str = str.replace(/(ligure)/g, "figure");
    str = str.replace(/(?<!nous\s)fondions/g, "fonctions");
    str = str.replace(/(fiançais)/g, "français");
    str = str.replace(/(granité)/g, "granit");
    str = str.replace(/( gue )/g, " que ");
    str = str.replace(/(bomme)/g, "homme");
    str = str.replace(/( ia )/g, " la ");
    str = str.replace(/( 1a )/g, " la ");
    str = str.replace(/( Ia )/g, " La ");
    str = str.replace(/( ie )/g, " le ");
    str = str.replace(/( 1e )/g, " le ");
    str = str.replace(/( Ie )/g, " Le ");
    str = str.replace(/( 1rs )/g, " les ");
    str = str.replace(/( los )/g, " les ");
    str = str.replace(/ la lin(?=[ \.,…\|\}])/g, " la fin");
    str = str.replace(/( Faction )/g, " l’action ");
    str = str.replace(/ Tair(?=[ \.,…\|\}])/g, " l’air");
    str = str.replace(/ Tait /g, " l’ait ");
    str = str.replace(/(Tannée)/g, "l’année");
    str = str.replace(/(Tan )/g, "l’an ");
    str = str.replace(/Fauteur(?! de trouble)/g, "L’auteur");
    str = str.replace(/(Teau )/g, "L’eau ");
    str = str.replace(/(l’ou )/g, "l’on ");
    str = str.replace(/(?<=\.|\!|\?|…|\(|«|»|—) Ton /g, " l’on ");
    str = str.replace(/(Tonde )/g, "L’onde ");
    str = str.replace(/(Tun )/g, "l’un");
    str = str.replace(/(Tune )/g, "l’un");
    str = str.replace(/(moyeu)/g, "moyen");
    str = str.replace(/(moyenx)/g, "moyeux");
    str = str.replace(/ (no|ue) /g, " ne ");
    str = str.replace(/nl(?=[ \.,…\|\}])/g, "nt");
    str = str.replace(/nls(?=[ \.,…\|\}])/g, "nts");
    str = str.replace(/( n['’]v )/g, " n’y ");
    str = str.replace(/( out )/g, " ont ");
    str = str.replace(/( peul )/g, " peut ");
    str = str.replace(/( saus )/g, " sans ");
    str = str.replace(/( scs )/g, " ses ");
    str = str.replace(/( sout )/g, " sont ");
    str = str.replace(/( sout\-)/g, " sont\-");
    str = str.replace(/(taudis qu)/g, "tandis qu");
    str = str.replace(/(plus lard)/g, "plus tard");
    str = str.replace(/(très lard)/g, "très tard");
    str = str.replace(/( tonte)/g, "  toute");
    str = str.replace(/(vêlement)/g, "vêtement");
    str = str.replace(/(?<=\s[Ii]l\s)v(?=\sa)/g, "y");
// MAJUSCULES
    str = str.replace(/(\nA )/g, "\nÀ ");
    str = str.replace(/([\!\?\.\\…\»\«\(]) A /g, "$1 À ");
    str = str.replace(/[AÀ]ge([^n])/g, "Âge$1");
    str = str.replace(/( Ca )/g, " Ça ");
    str = str.replace(/( Ca,)/g, " Ça,");
    str = str.replace(/( Cà )/g, " Çà ");
    str = str.replace(/( Cà,)/g, " Çà,");
    str = str.replace(/(Gela)/g, "Cela");
    str = str.replace(/(Cola)/g, "Cela");
    str = str.replace(/( cola)/g, " cela");
    str = str.replace(/(Gomme)/g, "Comme");
    str = str.replace(/([EÊÈ]cole)/g, "École");
    str = str.replace(/([EÊÈ]conom)/g, "Économ");
    str = str.replace(/([EÊÈ]coss)/g, "Écoss");
    str = str.replace(/([EÊÈ]cout)/g, "Écout");
    str = str.replace(/([EÊÈ]den)/g, "Éden");
    str = str.replace(/([EÊÈ]glise)/g, "Église");
    str = str.replace(/([EÊÈ]gypt)/g, "Égypt");
    str = str.replace(/([EÊÈ]lec)/g, "Élec");
    str = str.replace(/([EÊÈ]lém)/g, "Élém");
    str = str.replace(/([EÊÈ]lie)/g, "Élie");
    str = str.replace(/([EÊÈ]lisée)/g, "Élisée");
    str = str.replace(/([EÊÈ]loge)/g, "Éloge");
    str = str.replace(/([EÊÈ]lysée)/g, "Élysée");
    str = str.replace(/([EÊÈ]mile)/g, "Émile");
    str = str.replace(/([EÊÈ]milie)/g, "Émilie");
    str = str.replace(/([EÊÈ]nerg)/g, "Énerg");
    str = str.replace(/([EÊÈ]p)/g, "Ép");
    str = str.replace(/([EÊÈ]quateur)/g, "Équateur");
    str = str.replace(/([EÊÈ]tablis)/g, "Établis");
    str = str.replace(/([EÊÈ]tat)/g, "État");
    str = str.replace(/([EÊÈ]tang)/g, "Étang");
    str = str.replace(/([EÊÈ]tant)/g, "Étant");
    str = str.replace(/([EÊÈ]thique)/g, "Éthique");
    str = str.replace(/([EÊÈ]trang)/g, "Étrang");
    str = str.replace(/([EÉÈ]tre)/g, "Être");
    str = str.replace(/([EÊÈ]tud)/g, "Étud");
    str = str.replace(/([EÊÈ]v)/g, "Év");
    str = str.replace(/([EÉÊ]ve)/g, "Ève");
    str = str.replace(/([\n—\!\?\.\\…\»\«\( ] )11 /g, "$1Il ");   
    str = str.replace(/([\n—\!\?\.\\…\»\«\( ] )II /g, "$1Il ");
    str = str.replace(/(It )/g, "Il ");
    str = str.replace(/(Tl )/g, "Il ");
    str = str.replace(/(. Us )/g, ". Ils ");
    str = str.replace(/(Ile )/g, "Île ");
    str = str.replace(/(Ile-)/g, "Île-");
    str = str.replace(/(Iles )/g, "Îles ");
    str = str.replace(/(Iles-)/g, "Îles-");
// CHIFFRES ROMAINS
    str = str.replace(/(\n|\-| |\{\{lié\}\})([IVXLCDM]+)([\n-\.,…\|\}\) ])/g, "$1{{rom-maj|$2}}$3");
    str = str.replace(/(\{\{rom-maj\|Ier\}\})/g, "\{\{Ier\}\}");
// GREC
    str = str.replace(/(ϰ)/g, "κ");
    str = str.replace(/(ϕ)/g, "φ");
    str = str.replace(/(ϑ)/g, "θ");
// SCANILLES S LONGS
// MOTS OU FRAGMENTS DE MOTS
	str = str.replace(/(abuf)/g, "abuſ"); // abuse, abuser
	str = str.replace(/(accuf)/g, "accuſ"); // accuse, accuser
	str = str.replace(/(adreff)/g, "adreſſ");
	str = str.replace(/(adrefl)/g, "adreſſ");
	str = str.replace(/(affaffin)/g, "aſſaſſin");
	str = str.replace(/(affau)/g, "aſſau");
	str = str.replace(/(affembl)/g, "aſſembl");
	str = str.replace(/(affeoi)/g, "aſſeoi");
	str = str.replace(/(affez)/g, "aſſez");
	str = str.replace(/(affertion)/g, "aſſertionz");
	str = str.replace(/(affidu)/g, "aſſidu");
	str = str.replace(/(affiette)/g, "aſſiette");
	str = str.replace(/(affign)/g, "aſſign");
	str = str.replace(/(affift)/g, "aſſiſt");
	str = str.replace(/(affirent)/g, "aſſirent");
	str = str.replace(/(affur)/g, "aſſur");
	str = str.replace(/(aflez)/g, "aſſez");
	str = str.replace(/(afloupi)/g, "aſſoupi");
	str = str.replace(/(aflur)/g, "aſſur");
	str = str.replace(/(afyle)/g, "aſyle");
	str = str.replace(/(agaffe)/g, "agaſſe"); // agasser, agasserie
	str = str.replace(/(agiftrat)/g, "agiſtrat");
	str = str.replace(/(aifance)/g, "aiſance");
	str = str.replace(/((A|a)infi)/g, "$1inſi");
	str = str.replace(/(artifan)/g, "artiſan");
	str = str.replace(/(artifte)/g, "artiſte");
	str = str.replace(/(ainft)/g, "ainſi");
	str = str.replace(/(Alais)/g, "Mais");
	str = str.replace(/(appaif)/g, "appaiſ");
	str = str.replace(/((A|a)uffi)/g, "$1uſſi");
	str = str.replace(/(aufii)/g, "auſſi");
	str = str.replace(/(aufîi)/g, "auſſi");
	str = str.replace(/(aufïi)/g, "auſſi");
	str = str.replace(/(aufli)/g, "auſſi");
	str = str.replace(/(auiïi)/g, "auſſi");
	str = str.replace(/(aulfi)/g, "auſſi");
	str = str.replace(/(autorif)/g, "autoriſ");
	str = str.replace(/(avifé)/g, "aviſé");
	str = str.replace(/(baraff)/g, "baraſſ");
	str = str.replace(/(baf(e|é|a))/g, "baſ$1");
	str = str.replace(/(befogn)/g, "beſogn");
	str = str.replace(/(befoign)/g, "beſoign");
	str = str.replace(/(befoin)/g, "beſoin");
	str = str.replace(/(blafé)/g, "blaſé");
	str = str.replace(/(bleffe)/g, "bleſſe");
	str = str.replace(/(bleffu)/g, "bleſſu");
	str = str.replace(/(blelfe)/g, "bleſſe");
	str = str.replace(/(boifé)/g, "boiſé");
	str = str.replace(/(bougreffe)/g, "bougreſſe");
	str = str.replace(/(bourfe)/g, "bourſe");
	str = str.replace(/(bourgeoife)/g, "bourgeoiſe");
	str = str.replace(/(boff)/g, "boſſ");
	str = str.replace(/(cafle)/g, "caſſe");
	str = str.replace(/(caflé)/g, "caſſé");
	str = str.replace(/(careff)/g, "careſſ");
	str = str.replace(/(caroffe)/g, "caroſſe");
	str = str.replace(/(cefle)/g, "ceſſe");
	str = str.replace(/(cefT)/g, "ceſſ");
	str = str.replace(/(celfe)/g, "ceſſe");
	str = str.replace(/(chaife)/g, "chaiſe");
	str = str.replace(/(chanfon)/g, "chanſon");
	str = str.replace(/(chériff)/g, "chériſſ");
	str = str.replace(/(chiffemen)/g, "chiſſemen");
	str = str.replace(/(chinoife)/g, "chinoiſe");
	str = str.replace(/(chofe)/g, "choſe");
	str = str.replace(/(choifi)/g, "choiſi");
	str = str.replace(/(clioifi)/g, "choiſi");
	str = str.replace(/(coeur)/g, "cœur");
	str = str.replace(/(confeil)/g, "conſeil");
	str = str.replace(/(confen)/g, "conſen");
	str = str.replace(/(conf(e|é)qu)/g, "conſ$1qu");
	str = str.replace(/(conferv)/g, "conſerv");
	str = str.replace(/(confift)/g, "conſiſt");
	str = str.replace(/(confol)/g, "conſol");
	str = str.replace(/(confom)/g, "conſom");
	str = str.replace(/(connoifl)/g, "connoiſſ");
	str = str.replace(/(connoilf)/g, "connoiſſ");
	str = str.replace(/(converf)/g, "converſ");
	str = str.replace(/(corfet)/g, "corſet");
	str = str.replace(/(coufine)/g, "couſine");
	str = str.replace(/(coufu)/g, "couſu");
	str = str.replace(/(courfe)/g, "courſe");
	str = str.replace(/(courtif)/g, "courtiſ");
	str = str.replace(/(cruffe)/g, "cruſſe");
	str = str.replace(/(danf(e|é))/g, "danſ$1");
	str = str.replace(/(dcmo)/g, "demo");
	str = str.replace(/(d(e|é)fabuf)/g, "d$1ſabuſ");
	str = str.replace(/(d(é|e)fagr(é|e))/g, "d$1ſagr$2");
	str = str.replace(/(défalt)/g, "déſalt");
	str = str.replace(/(d(e|é)fenfe)/g, "d$1fenſe");
	str = str.replace(/(deffein)/g, "deſſein");
	str = str.replace(/(deffert)/g, "deſſert");
	str = str.replace(/(deffill(a|e))/g, "deſſill$1");
	str = str.replace(/(d(e|é)fir)/g, "d$1ſir");
	str = str.replace(/(deflous)/g, "deſſous");
	str = str.replace(/(deffous)/g, "deſſous");
	str = str.replace(/(deffus)/g, "deſſus");
	str = str.replace(/(deflus)/g, "deſſus");
	str = str.replace(/(d(e|é)folé)/g, "d$1ſolé");
	str = str.replace(/(d(e|é)fordre)/g, "d$1ſordre");
	str = str.replace(/(d(e|é)laff)/g, "d$1laſſ");
	str = str.replace(/(demoifelle)/g, "demoiſelle");
	str = str.replace(/(difait)/g, "diſait");
	str = str.replace(/(difant)/g, "diſant");
	str = str.replace(/(difcuffion)/g, "diſcuſſion");
	str = str.replace(/(difette)/g, "diſette");
	str = str.replace(/(diffip)/g, "diſſip");
	str = str.replace(/(difpof)/g, "diſpoſ");
	str = str.replace(/(diverf)/g, "diverſ");
	str = str.replace(/(dreff)/g, "dreſſ");
	str = str.replace(/(drefle)/g, "dreſſe");
	str = str.replace(/((D|u)ucheffe)/g, "$1ucheſſe");
	str = str.replace(/((e|é)blouiflant)/g, "$1blouiſſant");
	str = str.replace(/(effuy)/g, "eſſuy");
	str = str.replace(/(effen(c|t))/g, "eſſen$1");
	str = str.replace(/((E|É|e|é)glife)/g, "$1gliſe");
	str = str.replace(/(elfieurs)/g, "eſſieurs");
	str = str.replace(/(emphafe)/g, "emphaſe");
	str = str.replace(/(empliff)/g, "empliſſ"); // emplisse, remplisse
	str = str.replace(/(emprefle)/g, "empreſſe");
	str = str.replace(/(enfei)/g, "enſei");
	str = str.replace(/(enfemble)/g, "enſemble");
	str = str.replace(/(enfen(c|ç)(a|e))/g, "enſen$1$2");
	str = str.replace(/(enforte)/g, "enſorte");
	str = str.replace(/((e|é)poufe)/g, "$1pouſe");
	str = str.replace(/((e|é)tourdiff)/g, "$1tourdiſſ");
	str = str.replace(/(exceffi)/g, "exceſſi");
	str = str.replace(/(excuf)/g, "excuſ");
	str = str.replace(/(expulf)/g, "expulſ");
	str = str.replace(/(\bfaffe\b)/g, "faſſe");
	str = str.replace(/(fafle)/g, "faſſe");
	str = str.replace(/(faflfe)/g, "faſſe");
	str = str.replace(/(fageffe)/g, "ſageſſe");
	str = str.replace(/(faifant)/g, "faiſant");
	str = str.replace(/(faifeu)/g, "faiſeu");
	str = str.replace(/(faifi)/g, "ſaiſi");
	str = str.replace(/(faifai)/g, "faiſai");
	str = str.replace(/(faifoi)/g, "faiſoi");
	str = str.replace(/(faifon)/g, "ſaiſon");
	str = str.replace(/(faint)/g, "ſaint");
	str = str.replace(/(\bfain\b)/g, "ſain");
	str = str.replace(/(\bfain(e|s)\b)/g, "ſain$1");
	str = str.replace(/(\bfaines\b)/g, "ſaines");
	str = str.replace(/(falaire)/g, "ſalaire");
	str = str.replace(/(falon)/g, "ſalon");
	str = str.replace(/(fallon)/g, "ſallon");
	str = str.replace(/(falu)/g, "ſalu");
	str = str.replace(/(famedi)/g, "ſamedi");
	str = str.replace(/(fangl)/g, "ſangl");
	str = str.replace(/(fangu)/g, "ſangu");
	str = str.replace(/(fantaf)/g, "fantaſ");
	str = str.replace(/(fantaifie)/g, "fantaiſie");
	str = str.replace(/(fanté)/g, "ſanté");
	str = str.replace(/(fapin)/g, "ſapin");
	str = str.replace(/(fapins)/g, "ſapins");
	str = str.replace(/(fatin)/g, "ſatin");
	str = str.replace(/(fatis)/g, "ſatis");
	str = str.replace(/(fauffe)/g, "fauſſe");
	str = str.replace(/(faur)/g, "ſaur");
	str = str.replace(/(fauva)/g, "ſauva");
	str = str.replace(/(fauver)/g, "ſauver");
	str = str.replace(/(favant)/g, "ſavant");
	str = str.replace(/(favez)/g, "ſavez");
	str = str.replace(/(favi)/g, "ſavi");
	str = str.replace(/(favoi)/g, "ſavoi");
	str = str.replace(/(favon)/g, "ſavon");
	str = str.replace(/(favour)/g, "ſavour");
	str = str.replace(/(fcrupule)/g, "ſcrupule");
	str = str.replace(/(f(e|é)ance)/g, "ſ$1ance");
	str = str.replace(/(fecs)/g, "ſecs");
	str = str.replace(/(fecond)/g, "ſecond");
	str = str.replace(/(fecouffe)/g, "ſecouſſe");
	str = str.replace(/(fecour)/g, "ſecour");
	str = str.replace(/(f(e|é)culier)/g, "ſ$1culier");
	str = str.replace(/(f(e|é)curit)/g, "ſ$1curit");
	str = str.replace(/(feftin)/g, "feſtin");
	str = str.replace(/(feigneur)/g, "ſeigneur");
	str = str.replace(/(feize)/g, "ſeize");
	str = str.replace(/(fema)/g, "ſema");
	str = str.replace(/(femé)/g, "ſemé");
	str = str.replace(/(f(e|é)millant)/g, "ſ$1millant");
	str = str.replace(/(f(e|é)minaire)/g, "ſ$1minaire");
	str = str.replace(/(fenfation)/g, "ſenſation");
	str = str.replace(/(fenf(a|é|e))/g, "ſenſ$1");
	str = str.replace(/(fenfu(a|e)l)/g, "ſenſu$1l");
	str = str.replace(/(fentois)/g, "ſentois");
	str = str.replace(/(fentimen)/g, "ſentimen");
	str = str.replace(/(fept)/g, "ſept");
	str = str.replace(/(ferein)/g, "ſerein");
	str = str.replace(/(f(e|é)r(e|é)nade)/g, "ſ$1r$2nade");
	str = str.replace(/(f(e|é)rieux)/g, "ſ$1rieux");
	str = str.replace(/(f(e|é)rieufe)/g, "ſ$1rieuſe");
	str = str.replace(/(fermens)/g, "ſermens");
	str = str.replace(/(fermon)/g, "ſermon");
	str = str.replace(/(fervant)/g, "ſervant");
	str = str.replace(/(fervez)/g, "ſervez");
	str = str.replace(/(fervi)/g, "ſervi");
	str = str.replace(/(fervoit)/g, "ſervoit");
	str = str.replace(/(fervon)/g, "ſervon");
	str = str.replace(/(feufe)/g, "ſeuſe");
	str = str.replace(/(ſeufe)/g, "ſeuſe");
	str = str.replace(/(fiecle)/g, "ſiecle");
	str = str.replace(/(fiècle)/g, "ſiècle");
	str = str.replace(/(fienne)/g, "ſienne");
	str = str.replace(/(fignifi)/g, "ſignifi");
	str = str.replace(/(filence)/g, "ſilence");
	str = str.replace(/(fingul)/g, "ſingul");
	str = str.replace(/(ffimul)/g, "ſſimul");
	str = str.replace(/(fimul)/g, "ſimul");
	str = str.replace(/(finifl)/g, "finiſſ");
	str = str.replace(/(fitu(a|e|é))/g, "ſitu$1");
	str = str.replace(/(fixi(e|é|è)me)/g, "ſixi$1me");
	str = str.replace(/(fodom)/g, "ſodom");
	str = str.replace(/(foeur)/g, "ſœur");
	str = str.replace(/(fœur)/g, "ſœur");
	str = str.replace(/(foient)/g, "ſoient");
	str = str.replace(/(foirée)/g, "ſoirée");
	str = str.replace(/(foixante)/g, "ſoixante");
	str = str.replace(/(foleil)/g, "ſoleil");
	str = str.replace(/(folenn)/g, "ſolenn");
	str = str.replace(/(folide)/g, "ſolide");
	str = str.replace(/(follicit)/g, "ſollicit");
	str = str.replace(/(folution)/g, "ſolution");
	str = str.replace(/(fomme)/g, "ſomme");
	str = str.replace(/(fommes)/g, "ſommes");
	str = str.replace(/(foffe)/g, "ſoſſe");
	str = str.replace(/(fonge)/g, "ſonge");
	str = str.replace(/(fopha)/g, "ſopha");
	str = str.replace(/(fortent)/g, "ſortent");
	str = str.replace(/(fortie)/g, "ſortie");
	str = str.replace(/(fortir)/g, "ſortir");
	str = str.replace(/(fortit)/g, "ſortit");
	str = str.replace(/(fots)/g, "ſots");
	str = str.replace(/(fotte)/g, "ſotte");
	str = str.replace(/(fottife)/g, "ſottiſe");
	str = str.replace(/(fouci)/g, "ſouci");
	str = str.replace(/(foudain)/g, "ſoudain");
	str = str.replace(/(fouhait)/g, "ſouhait");
	str = str.replace(/(foulage)/g, "ſoulage");
	str = str.replace(/(foulier)/g, "ſoulier");
	str = str.replace(/(foupleff)/g, "ſoupleſſ"); // souplesse
	str = str.replace(/(four(b|n)iff)/g, "four$1iſſ");
	str = str.replace(/(ffource)/g, "ſſource"); // ressource
	str = str.replace(/(fource)/g, "ſource");
	str = str.replace(/(fourcil)/g, "ſourcil");
	str = str.replace(/(fourd)/g, "ſourd");
	str = str.replace(/(fouris)/g, "ſouris");
	str = str.replace(/(fournois)/g, "ſournois");
	str = str.replace(/(fournoife)/g, "ſournoiſe");
	str = str.replace(/(fout(c|e)nu)/g, "ſout$1nu");
	str = str.replace(/(foutien)/g, "ſoutien");
	str = str.replace(/(fricaffée)/g, "fricaſſée");
	str = str.replace(/(fouvent)/g, "ſouvent");
	str = str.replace(/(foy(ons|ez))/g, "ſoy$1");
	str = str.replace(/(ftupid)/g, "ſtupid");
	str = str.replace(/(fuav)/g, "ſuav");
	str = str.replace(/(fubfift)/g, "ſubſiſt");
	str = str.replace(/(fubfti)/g, "ſubſti");
	str = str.replace(/(fuffe)/g, "fuſſe");
	str = str.replace(/(fuffrage)/g, "ſuffrage");
	str = str.replace(/(fuffoqu)/g, "ſuffoqu");
	str = str.replace(/(fufi)/g, "fuſi");
	str = str.replace(/(fufpend)/g, "ſuſpend");
	str = str.replace(/(fufpect)/g, "ſuſpect");
	str = str.replace(/(fuftige)/g, "fuſtige");
	str = str.replace(/(fujet)/g, "ſujet");
	str = str.replace(/(f(û|u)rement)/g, "ſ$1rement");
	str = str.replace(/(furfaut)/g, "ſurſaut");
	str = str.replace(/(furmont)/g, "ſurmont");
	str = str.replace(/(furnom)/g, "ſurnom");
	str = str.replace(/(furtout)/g, "ſurtout");
	str = str.replace(/(fympatif)/g, "ſympatiſ");
	str = str.replace(/(galantife)/g, "galantiſe");
	str = str.replace(/(garnifon)/g, "garniſon");
	str = str.replace(/(gefte)/g, "geſte");
	str = str.replace(/(grifant)/g, "griſant");
	str = str.replace(/(grife)/g, "griſe");
	str = str.replace(/(grifé)/g, "griſé");
	str = str.replace(/(grofl)/g, "groſſ");
	str = str.replace(/(guérifon)/g, "guériſon");
	str = str.replace(/(guif)/g, "guiſ");
	str = str.replace(/(grivoife)/g, "grivoiſe");
	str = str.replace(/(hafard)/g, "haſard");
	str = str.replace(/(hardieffe)/g, "hardieſſe");
	str = str.replace(/(h(é|e)riff)/g, "h$1riſſ");
	str = str.replace(/(huiffier)/g, "huiſſier");
	str = str.replace(/(ivreffe)/g, "ivreſſe");
	str = str.replace(/(infenfé)/g, "inſenſé");
	str = str.replace(/(jafe)/g, "jaſe");
	str = str.replace(/(jafmin)/g, "jaſmin");
	str = str.replace(/(jalouf)/g, "jalouſ");
	str = str.replace(/((J|j)(e|é)fuite)/g, "$1$2ſuite");
	str = str.replace(/(jeuneffe)/g, "jeuneſſe");
	str = str.replace(/(Jofephine)/g, "Joſephine");
	str = str.replace(/(jouilf)/g, "jouiſſ");
	str = str.replace(/(laffé)/g, "laſſé");
	str = str.replace(/(laifl)/g, "laiſſ");
	str = str.replace(/(laijjerai)/g, "laiſſerai");
	str = str.replace(/(lifez)/g, "liſez");
	str = str.replace(/(lifant)/g, "liſant");
	str = str.replace(/(loifir)/g, "loiſir");
	str = str.replace(/(lyfée)/g, "lyſée"); // élysée, Élysée
	str = str.replace(/(mafculin)/g, "maſculin");
	str = str.replace(/(maffac)/g, "maſſac"); // massacre
	str = str.replace(/(maifon)/g, "maiſon");
	str = str.replace(/(maîtrefle)/g, "maîtreſſe");
	str = str.replace(/(majeft)/g, "majeſt");
	str = str.replace(/(mauffade)/g, "mauſſade");
	str = str.replace(/(médif)/g, "médiſ");
	str = str.replace(/(mefur)/g, "meſur");
	str = str.replace(/(m(e|é)prif)/g, "m$1priſ");
	str = str.replace(/(mîffe)/g, "mîſſe");
	str = str.replace(/(moijelle)/g, "moiſelle"); // demoiselle
	str = str.replace(/(muf(e|i))/g, "muſ$1"); // muse, musique, musicien
	str = str.replace(/(noblefle)/g, "nobleſſe");
	str = str.replace(/(noblelfe)/g, "nobleſſe");
	str = str.replace(/(nourriff)/g, "nourriſſ");
	str = str.replace(/(ob(e|é)iff)/g, "ob$1iſſ");
	str = str.replace(/(ob(e|é)ifl)/g, "ob$1iſſ");
	str = str.replace(/(ob(e|é)ilf)/g, "ob$1iſſ");
	str = str.replace(/(occafion)/g, "occaſion");
	str = str.replace(/(ofalie)/g, "oſalie");
	str = str.replace(/(ofimont)/g, "oſimont");
	str = str.replace(/(omteffe)/g, "omteſſe");
	str = str.replace(/(omtefie)/g, "omteſſe");
	str = str.replace(/(omtefle)/g, "omteſſe");
	str = str.replace(/(omtefTe)/g, "omteſſe");
	str = str.replace(/(omtejje)/g, "omteſſe");
	str = str.replace(/(onfeil)/g, "onſeil");
	str = str.replace(/(onfieur)/g, "onſieur");
	str = str.replace(/(oppof)/g, "oppoſ");
	str = str.replace(/(organif)/g, "organiſ");
	str = str.replace(/(pafier)/g, "paſſer");
	str = str.replace(/(paflade)/g, "paſſade");
	str = str.replace(/(pafle)/g, "paſſe");
	str = str.replace(/(paflfer)/g, "paſſer");
	str = str.replace(/(paiïade)/g, "paſſade");
	str = str.replace(/(palfe)/g, "paſſe");
	str = str.replace(/(palfé)/g, "paſſé");
	str = str.replace(/(pareff)/g, "pareſſ");
	str = str.replace(/(paroiff)/g, "paroiſſ");
	str = str.replace(/(paroifſ)/g, "paroiſſ");
	str = str.replace(/(payfa)/g, "payſa");
	str = str.replace(/(pefan)/g, "peſan");
	str = str.replace(/(p(e|é)foit)/g, "p$1ſoit");
	str = str.replace(/(perfécut)/g, "perſécut");
	str = str.replace(/((P|p)erfonn)/g, "$1erſonn");
	str = str.replace(/(perfuad)/g, "perſuad");
	str = str.replace(/(phrafe)/g, "phraſe");
	str = str.replace(/(phyf)/g, "phyſ");
	str = str.replace(/(piff)/g, "piſſ");
	str = str.replace(/(plaîfir)/g, "plaîſir");
	str = str.replace(/(pliff)/g, "pliſſ");
	str = str.replace(/(pl(n|u)fieurs)/g, "pluſieurs");
	str = str.replace(/(po(é|ë|e)fie)/g, "po$1ſie");
	str = str.replace(/(poflib)/g, "poſſib");
	str = str.replace(/(poiffon)/g, "poiſſon");
	str = str.replace(/(poifon)/g, "poiſon");
	str = str.replace(/(pojjible)/g, "poſſible");
	str = str.replace(/(polfib)/g, "poſſib");
	str = str.replace(/(politeffe)/g, "politeſſe");
	str = str.replace(/(pouff)/g, "pouſſ");
	str = str.replace(/(pouffoit)/g, "pouſſoit");
	str = str.replace(/(pouflbit)/g, "pouſſoit");
	str = str.replace(/(poufloit)/g, "pouſſoit");
	str = str.replace(/(pourfuis)/g, "pourſuis");
	str = str.replace(/(pourfuit)/g, "pourſuit");
	str = str.replace(/(pr(e|é)cif(e|é|i))/g, "pr$1ciſ$2");
	str = str.replace(/(pr(e|é)fag(e|é))/g, "pr$1ſag$2");
	str = str.replace(/(pr(e|é)fenc)/g, "pr$1ſenc");
	str = str.replace(/(pr(e|é)fent)/g, "pr$1ſent");
	str = str.replace(/(préferv)/g, "préſerv");
	str = str.replace(/((P|p)r(e|i)ff)/g, "$1r$2ſſ");
	str = str.replace(/(pr(e|é)fident)/g, "pr$1ſident");
	str = str.replace(/(prife)/g, "priſe");
	str = str.replace(/(propof)/g, "propoſ");
	str = str.replace(/(Pruffe)/g, "Pruſſe");
	str = str.replace(/(puffe)/g, "puſſe");
	str = str.replace(/(puiffe)/g, "puiſſe");
	str = str.replace(/(puiffiez)/g, "puiſſiez");
	str = str.replace(/(puifie)/g, "puiſſe");
	str = str.replace(/(puifle)/g, "puiſſe");
	str = str.replace(/(puifliez)/g, "puiſſiez");
	str = str.replace(/(puift(a|e|i))/g, "puiſſ$1");
	str = str.replace(/(punifl(a|e|i))/g, "puniſſ$1");
	str = str.replace(/(punilf(a|e|i))/g, "puniſſ$1");
	str = str.replace(/(punift(a|e|i))/g, "puniſſ$1");
	str = str.replace(/(puniff(a|e|i))/g, "puniſſ$1");
	str = str.replace(/(quife)/g, "quiſe");
	str = str.replace(/(raffafi(a|e|é|è))/g, "raſſaſi$1");
	str = str.replace(/(raffé)/g, "raſſé");
	str = str.replace(/(raif(o|i)n)/g, "raiſ$1n");
	str = str.replace(/(raviff(e|a))/g, "raviſſ$1");
	str = str.replace(/(r(e|é)alif)/g, "r$1aliſ");
	str = str.replace(/(refſen)/g, "reſſen");
	str = str.replace(/(refen)/g, "reſen");
	str = str.replace(/(réferv)/g, "réſerv");
	str = str.replace(/(reffent)/g, "reſſent");
	str = str.replace(/(refferr)/g, "reſſerr");
	str = str.replace(/(reffort)/g, "reſſort");
	str = str.replace(/(reffource)/g, "reſſource");
	str = str.replace(/(reffuſcit)/g, "reſſuſcit");
	str = str.replace(/(r(e|é)fide)/g, "r$1ſide");
	str = str.replace(/(r(e|é)fifte)/g, "r$1ſiſte");
	str = str.replace(/(r(e|é)folu)/g, "r$1ſolu");
	str = str.replace(/(r(e|é)foudre)/g, "r$1ſoudre");
	str = str.replace(/(refuf)/g, "refuſ");
	str = str.replace(/(r(e|é)fult)/g, "r$1ſult");
	str = str.replace(/(renverf)/g, "renverſ");
	str = str.replace(/(repof)/g, "repoſ");
	str = str.replace(/(r(e|é)ponfe)/g, "r$1ponſe");
	str = str.replace(/(r(e|é)uffiffe)/g, "r$1uſſiſſe");
	str = str.replace(/(richeffe)/g, "richeſſe");
	str = str.replace(/(ruft)/g, "ruſt");
	str = str.replace(/(taifons)/g, "taiſons");
	str = str.replace(/(teffe)/g, "teſſe");
	str = str.replace(/(t(e|é)reff)/g, "t$1reſſ");
	str = str.replace(/(teufe)/g, "teuſe");
	str = str.replace(/(tiffe)/g, "tiſſe");
	str = str.replace(/(tracaff)/g, "tracaſſ");
	str = str.replace(/(trahifon)/g, "trahiſon");
	str = str.replace(/(tranf)/g, "tranſ");
	str = str.replace(/(traverf)/g, "traverſ");
	str = str.replace(/(treffe)/g, "treſſe");
	str = str.replace(/(troif)/g, "troiſ");
	str = str.replace(/(ufag)/g, "uſag");
	str = str.replace(/(ufé)/g, "uſé");
	str = str.replace(/(uffitôt)/g, "uſſitôt");
	str = str.replace(/(ufii)/g, "uſſi");
	str = str.replace(/(uflitôt)/g, "uſſitôt");
	str = str.replace(/(uniffe)/g, "uniſſe");
	str = str.replace(/(vafte)/g, "vaſte");
	str = str.replace(/(vaiffeau)/g, "vaiſſeau");
	str = str.replace(/(vieilleffe)/g, "vieilleſſe");
	str = str.replace(/(vifag)/g, "viſag");
	str = str.replace(/(viffe)/g, "viſſe");
	str = str.replace(/(vife)/g, "viſe");
	str = str.replace(/(voifin)/g, "voiſin");
//  MOTS ENTIERS DÉLIMITÉS
	str = str.replace(/(\bclaffe)/g, "claſſe");
	str = str.replace(/(\bdife\b)/g, "diſe");
	str = str.replace(/(\bd(e|é)fir)/g, "d$1ſir"); // désir, desir
	str = str.replace(/(\beffa(i|y))/g, "eſſa$1"); // essai, essayer
	str = str.replace(/(\bètre\b)/g, "être");
	str = str.replace(/(\beuff)/g, "euſſ"); // eusse,
	str = str.replace(/(\biffu)/g, "iſſu"); // issu, issues
	str = str.replace(/(\bf(a|e|i|u)\b)/g, "ſ$1"); // sa, se, si, su
	str = str.replace(/(\bfage\b)/g, "ſage");
	str = str.replace(/(\bfages\b)/g, "ſages");
	str = str.replace(/(\bfang\b)/g, "ſang");
	str = str.replace(/(\bfans\b)/g, "ſans");
	str = str.replace(/(\bfauf\b)/g, "ſauf");
	str = str.replace(/(\bfaufs\b)/g, "ſaufs");
	str = str.replace(/(\bfauts\b)/g, "ſauts");
	str = str.replace(/(\bd(e|é)ſaut)/g, "d$1faut");
	str = str.replace(/(\bfecte)/g, "ſecte");
	str = str.replace(/(\bfe(c|s)\b)/g, "ſe$1"); // sec, ses
	str = str.replace(/(\bfein\b)/g, "ſein");
	str = str.replace(/(\bfelon\b)/g, "ſelon");
	str = str.replace(/(\bfen(s|t)\b)/g, "ſen$1");
	str = str.replace(/(\bfert\b)/g, "ſert");
	str = str.replace(/(\bferti\b)/g, "ſerti");
	str = str.replace(/(\bferve\b)/g, "ſerve");
	str = str.replace(/(\bfien\b)/g, "ſien");
	str = str.replace(/(\bfiens\b)/g, "ſiens");
	str = str.replace(/(\bfinon\b)/g, "ſinon");
	str = str.replace(/(\bfiffe\b)/g, "fiſſe");
	str = str.replace(/(\bfix\b)/g, "ſix");
	str = str.replace(/(\bfoir\b)/g, "ſoir");
	str = str.replace(/(\bfoirs\b)/g, "ſoirs");
	str = str.replace(/(\bfoit)/g, "ſoit");
	str = str.replace(/(\bfo(n|t)\b)/g, "ſo$1"); // son, sot
	str = str.replace(/(\bfonn)/g, "ſonn"); // le délimiteur avant empêche de faire grissonne, mais pas sonna
	str = str.replace(/(\bfortant\b)/g, "ſortant");
	str = str.replace(/(\bfort(î|i)me)/g, "ſort$1me"); // sortîmes
	str = str.replace(/(\bfortis\b)/g, "ſortis");
	str = str.replace(/(\bfort(a|o|)i)/g, "ſort$1i"); // sortais, sortoit, sortois, sortoit
	str = str.replace(/(\bft(é|e|è)r(e|i))/g, "ſt$1r$2"); // stère, stérile
	str = str.replace(/(\bf(u|û)rement\b)/g, "ſ$1rement"); // surement, sûrement
	str = str.replace(/(\bfue\b)/g, "ſue"); // sue
	str = str.replace(/(\bf(u|û)r\b)/g, "ſ$1r"); // sûr
	str = str.replace(/(\bf(u|û)re\b)/g, "ſ$1re"); // sûre
	str = str.replace(/(\bifle\b)/g, "iſle");
	str = str.replace(/(\bifles\b)/g, "iſles");
	str = str.replace(/(\blife\b)/g, "liſe");
	str = str.replace(/(\blifoi)/g, "liſoi");
	str = str.replace(/(\bmife\b)/g, "miſe");
	str = str.replace(/(\bofe)/g, "oſe");
	str = str.replace(/(\braf(a|e|é|è))/g, "raſ$1");
	str = str.replace(/(\br(o|u)fe\b)/g, "r$1ſe");
	str = str.replace(/(\bprofe\b)/g, "proſe");
	str = str.replace(/(\br(o|u)fes\b)/g, "r$1ſes");
	str = str.replace(/(\br(o|u)fée\b)/g, "r$1ſée");
	str = str.replace(/(\brofée\b)/g, "roſée");
	str = str.replace(/(\brufé)/g, "ruſé");
	str = str.replace(/(\buf(a|e|é|i))/g, "uſ$1");
	str = str.replace(/(\bvafe(s?)\b)/g, "vaſe$1");
//MOTIFS RÉCURRENTS
	str = str.replace(/(abf)/g, "abſ"); // absent
	str = str.replace(/(accuf)/g, "accuſ"); // accuser
	str = str.replace(/(aft)/g, "aſt"); // astre,contraste
	str = str.replace(/(ffeffe)/g, "ſſeſſe"); // grossesse
	str = str.replace(/(affaff)/g, "aſſaſſ"); // assassin
	str = str.replace(/(affi(s|t))/g, "aſſi$1"); // assis, assit
	str = str.replace(/(affife)/g, "aſſiſe"); // assise
	str = str.replace(/(aif(e|é|o))/g, "aiſ$1"); // aise, aisé, baisse, raison
	str = str.replace(/(aiff)/g, "aiſſ"); // naissance
	str = str.replace(/(aiſf)/g, "aiſſ"); // naissance
	str = str.replace(/(alf(ac|ez|ur))/g, "alſ$1"); // alsacien, assez, assure
	str = str.replace(/(alfez)/g, "aſſez"); // assez
	str = str.replace(/(alfur)/g, "aſſur"); // assurer
	str = str.replace(/(all(e|é)greffe)/g, "all$1greſſe"); // allégresse
	str = str.replace(/(amuf)/g, "amuſ"); // amuser
	str = str.replace(/(auft)/g, "auſt"); // austère
	str = str.replace(/(aviff)/g, "aviſſ"); // aviser
	str = str.replace(/(avif)/g, "aviſ"); // aviser
	str = str.replace(/(baif)/g, "baiſ"); // baiser
	str = str.replace(/((b|h)araff)/g, "$1araſſ"); // embarassé, harassé
	str = str.replace(/(barraff)/g, "barraſſ"); // embarrassé, embarrassant
	str = str.replace(/(b(e|é)niff)/g, "b$1niſſ"); // bénisse, bénissant
	str = str.replace(/(braff)/g, "braſſ"); // brasser
	str = str.replace(/(br(a|â)f(a|i|é|è|e))/g, "br$1ſ$2"); // embraser, embrâser
	str = str.replace(/(brif(a|é|è|e))/g, "briſ$1"); // brisé
	str = str.replace(/(cauf)/g, "cauſ"); // cause
	str = str.replace(/(cèfe)/g, "cèſe"); // acèse
	str = str.replace(/(ceff)/g, "ceſſ"); // cesser
	str = str.replace(/(cerife)/g, "ceriſe"); // cerise
	str = str.replace(/(chaff)/g, "chaſſ"); // chasse, chasser
	str = str.replace(/(\bclaff)/g, "claſſ"); // classe, classer
	str = str.replace(/(çoife)/g, "çoiſe"); // Françoise
	str = str.replace(/(compof)/g, "compoſ"); // composer
	str = str.replace(/(confid(é|è|e)r)/g, "conſid$1r"); // considéré, considère
	str = str.replace(/(croiff)/g, "croiſſ"); // croissance
	str = str.replace(/(croif)/g, "croiſ"); // croisement
	str = str.replace(/(croiſf)/g, "croiſſ"); // croissance
	str = str.replace(/(cufe)/g, "cuſe"); // excuse
	str = str.replace(/(cuif(i|a)n)/g, "cuiſ$1n"); // cuise, cuisine, cuisant
	str = str.replace(/(danf)/g, "danſ"); // danse
	str = str.replace(/((dangero|généro|genero|moro)f)/g, "$1ſ"); // dangerosité, générosité, morosité
	str = str.replace(/(d(é|è|e)effe)/g, "d$1eſſe"); // déesse
	str = str.replace(/(defc)/g, "deſc"); // descente
	str = str.replace(/(d(é|e)fefp)/g, "d$1ſeſp"); // desespoir
	str = str.replace(/(d(é|e)fench)/g, "d$1ſench"); // désenchanté
	str = str.replace(/(défert)/g, "déſert"); // désert
	str = str.replace(/(d(é|o)ff)/g, "d$1ſſ"); // dessus, adossé
	str = str.replace(/(dif(c|g|t))/g, "diſ$1"); // discerne, disgrâce, distant
	str = str.replace(/(diff(a|e)n)/g, "diſſ$1n"); // grandissant, grandisse
	str = str.replace(/(diffoi)/g, "diſſoi"); // applaudissoit
	str = str.replace(/(difoi)/g, "diſoi"); // disait
	str = str.replace(/(dif(a|o)n)/g, "diſ$1n"); // disait, disons
	str = str.replace(/(\bdifiez)/g, "diſiez"); // disiez
	str = str.replace(/(divif)/g, "diviſ"); // divise, division
	str = str.replace(/(\bdof)/g, "doſ"); // dose, dosa
	str = str.replace(/(dr(e|i)ff)/g, "dr$1ſſ"); // adresse, attendrisse, dresse
	str = str.replace(/(duif)/g, "duiſ"); // réduise
	str = str.replace(/(ef(c|p|t))/g, "eſ$1"); // escroc, espoir, estime
	str = str.replace(/((é|e)for)/g, "$1ſor"); // trésor
	str = str.replace(/(effeufe)/g, "eſſeuſe"); // connoisseuse
	str = str.replace(/(effeur)/g, "eſſeur"); // confesseur
	str = str.replace(/(effieurs)/g, "eſſieurs"); // Messieurs, messieurs
	str = str.replace(/(effion)/g, "eſſion"); // profession
	str = str.replace(/(enife)/g, "eniſe"); // Venise
	str = str.replace(/(erfua)/g, "erſua"); // persuader
	str = str.replace(/((e|é|è|ê)tife)/g, "$1tiſe"); // bêtise
	str = str.replace(/(eufe)/g, "euſe"); // heureuse
	str = str.replace(/(exif)/g, "exiſ"); // exister
	str = str.replace(/(facr)/g, "ſacr"); // sacré
	str = str.replace(/(fall(e|on))/g, "ſall$1"); // salle, sallon
	str = str.replace(/(falpêtr)/g, "ſalpêtr"); // salpêtre
	str = str.replace(/(fanct)/g, "ſanct"); // sanction, sanctifier
	str = str.replace(/(fat(i|y)r)/g, "ſat$1r"); // satyre,  satirique
	str = str.replace(/(fecou)/g, "ſecou"); // secouer
	str = str.replace(/(fecr)/g, "ſecr"); // secret
	str = str.replace(/(f(é|e)du)/g, "ſ$1du"); // séduction
	str = str.replace(/(feff(e|é|u))/g, "feſſ$1"); // fesse, fessée
	str = str.replace(/(f(é|e)j)/g, "ſ$1j"); // séjour
	str = str.replace(/(ffemb)/g, "ſſemb"); // assembler
	str = str.replace(/(femb)/g, "ſemb"); // sembler
	str = str.replace(/(fenfib)/g, "ſenſib"); // sensible, sensibilité
	str = str.replace(/(fenti)/g, "ſenti"); // sentiment
	str = str.replace(/(fépar)/g, "ſépar"); // séparer
	str = str.replace(/(fepu)/g, "ſepu"); // sépulture
	str = str.replace(/(ferp)/g, "ſerp"); // serpent
	str = str.replace(/(ferv(o|a)i)/g, "ſerv$1i"); // servoit, servoient
	str = str.replace(/(feul)/g, "ſeul"); // seul
	str = str.replace(/(feuſe)/g, "ſeuſe"); // oiseuse
	str = str.replace(/(fign)/g, "ſign"); // signal, désigne
	str = str.replace(/(f(é|e)v(e|é|è|i))/g, "ſ$1v$2"); // sève, sévère,sévi
	str = str.replace(/(fex)/g, "ſex"); // sexe
	str = str.replace(/(ff(e|i)ff)/g, "ſſ$1ſſ"); // grossesse, réussisse
	str = str.replace(/(ffom)/g, "ſſom"); // assomme
	str = str.replace(/(ffoup)/g, "ſſoup"); // assoupi
	str = str.replace(/(fible)/g, "ſible"); // paisible, risible
	str = str.replace(/(fid(e|é|è)r)/g, "ſid$1r"); // considère
	str = str.replace(/(fift)/g, "ſiſt"); // sistême
	str = str.replace(/(fim(e|p))/g, "ſim$1"); // simarre, simple
	str = str.replace(/(fin(c|g))/g, "ſin$1"); // sincère, singe
	str = str.replace(/(fin(e|i)ff)/g, "fin$1ſſ"); // 
	str = str.replace(/(foci)/g, "ſoci"); // société
	str = str.replace(/(fold)/g, "ſold"); // solde, soldat
	str = str.replace(/(foli(d|t))/g, "ſoli$1"); // solide, solitude
	str = str.replace(/(foph(e|i))/g, "ſoph$1"); // philosophe, philosophie
	str = str.replace(/(forci(e|è)r)/g, "ſorci$1r"); // sorcier, sorcière
	str = str.replace(/(fouff(|e|l|r))/g, "ſouff$1"); // souffle, souffrir, souffert
	str = str.replace(/(fouftr)/g, "ſouſtr"); // soustraire
	str = str.replace(/(ffouv)/g, "ſſouv"); // assouvir, ressouvenir
	str = str.replace(/(fou(m|p|v))/g, "ſou$1"); // soumis, souple, souvent
 	str = str.replace(/(fouri(a|e|o|r|s|t?))/g, "ſouri$1"); // sourir, souriant, sourioit
	str = str.replace(/(fouten(a|e|i|o|u))/g, "ſouten$1"); // soutenant, souteneur, soutenir, soutenois, soutenu
	str = str.replace(/(f(c|p|q))/g, "ſ$1"); // science, espace, esquive
	str = str.replace(/(fq)/g, "ſq"); // presque
	str = str.replace(/(fſeuſe)/g, "ſſeuſe"); // connoisseuse
	str = str.replace(/(frif)/g, "friſ"); // frisé
	str = str.replace(/(ftan)/g, "ſtan"); // stance, distance, distant
	str = str.replace(/(ftr)/g, "ſtr"); // lustre
	str = str.replace(/(\bfub(i|j|l|o|s|t|v))/g, "ſub$1"); // subit, subjugue, sublime, suborner, subside, subtil, subvient
	str = str.replace(/(fucc)/g, "ſucc"); // succès
	str = str.replace(/(\bfuc(e|é|i))/g, "ſuc$1"); // sucer
	str = str.replace(/(\bfuç(a|o))/g, "ſuç$1"); // suça, suçoit
	str = str.replace(/(fucr)/g, "ſucr"); // sucre
	str = str.replace(/(fuffi(t|r))/g, "ſuffi$1"); // suffir, suffit
	str = str.replace(/(fuffif)/g, "ſuffiſ"); // suffisant, suffise
	str = str.replace(/(fufp)/g, "ſuſp"); // suspend
	str = str.replace(/(fug)/g, "ſug"); // suggère
	str = str.replace(/(fuiv)/g, "ſuiv"); // suivant
	str = str.replace(/(fup)/g, "ſup"); // supérieur
	str = str.replace(/(fur(p|v))/g, "ſur$1"); // surpris, surveille
	str = str.replace(/(fyft)/g, "ſyſt"); // système
	str = str.replace(/(fym)/g, "ſym"); // sympathique
	str = str.replace(/(geffe)/g, "geſſe"); // pour sagesse, voir sage dans mots entiers
	str = str.replace(/(giff)/g, "giſſ"); // agissant
	str = str.replace(/(gofier)/g, "goſier"); // grosse
	str = str.replace(/(groff)/g, "groſſ"); // grosse
	str = str.replace(/(h(é|e)fi)/g, "h$1ſi"); // hésite
	str = str.replace(/(hift)/g, "hiſt"); // histoire
	str = str.replace(/(ifar)/g, "iſar"); // camisard
	str = str.replace(/(iffaire)/g, "iſſaire"); // commissaire
	str = str.replace(/(iffem)/g, "iſſem"); // agissement
	str = str.replace(/(iffim)/g, "iſſim"); // sérénissime
	str = str.replace(/(ifm)/g, "iſm"); // communisme
	str = str.replace(/(iffois)/g, "iſſois"); // applaudissois
	str = str.replace(/(ifp)/g, "iſp"); // dispute
	str = str.replace(/(ift)/g, "iſt"); // liste
	str = str.replace(/(infol)/g, "inſol"); // infolent
	str = str.replace(/(iniff)/g, "iniſſ"); // finisse, etc,
	str = str.replace(/(int(é|e)reff)/g, "int$1reſſ"); // intéressé
	str = str.replace(/(iofit)/g, "ioſit"); // curiosité
	str = str.replace(/(juft)/g, "juſt"); // justice
	str = str.replace(/(laiff)/g, "laiſſ"); // laisser
	str = str.replace(/(\blaff)/g, "laſſ"); // lassant, lasse
	str = str.replace(/(liff)/g, "liſſ"); // lisse
	str = str.replace(/(luff)/g, "luſſ"); // voulusse
	str = str.replace(/(lufion)/g, "luſion"); // allusion, illusion
	str = str.replace(/(luft)/g, "luſt"); // lustre
	str = str.replace(/(menfe)/g, "menſe"); // immense
	str = str.replace(/(([Mm])aif)/g, "$1aiſ"); // Maison, maison
	str = str.replace(/(m(e|é|l)fa([vl]))/g, "m$1ſa$2"); // mésaventure, mésalliance
	str = str.replace(/((M|m)eff)/g, "$1eſſ"); // Messieurs, messieurs
	str = str.replace(/(maff(e|i))/g, "maſſ$1"); // masse, amasse, massif
	str = str.replace(/(miff)/g, "miſſ"); // mission
	str = str.replace(/(mif)/g, "miſ"); // mise, misère
	str = str.replace(/(moif)/g, "moiſ"); // demoiselle
	str = str.replace(/(myft)/g, "myſt"); // mystère
	str = str.replace(/(nft)/g, "nſt"); // instant
	str = str.replace(/(ndife)/g, "ndiſe"); // marchandise
	str = str.replace(/(nfuite)/g, "nſuite"); // ensuite
	str = str.replace(/(nfult)/g, "nſult"); // insulte
	str = str.replace(/(nfur)/g, "nſur"); // censure, tonsure
	str = str.replace(/(noiff)/g, "noiſſ"); // connoisse
	str = str.replace(/(nuif)/g, "nuiſ"); // nuisance
	str = str.replace(/(obf)/g, "obſ"); // observe
	str = str.replace(/(offenf)/g, "offenſ"); // offense
	str = str.replace(/(oft)/g, "oſt"); // poste
	str = str.replace(/(ouiff)/g, "ouiſſ"); // jouissance
	str = str.replace(/(ouift)/g, "ouiſt"); // ouistiti
	str = str.replace(/(paff)/g, "paſſ"); // passe
	str = str.replace(/(pafſ)/g, "paſſ"); // passe
	str = str.replace(/(penf)/g, "penſ"); // pense
	str = str.replace(/(p(é|e)riff)/g, "p$1riſſ"); // périsse
	str = str.replace(/((P|p)arif)/g, "$1ariſ"); // Parisien
	str = str.replace(/(pefa)/g, "peſa"); // pesa, pesant
	str = str.replace(/(plaif)/g, "plaiſ"); // plaisir
	str = str.replace(/(poff)/g, "poſſ"); // possède
	str = str.replace(/(pof)/g, "poſ"); // pose, positif
	str = str.replace(/(ponf)/g, "ponſ"); // réponse
	str = str.replace(/((P|p)rifon)/g, "$1riſon"); // Prison, prison
	str = str.replace(/(puiff)/g, "puiſſ"); // puissant
	str = str.replace(/(puif)/g, "puiſ"); // puise, épuisant, mais pas puissant
	str = str.replace(/(pulf)/g, "pulſ"); // pulsion
	str = str.replace(/(r(é|e)uffi)/g, "r$1uſſi"); // réussir, réussite
	str = str.replace(/(r(é|e)fum)/g, "r$1ſum"); // résume
	str = str.replace(/(rfti)/g, "rſti"); // superstition
	str = str.replace(/(roff)/g, "roſſ"); // crosse
	str = str.replace(/(ro([iu])ff)/g, "ro$1ſſ"); // paroisse, paroissons, rousse
	str = str.replace(/(teffe)/g, "teſſe"); // comtesse
	str = str.replace(/(th(é|e)f)/g, "th$1ſ"); // thèse
	str = str.replace(/(tiff)/g, "tiſſ"); // tisse
	str = str.replace(/(tifon)/g, "tiſon"); // tison
	str = str.replace(/(tif(a|o)n)/g, "tiſ$1n"); // tisanne, tison
	str = str.replace(/(toif)/g, "toiſ"); // toise
	str = str.replace(/(trif)/g, "triſ"); // triste
	str = str.replace(/(ucheffe)/g, "ucheſſe"); // (Dd)uchesse
	str = str.replace(/(ufu)/g, "uſu"); // usuel
	str = str.replace(/(uiff)/g, "uiſſ"); // suisse
	str = str.replace(/(uffel)/g, "uſſel"); // mousseline
	str = str.replace(/(veff)/g, "veſſ"); // vesse, vessie
	str = str.replace(/((V|v)erf)/g, "$1erſ"); // Versailles, verse
	str = str.replace(/(vifi(b|o|t))/g, "viſi$1"); // visible, vision, visite
// RECTIFICATION FAUX POSITIFS
	str = str.replace(/(\bſuſſe)/g, "fuſſe");
	str = str.replace(/(fuſc)/g, "ſuſc");
	str = str.replace(/(\bſaçon)/g, "façon");
	str = str.replace(/(\bſaſſe)/g, "faſſe");
	str = str.replace(/(ſortifi)/g, "fortifi");
	str = str.replace(/(pr(é|e)fſ(a|é|e|i))/g, "pr$1ſſ$2");
	str = str.replace(/(moiſfon)/g, "moiſſon");
	str = str.replace(/(triſi(é|e))/g, "trifi$1");
    	return str;
  });
}

$.when(
	mw.loader.using( [ 'ext.gadget.Typo' ] ),
	$.ready
).then(
	mes_typos
);