Utilisateur:Cunegonde1/Typo.js
Apparence
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
);