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.
// Appliq transform typographiq sur portions textes
// sur lesquels il est sûr de travailler. Voir la var splitter.

function apply_regexp(defs, text)
{
  var lng = defs.length;
  if (lng % 2 != 0) {
     alert("Le nombre de regexp doit être pair");
     return text;
  }
  for (var i = 0; i < lng; i += 2) {
    search = new RegExp(defs[i + 0], "g");
    text = text.replace(search, defs[i + 1]);
  }
  return text;
}

function typographie_fragment(text) {

  var char_min = 'a-zéèàùâêîôûŷäëïöüÿçœæſ';
  var char_maj = 'A-ZÉÈÀÂÙÊÎÔÛŶÄËÏÖÏŸÇŒÆ';
  var char = char_min + char_maj;

  var bw = '([^' + char + ']|^)';
  var ew = '([^' + char + ']|$)';

  var typo_def = new Array(
     // Nouvelle regexp ici.
//pour chiffre elzevir (à décommenter en fonction du livre à corriger)
//     "([0-9 \\-])[iI]([0-9,\\. \\-])", "$11$2",
//     "([0-9])a([0-9,\\. \\-])", "$12$2",
//     "([ \\-])a([0-9])", "$12$2",
//     "([0-9 \\-])[j\\^]([0-9,\\. \\-])", "$17$2",
//     "([0-9 \\-])g([0-9,\\. \\-])", "$19$2",
//     "([0-9])o([0-9,\\. \\-])", "$10$2",
//     "([0-9])°([0-9])", "$10$2",


//=====A
     "([^ghk])[aâz][dé]t", "$1act", //aétite rare
     bw + "(A|a)(d|ei|éi|èi|eî|éî|èî|eï|éï|èï|él|Él|Èl|èl|èt|ét|6t|cl|ct|tL|û)[cez]([su, \\.])", "$1$2cte$4",
     "([aAeou])èf[cez]", "$1cte",
     "([blprt ’\n])[aâ](ct|ei|éi|èi|eî|éî|èî|eï|éï|èï|él|èl|èt|ét|6t|tL)é([ers])", "$1acté$3", 
     "([déjpx’ \n\\-])a(ei|éi|èi|eî|éî|èî|eï|éï|èï|él|Él|Èl|èl|èt|ét|6t|cl|ct|tL|d)i([bcdfloqtv])", "$1acti$3",
     "([cilrt \n\\-])a(ei|éi|èi|eî|éî|èî|eï|éï|èï|él|Él|Èl|èl|èt|ét|6t|cl|ct|tL)[il]([beflosv])", "$1acti$3",
     "([éflnopr’ \n\\-])(a|A)c[cilr][liîï]’?[fj]([éèisu \b])([^c])", "$1$2ctif$3$4",
     "([ ’])[aâdz][cdP][Hu][ou][nouU]", "$1action", 
     "([ ’])[aâdz]([cd][cirt]|[âû])i[ou][nouU]", "$1action", 
     "([^l])(A|a)(â|d|ei|éi|èi|eî|éî|èî|eï|éï|èï|él|èl|èt|ét|6t|ci|cl|cr|ct|tL|û)[iî][co]n", "$1$2ction",
     "([béfijlpst \n])(A|a)[dû][uU]([aemors])", "$1$2ctu$3",
     "([bcdeghiklmnprtuvxyz])[aâz][iïî][CfFîIjJlT/19\\(s][ce](s|)" + ew, "$1aise$2$3",
     bw + "(b|k|t|)[aâiz][iïîl][CfFîIjJT/19\\(s][ce](s|r|z|)" + ew, "$1$2aise$3$4",//pb balse
     "[aânz]([il]i|U)[ilrt]é(e|)(s|)" + ew, "alité$2$3$4",
     "[aân](iii|in|iu|m|ni|ui)[aânz][CfFiîïIjJLtT/19\\(s]’?[CfFîïIjJlLtT/19\\(s]’?([aâeéèiou])", "amass$2",//pas amalfi ni lamartine
     "[aân](iii|in|iu|m|ni|ui)[aânz][CfFiîïIjJlLrtT/19\\(s]’?[CFîïIjJlLT/19\\(s]’?([aâeéèiou])", "amass$2",//pas amalfi ni lamartine
     "àq", "à q",
     bw + "[aâinz][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ceéèêtz](iii|in|iu|m|ni|ui)[bh][il]", "$1assembl",
     bw + "A[CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ceéèêtz](iii|in|iu|m|ni|ui)[bh][il]", "$1Assembl",
     bw + "[aânz][CFiîïIjJLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ce][cir]([emotv])([eiîor])", "$1asser$2$3",
     bw + "A[CFiîïIjJLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ce][cir]([emotv])([eiîor])", "$1Asser$2$3",
     bw + "[aânz][CfFiîïIjJlLrtT/19\\(]’?[CFiîïIjJlLrT/19\\(]’?[ce][cir]([emotv])([eiîor])", "$1asser$2$3",
     bw + "A[CfFiîïIjJlLrtT/19\\(]’?[CFiîïIjJlLrT/19\\(]’?[ce][cir]([emotv])([eiîor])", "$1Asser$2$3",
     bw + "[aâz][CfiîïIjJlrtT1/19\\(s]’?[CfFîïIjJtT1/19\\(s]’?[ce]z" + ew, "$1assez$2",
     bw + "[aâz][CfFiîïIjJrtT/19\\(s]’?[lr][ce]z" + ew, "$1assez$2",//pb ailez airez
     "([lMp])[aâz][CfFîïIjJltT/19\\(][CfFiîïIjJltT/19\\(][iîïl][CfFîïIjJltT/19\\(]", "$1assif",
     bw + "[aâinz][CfFiîïIjJlLrtT/19\\(s]’?[CFiîïIjJLtT/19\\(s]’?[iîïIÎÏl]e([dntu])", "$1assie$2",
     bw + "[A4][CfFiîïIjJlLrtT/19\\(s]’?[CFiîïIjJLtT/19\\(s]’?[iîïIÎÏl]e([dntu])", "$1assie$2",
     bw + "[aâinz][CFîïIjJLtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[iîïIÎÏl]e([dntu])", "$1assie$2",
     bw + "[A4][CFîïIjJLtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[iîïIÎÏl]e([dntu])", "$1assie$2",
     "([mMpP])[aâz][CfFiîïIjJlrtT/19\\(][CfFiîïIjJlrtT/19\\(s][iîïl]v([aâeéèio])", "$1assiv$2",
     "[aâz][CfiîïIjJlrtT/1\\(s][CfFiîïIjJlrT/1\\(s][iîïÎÏl][co](ii|n)([^s])", "assion$2",//assion qq gentilités
     "([eérs \\-\n])[aâz][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[bco][cilrt][cilrt]([iî])([emrst])", "$1assort$2$3",
     "([eérs \\-\n])[aâiz][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[co][cilrt][cilrt]([iî])([emrst])", "$1assort$2$3",
     "[aâz][fîIjJl/1\\(][CfFîIjJT/1\\(][uU]([^btu])", "assu$1",
     bw + "(a|A)[CfFiîïIjJlLrtT/19\\(s]’?[CFîïIjJLrT/19\\(s]’?(ii|n|u|U)[ilrv]", "$1$2ssur",
     "([BcCfghmS \n])[aâz]u[CfFiîïIjJlrT/19\\(s][CFîïIjJT/19\\(s]", "$1auss",
     "([BcCfm \n])[aâiz]u[CfFiîïIjJlrtT/19\\(s]l", "$1auss",
     "([^x])(h|S)[aâiz]u[CfFiîïIjJlrtT/19\\(]l", "$1$2auss",
     bw + "[aâinrz](ii|n|u|U)[CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[iîïIÎÏl]" + ew, "$1aussi$3",
     bw + "A(ii|n|u|U)[CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[iîïIÎÏl]" + ew, "$1Aussi$3",
     bw + "[aâz](ii|n|u|U)([CfFiïîjJlLT/19\\(s]’?[CfFiïîIÏFjJlLrtT/19\\(s]’?|H|[O0])[îïiIÏl]([^deéèfnoq])", "$1aussi$4",//aussi aussitôt 
    "([il][cilrt]) ?[aâz](ii|n|u|U)([CfFiïîjJlLT/19\\(s]’?[CfFiïîIÏFjJlLrtT/19\\(s]’?|[O0])[îïiIÏl]([^deéfnoq])", "$1 aussi$4",
     bw + "[aâz](ii|n|u|U)[CfFiïîjJlLrtT/19\\(]’?([CfFiïîIÏFjJlLrtT/19\\(s]’?[îïiIÏ]|[lB])([^dceéèfinoq])", "$1aussi$4",
     " [aâz][uU][CfFiîIjJlT/1\\(][hH]", " aussi",//aussi, aussitôt
     bw + "(a|â|\\.?i|i\\.|z)(a|ii|u|ù|û)" + ew, "$1au$4",//« an » rare
     "([bceéfimnprsuvy])[aâi](iu|ui|ut)é", "$1auté",
//=====B
     "(b|B)[aânz](li|ll|U)[ce]", "$1alle",
     "(h|b)[il]v([aeio])([aqu])", "biv$2$3",
     "bU([aâceéèfgimnopqrstuz])", "bli$1",
     "(b|B|c)[co][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?(ii|u|U)[ce](r|s|)(a|)(i|)(e|o|)(ns|nt|s|t|z|)" + ew, " $1ossue$3$4$5$6$7$8",
     bw + "(b|B)[co](ii|n|u)[cilrtv]g(s|)", "$1$2ourg$4",
     bw + "(b|B)[co](ii|u)[ir][CfFiîïIjJLtT/19\\(s]’?([aâeéèio, \\.])", "$1$2ours$4",
     "([ceém])b[co](ii|n|u)[rv][CfFiîïIjJlLtT/19\\(s]’?([aâeéèio, \\.])", "$1bours$3",
//=====C
     "(c|C)[aânz][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJLT/19\\(s]’?[aâinz](ii|n|u)([dt])", "$1assan$3",
     bw + "(c|C)(b|h|li)[cilrtv][ceé]([mt])([aceiz])", "$1$2hré$4$5",
     bw + "(c|C)l[aânz][CfFîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ce]([mnrsuz, \\.])", "$1$2lasse$3",
     bw + "(c|C)[il][aânz][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLtT/19\\(s]’?[ce]([mnrsuz, \\.])", "$1$2lasse$3",
     "(c|C)[co](ii|n|u)(ii|n|u)[co][il][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLtT/19\\(s]’?([aeio])", "$1onnoiss$4",
     "(c|C)[co](ii|n|u)(ii|n|u)[co][il][CfFiîïIjJlLrT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?([aeio])", "$1onnoiss$4",
     bw + "(c|C)[ceo][cilrtv]ps" +ew, "$1$2orps$3",
//=====D
     bw + "[àdèòA4][ceé][CFiîïIjJlLrtT/19\\(s]’?[iîïIÎÏl][cirv](s|)" + ew, "$1désir$2$3",
     bw + "[àdèòA4][ceé][CFiîïIjJLrT/19\\(s]’?[iîïIÎÏl][cirt](a|â|e|é|è|)(b|r|s|u|)(a|i|m|s|)(l|)(i|t|)(e|é|o|)(n|u|)(n|r|t|)(e|é|)(s|t|x|z|)" + ew, "$1désir$2$3$4$5$6$7$8$9$10$11$12",
     bw + "[àdèòA4][ceé][CFiîïIjJLrlT/19\\(s]’?[iîïIÎÏl]r(a|â|e|é|è|)(b|r|s|u|)(a|i|m|s|)(l|)(i|t|)(e|é|o|)(n|u|)(n|r|t|)(e|é|)(s|t|x|z|)" + ew, "$1désir$2$3$4$5$6$7$8$9$10$11$12",
     bw + "[àdèòA4][ceé][CFiîïIjJlLrlT/19\\(s]’?[iîïIÎÏl]r(è|)(b|r|s|u|)(i|m|s|)(l|)(i|t|)(n|u|)(n|r|t|)(s|t|x|z|)" + ew, "$1désir$2$3$4$5$6$7$8$9$10",
     " [àdA4][ceéo][CFiîïIjJrT/19\\(][iîïl][cilrt]([aâceéèio,\\. ])", " désir$1",
     bw + "[àdèòA4][ce](a|ii|n|u|ù|û)x" + ew, "$1deux$3",
     bw + "(d|D)[il][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[co](ii|n|u)([aâeéèio])", "$1$2isson$4",
     "([aéinru])[àdèòA4][il][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJLrtT/19\\(s]’?[co](ii|n|u)s([,\\.\\-]|)", "$1dissons$3 ",
     "([aéinru])[àdèòA4][il][CfFiîïIjJLrtT/19\\(s]’?l’?[co](ii|n|u)s([,\\.\\-]|)", "$1dissons$3 ",
     bw + "[àdèò4](mu|[co](ii|n|u)[ilrt])" + ew, "$1dont$4",
     bw + "[àdèò4][co](ii|n|u)c" + ew, "$1donc$3",
     bw + "[aàdèòA4][co](a|ii|u|ù|û)z", "$1douz",//Phe1
//=====E
     "([A-ZÉÈÀÂÙÊÎÔÛŶÄËÏÖÏŸÇŒÆ])£([A-ZÉÈÀÂÙÊÎÔÛŶÄËÏÖÏŸÇŒÆ])", "$1E$2",
     "Ec[co][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ce]" + ew, " Ecosse$1",
     bw + "[ceé]c[co][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJLrtT/19\\(s]’?([aâeéèio])", "$1écoss$2",
     bw + "[ceé]c[co][CfFiîïIjJLrtT/19\\(s]’?l’?([aâeéèio])", "$1écoss$2",
     "([fjlLmnprRsStvV])[ce](ct|d)[ce](ii|n|u|U)[cilr](s|)", "$1ecteur$4 ",
     bw + "[ce](ii|n)[CfFiîïIJlLrtT/19\\(]’?[aânz](ii|n)([cçt])", "$1enfan$4",
     "[ceé]p(a|n|z)[il][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJLtT/19\\(s]’?([eèiî])", "épaiss$2",
     "[ceé]p(a|n|z)[il][CfFiîïIjJLT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?([eèiî])", "épaiss$2",
     "([^u])[ce][CfFîîjJltT/19\\(s]’?[jq](ii|n|u|U)", "$1esq$2",//desq presq →data2.js lesq →infra
     bw + "(e|E)[CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLtT/19\\(s]’?[aâinz]i([emst, //.])", "$1$2ssai$3",
     bw + "[ce][CfFîïIjJlLtT/19\\(s]’?[CfFiîïIjJlLtT/19\\(s]’?[aâinz]i([emst, //.])", "$1essai$2",
     bw + "[ce][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLtT/19\\(s]’?[aâinz]i([m, //.])", "$1essai$2",
     "([cdéflr])e[CfFiîïIjJlLrtT/19\\(s]’?[CFîïIjJLT/19\\(s]’?[aânz]i", "$1essai",
     "([cdéflr])[ce][CfFîïIjJlLrtT/19\\(s]’?[CFîïIjJLT/19\\(s]’?[aâinz]i", "$1essai",
     "(e|E)x[ce](iii|in|iu|m|ni|ui)p[ilL]", " $1xempl",
//=====>Lettre f
     " (F’|P\\^)(..)([^ ,\\.\\-\b])", " V$2$3",
     "[CfîIjJl/1\\(][aârz][crt][crt][iï][cou][nu]", "faction",
     " [fîIjJlsT/1\\(][aârz][c][iïî]([aeèlo])", " faci$1",
     bw + "[fiîïjIl/1\\(][aâiz](h|ir)[ce]" + ew, "$1faire$3",
     " [fiîjIl/1\\(][aâz]i[fiIl/1\\(]a", " faisa",
     " [fiîjIl/1\\(][aâz]i[fiIl/1\\(]oi", " faisoi",
     " [fiîjIl/1\\(][aâz]ir([aos])", " fait$1",
     " [fiîïIjJlt/1\\(][aâz]m[ce][u]", " fameu",
     "([aeéfiorsu ])[CfFiîïIjJrtT/1\\(][aâz][CFîïIjJlrtT/1\\(][CfFîïIjJT/1\\(][ceéèê]([ns,\\. ])", "$1fasse$2",
     "([^r])f[aâz]u[CfiîïjJltT/1\\(][CfFiîIjJltT/1\\(]([aâeéèiou])", "$1fauss$2",              
     " [fî]([aei])[CfîI/1\\(][CfFiîIl/1\\(][ceéèê]([s, \\.])", " f$1sse$2",//pas "fille"
     "[CfîIJ/1\\(][aâz]([nu])[cilrt]" + ew, "fa$1t$2",    
     "[CfîïIjJT/1\\(][aâz]([nu])[cirt]s" + ew, "fa$1ts$2",    
     "([ -])[CfiîïIjJlrtT/1\\(][aâiz][nu]x([, -\\.])", "$1faux$2", 
     "([ no])[CfiîïIjJltT/1\\(][eéèê][CfFiîïIjJltT/1\\(][CfFiîïIjJrtT/1\\(][îïi]([ceèo])([nrz])", "$1fessi$2$3",     
     "fe[CfîïIjJT/1\\(](s|t)", "fes$1",     
     "([^an])(.)[fîIjJlt/1\\(][ce][il]s([^cfhst, \\.\\-])", "$1$2fess$3",     
     "[fî][iïî]cr([s, \\.])", "fier$1",
     " hn" + ew, " fin$1",
     "H[ce][nouU]r([s,\\. ])", "fleur$1",
     "[fiîIjJlT/1\\(][co][crt]m(^ao[])", "form$1",
     "[fiîIjJlT/1\\(][co][icrt][icrt][nuU][nu][ce]([s,\\. ])", "fortune$1",
     bw + "[fFiîïIjJlrT/19\\(][crt][co][iîï][CfFiîïIjJlrtT/19\\(s][CfFîïIjJlrtT/19\\(s]([aâeéèiou])", "$1froiss$2",//pb Troisfontaines
     "([eén])[CfFiîïIjJlrtT/19\\(][crt][co][iîï][CfFiîïIjJlrtT/19\\(][CfFîïIjJlrtT/19\\(]([aâeéèiou])", "$1froiss$2",
     "([eéfu \\-\n])[fîïIjJlT/19\\(][crlt](ii|n|u|U)i[cilrt]([aâeéèios, \\.])", "$1fruit$3",//Affine alluiion→afruiton 
//=====G
     "([aénru])g[il][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ceéèêë](iii|in|iu|m|ni|ui)[ce]", "$1gisseme",
     "([aeéc])[go][il][CfFiîïIjJlLrtT/19\\(s]’?[cîïIlrt][cilrtv]([aâceéèio])", "$1gistr$2",
     "([aeéc])[go][il][CfFiîïIjJLtT/19\\(s]’?[ciîïIlrt][cilrtv]([aâceéèio])", "$1gistr$2",
     "([aceéilnoru])g(ii|u|U)[ce][cr]" + ew, "$1guer$3",
//=====>Lettre h
     "([pt])hc([s,\\. ])", "$1he$2", 
     "hcu", "heu", 
     "hca", "lica", 
     "(b|p)h(g|q)", "$1li$2",
     "[EHU][iïî][CfFîijIT/19\\(s]’?[cfîlrt]\\.? ", "Hist. ",
     "([ ’\\-])(H|h)[iîïl][CfFîïIjJrtT/19\\(s]’?[cilrt]([eior\\.])", "$1$2ist$3",
     "([acdeéinopstw])h[iîïl][CfFîïIjJrtT/19\\(]’?[clt]([eior\\.])", "$1hist$2",
     "([adeéinow ’\\-])(H|h)[iîï][il/19\\(]’?[clrt]([eior\\.])", "$1$2ist$3",
     "[EHU]i[fiîjJls/1\\(][cilrt][coû][iïî]r[ce]([,\\. ])", "Histoire$1",
     bw + "([hH])o[CfîijIT/1\\(]", "$1$2os",//pas "hol"
//=====I
     "(i|I)[il] ?(ii|n|u)[ce] ?[CfFiîïIjJlLrtT/19\\(s]’?[ce] ?[àdèòA4][il][cilrt] ?q", " $1l ne se dit q",
     "([acemtu])iUi", "$1illi",//d'autres lettres $1 à trouver
     "[il](ii|n|u)[CFiîïIJlLrtT/19\\(s]’?[ceéè](d|ei|éi|èi|eî|éî|èî|eï|éï|èï|él|Él|Èl|èl|èt|ét|6t|cl|ct|tL|û|c[cilrt])([cei])", "insect$3",
     "I(ii|n|u)[CFiîïIJlLrtT/19\\(s]’?[ceéè](d|û|c[cilrt])([cei])", "Insect$3",
     bw + "[iïî][nu](Û|[CfFîïIjJlLrtT/19\\(s]’?t)", "$1inst",
     bw + "I[nu](Û|[CfFîïIjJlLrtT/19\\(s]’?t)", "$1Inst",
     bw + "j[nu](Û|[CfFiîïIjJlLrtT/19\\(s]’?t)[clrtv]", "$1instr",
     "[iïî][nu](Û|[CfFïIjJlLrtT/19\\(s]’?t)", "inst",
     bw + "(i|I)(ii|n|u)[cilrt][cilrtv][co]([diïjmnsuv\\-])", "$1$2ntro$4",
     "[il]p(h|li)(ii|n|u)[ce]", "ipline",
     "([bdmnpv])i[CfFiîïIjJlLrtT/19\\(s]’?c[il]([bcdefnopstv])", "$1isci$2",
     "[il][CfFiîïIjJLrtT/19\\(s]’?[CfFîïIjJlLrT/19\\(s]’?[aâinz](ii|n|u)c[ce](s|)", "issance$2 ",
     "[il][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJLrT/19\\(s]’?[aâinz](ii|n|u)c[ce](s|)", "issance$2 ",
//=====J
     "J[co][CfFiîïIjJlLrtT/19\\(s]’?(ii|n|u|U)[ceé]" + ew, " Josué$2",//Josnes
//=====L
     "(c|p)l[aânz](ii|u|U)[CfFiîïIjJlLrtT/19\\(s]’?([aâeèiotu])", "$1laus$3",
     bw + "(l|L)[ce][CfFiîïIjJlLrtT/19\\(]’?q", "$1$2esq",
     "[iIl][ce][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[iîïIÎÏl]v", "lessiv",
     "([abceéfgiloôpu])(U|li)[ce][clrtv](a|s|)" + ew, "$1lier$3$4",
     bw + "(l|L)[co][cilrt][CfFiîïIjJlLrtT/19\\(s]’?q[ou](’|e)", "$1$2orsqu$3",
     "([ e\n])(l|L)(ii|n|u|U)i[CfFiîïIjJlLtT/19\\(]’?([aeéèio])", "$1$2uis$4",//pb luites
//=====M
     "(iii|in|iu|m|ni|ui)[aâiz][CfFiîIjJlLtT/19\\(]’?q", "masq",//pb malquinier
     "(M|\\.?Vî)[ceé](ii|u|n)[aâinz]g[cez]" + ew, "Ménage$3",
     "([aio])(iii|in|iu|m|ni|ui)p[cilrv][ce](ii|n|u)([adeinot])", "$1mpren$4",
     "(iii|in|iu|m|ni|ui)[co][clrtv][CfFiîïIjJlLrtT/19\\(s]’?(ii|n|u|U)[clrtv][ce]", " morsure",
     "(iii|in|iu|m|ni|ui)[co][cirtv][CfFiîïIjJlLtT/19\\(]’?(ii|n|u|U)[cilrtv][ce]", " morsure",
     bw + "(m|M)[co](ii|n|u|U)[CfFiîïIjJlLrtT/19\\(]’?[CFîïIjJLT/19\\(]’?[ce]([lnrstuz])", "$1$2ousse$4",
     bw + "(m|M)[co](ii|u|U)[CFiîïIjJLT/19\\(]’?[CfFîïIjJlLrtT/19\\(]’?[ce]([lnrstuz])", "$1$2ousse$4",
//=====N
     bw + "(n|N)[co](d|ei|éi|èi|eî|éî|èî|eï|éï|èï|él|Él|Èl|èl|èt|ét|6t|cl|Cl|ct|Ct|tL|û)(ii|n|u)", "$1$2octu",//Phe1
     bw + "[CfFiîïIjJLtT/19\\(s]’?(a|â|i|n|z)v[co](ii|n|u)s", "$1avons",//avant la regexp suivante
     "(ii|n|u)[co](ii|n|u|U)s ?([bcghlps]|)(a|\\.i|i\\.|n|z)([çlrvxy])[co](ii|n|u)s ?", " nous $3a$5ons ",
     "([eio])(ii|n)[lrt][irt]i([bceèflnopqt])", "$1ntri$3",
//=====O
     "[co][bl]i[CfFiîïIjJlLrtT/19\\(s]’?c", "obisc",
     "(n|N|v|V)[co]h[il][CfFiîïIjJlLrtT/19\\(s]’?c", "$1obisc",
     "([é’ \n])([oO])bl[ceéèê]([nsqr])", "$1$2bse$3",
     "[ceo][ceo][ceo][aâz][CfFiîïIjJlrtT/1\\(][iîï][ceo]", "occasio",
     "[O][ceo][ceo][aâz][CfFiîïIjJlrtT/1\\(][iîï][ceo]", "Occasio",
     "[CO][ceo][ceo][aâz][CfFiîïIjJlrtT/1\\(s][iîï]", "Occasi",
     " [co](ei|éi|èi|eî|éî|èî|eï|éï|èï|él|èl|èt|ét|6t|ci|cl|cr|ct|tL|d)a(^lis)", " octa$1",//octave octane   
     "(o|O)[CfiîïIjJrtT/1\\(][CfFiîïIjJlrtT/1\\(]ic([ei])", "$1ffic$2",
     "oi[cez]n[crt]", "oient",//finale de verbe 
     "([^cCrRsf])oi[CfîïIjJT/1\\(]", "$1ois",
     "([bcçhmMnqr \n])oi[CfiîjJlT/1\\(s][cez]([alru, \\.\b])", "$1oise$2",//oiseau croiser mais aussi croiler, verbe rare
     "([^tT])([pr])o[il][CfiîïjJlLrtT/19\\(s][CfFiîïIjJlLrtT/19\\(s][ceéèê]m[ce]", "$1$2oisseme",//pas crucifiement 
     "o[lJ]t" + ew, "oit$1",//finale oit
     "oUe(d|ét|ct)", "ollect",
     "[co]n(dl|ei|eî|eï|éî|éï|él|èl|6t|ci|cl|ct)i", "oncti",//pas (ii|n|u)
     "[cou]nn[cez]([s, \\.])", "onne$1",
     "(oimu|omiu)", "onnu",//reste à contrôler les variantes de "o" et de "u"
     "([^c])[co][CfFiîïIjJlrtT/19\\(][aâz]ï", "$1osaï",                 // pb octaïeul
     "o[fs/1\\(][ce]" + ew, "ose$1",               //Exception : lofe ; pas de "s"final sinon pb ofes->oses
     bw + "(o|O)[fîïjJltT/1\\(][ce]", "$1$2se",          //otelle rare, pas oie
     "o[f/1\\(]oi", "osoi",                                
     "([^bcls])otc([^h])", "$1ote$2",
     "([^cEeÉénou])(c|o)(ii|ti|u|U)([x, \\.\b])", "$1ou$4",                    // -cUx → -eux plus haut ;  pas"s" car finales "us" latines
     bw + "([cCdDpPrR])ou[CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?(in|iu|m|ni|ui)(s|)" + ew, "$1$2oussin$4$5",
     "(o|O)[nu]e[CfFiîïIjJlrtT/19\\(][cilrt]" + ew, "$1uest$2",
     "([^bc])([co])([nu])[cirt][aâz][bh][iîïl/1\\(][ceo]", "$1$2$3table",
//=====P
     bw + "(P|p)[aâz][cilrt][cilrt][iïîl]c([iru])([^ade])", "$1$2artic$3$4",
      "(p|P)[aânz][lrv][ct][il][ce]([lsz, \\.])", "$1artie$2",
      "(p|P)[aânz][lv][crt][il][ce]([lsz, \\.])", "$1artie$2",
     "(P|p)[aâz]r[tr][iïî]([nrts, \\.\b])", "$1arti$2",
      bw + "(p|P)(a|â|\\.?i|n|z)[CfFiîïIjJlLrtT/19\\(s]’?[crt][ce](ii|u|U)[cilrtv]", "$1$2asteur",
      bw + "(p|P)(a|â|\\.?i|n|z)[CfFiîïIjJlLtT/19\\(]’?[il][ce](ii|u|U)[cilrtv]", "$1$2asteur",
     "(p|P)([anz]t|cu)[ce][citrv]([aeino, \\.])", "$1ater$3",
     "([uy])p[ce][cilrtv][CfFiîïIjJlLrT/19\\(]’?[iîïIÎÏl]([cdn])", "$1perfi$2",
     "(p|P)[clrtv][ce][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJlLrT/19\\(s]’?[ce]", "$1resse",
      "(p|P)(ii|iî|n|u|U)(ii|n|u)[il][CfFiîïIjJlLrtT/19\\(s]’?[CfFîïIjJlLrtT/19\\(s]’?([aeio])", "$1uniss$4",
//=====Q
     "qu[aâinz](h|ii|li|ll)[CfFiîïIjJlLrtT/19\\(]’?[iîïÎÏIl]", "qualifi",
//=====R
     "([aou])[cilrtv](dni|[àèòA4][il][nu])[ainz]([gilnrstu])", "$1rdina$3",
     "([acCdeéopPrtTu])[cirv]i[ce](ii|n|u|U)[irv](e|)(s|)" + ew, "$1rieur$3$4$5",
     "([ceéfp])[cilrtv]i[CfFiîïIjJlLrtT/19\\(s]’?[co&](ii|n|u)" + ew, "$1rison$3",
     "([acéfhotuy])[cirv]i[CfFiîïIjJlLrT/19\\(s]’?[îïrt][il]([acemnosq, \\.])", "$1risti$2",
     "(r|R)[co][bh](ii|n|u|U)[CfFiîïIjJlLrtT/19\\(s]’?[cilrt]([cei])", " $1obust$3",
     bw + "[ilrt][co][CfFiîïIjJlLrtT/19\\(s]’?[ceé][ce]" + ew, "$1rosée$2",
     "([aélmp ])([ceéprv])[rt][co][CfFîïIjJlLrT/19\\(s]’?[ceé][ce]" + ew, "$1$2rosée$3",
//=====S
     " ?& ?h ", " & si ",
     "([iu])[CfFiîïIjJLT/19\\(s]’?[aânz][il][il][il][ce]", "$1saille",//boustifaille
     "[fîiIjJlT/1\\(][aâz]i[CfîiIjJlT/1\\(][ce]([s, \\.])", "saise$1",  //revoir
     bw + "[fFiîïIjJlL/19\\(]’?[aâinz]l(ii|n|u)([aâbeéèiot])", "$1alu$3",
     bw + "[fFiîïIjJlL/19\\(]’?[aâinz][il](ii|u)([aâbeéèiot])", "$1alu$3",
     bw + "[CfFiîïIjJlLrtT/19\\(s]’?[aâinz](ii|n|u|U)[CfFîïIjJlLT/19\\(]’?(s|)", "$1sauf$3",
     bw + "[iîïIjJlrtT/19\\(s]’?[aâinz](ii|u|U)[cit][ce]([lnrsuz, \\.\\-])", "$1saute$3",
     bw + "[CfFiîïIjJlLrtT/19\\(s]’?[ce](iii|in|iu|m|ni|ui)[aâinz][il](l|n|s|t)", "$1semai$3",//Phe1
     "([n \n])[CfFiîïIjJlLrtT/19\\(s]’?[ce](iii|in|iu|m|ni|ui)[ce](ii|n|u)([cç])([aâeéèio])", "$1semen$4$5",
     bw + "[CfFiîïIjJlLrtT/19\\(s]’?i[CfFiîïIjJlLrtT/19\\(]’?(H|[CfFiîïIjJlLrtT/19\\(]’?l)([aâeéèio])", "$1siffl$3",
     bw + "[CfFiîïIjJlrtT/19\\(s]’?[il]g(ii|n)[aâinz]([gilnsu])", "$1signa$3",
     "S[il]g(ii|n|u)[aâinz]([gltsu])", "Signa$2",
     "(d|[CfFiîïIjJlLrtT/19\\(]’?i)t[coô][cilt]([^aenors])", "sitôt $2",
     bw + "[CfFiîïIjJlLrtT/19\\(s]’?[co]i[CfFiîïIjJLT/19\\(]’?(s|)", "$1soif$2",
     bw + "[fFiîïIjJlr/19\\(s]’?[co](iii|in|iu|m|ni|ui)(iii|in|iu|m|ni|ui)([aâeéèio])", "$1somm$4",
     "([ens])[CfFiîïIjJlLrtT/19\\(s]’?[co](iii|in|iu|m)(iii|in|iu|m|ni|ui)([aâeéèio])", "$1somm$4",
     bw + "[CfFiîïIrtT/19\\(s]’?[co][cit][ct][ce](s|ment|)" + ew, "$1sotte$2$3",
     "[fFiîïIjJlLrt/19\\(s]’?[co](ii|n|u|U)[CfFiîïIjJlLrtT/19\\(]’?[CfFîïIjJlLrtT/19\\(]’?[crtv]([aeiîo])$2", "souffr",//foutîtes joutîtes sourîtes
     "[CîïIjJlLtT/19\\(s]’?[co](ii|n|u)[il][aâinz]g([ceéèi])", " soulag$2",
     bw + "[iîïIjJlLrtT/19\\(s]’?[co](ii|n|u|U)[cilrt][aânz](ii|n|u)[ce]", "$1soutane",
     bw + "f’?[co](ii|u|U)[cilrt][aâinz](ii|n|u)[ce]", "$1soutane",
     bw + "S[co](ii|n|u|U)[cilrt][aâinz](ii|n|u)[ce]", "$1Soutane",
     bw + "S(ii|n|u)[il][CfFiîïIjJlLrtT/19\\(s]’?[CfFiîïIjJlLrtT/19\\(s]’?[ce](s|)" + ew, "$1Suisse$3$4",
     bw + "[CfFiîïIjJlLrtT/19\\(s]’?(ii|n|u|U)[cilrtv][co][bh]([aio])([ifnru])", "$1surch$3$4",
     "([^ceémou])[CfFiîïIjJlLrtT/19\\(s]’?(ii|n|u|U)[cilrtv][co][bh]([aio])([ifnru])", "$1 surch$3$4",
     "S(ii|n|u|U)[cilrtv][co][bh]([aio])([ifnru])", " Surch$2$3",
//=====T
     bw + "[cilrt][cez](iii|in|iu|m|ni|ui)ps" +ew, "$1temps$3",
     bw + "T[cez](iii|in|iu|m|ni|ui)ps" +ew, "$1Temps$3",
     "([aâeégiîlmnoôrstu])[it]i[ce][cirv]([aceés]|)" +ew, "$1tier$2$3",
     "([aâceéêinoprtu])[it]i[CFiîïIjJLT/19\\(s]’?[ce](r|s|z|)" + ew, "$1tise$2",
     "([aâceéêinoprtu])t[il][CFiîïIjJLT/19\\(s]’?[ce](r|s|z|)" + ew, "$1tise$2",
     "[cilrt][cilrtv][aâinz](ii|u)[CfFiîïIjJlLtT/19\\(s]’?l[aânz]", "transla",
     "[cilrt][cilrtv][aâinz](ii|n|u)[CfFiîïIjJlLrtT/19\\(s]’?p[co][cilrtv][cilrt]", "transport",
     "T[cilrtv][aâinz](ii|n|u)[CfFiîïIjJlLrtT/19\\(s]’?p[co][cilrtv][cilrt]", " Transport",
//=====U
     "[uU][aâz][CfFiîïIjJlT/19\\(][CfFiîïIjJtT/19\\(][ceéèê]", "uasse",
     "[uU][aâz][rt/19\\(][CfFîïIjJl/19\\(][ceéèê]", "uasse",
     "ub[CfîïjJIlrstT/1\\(][cilrt][aâz][nu][ilrt]([eis, \\.])", "ubstant$1",
     "([^s])u(ei|éi|èi|eî|éî|èî|eï|éï|èï|él|èl|èt|ét|6t|ci|cr|tL)i[co]", "$1uctio",
     "([dr])[nu][c][cirt]i[ou][nouU]", "$1uction",
     "([dr])[nu][c]H[ou][nouU]", "$1uction",
     "u[ce][CfFiïîjJltT/1\\(]c[ce]", "uesce",
     "([^BbeMmor])uh", "$1uli",
     "([^cefghoq])ui[cir]([^aehioqy])", "$1uit$2",
     "([’ \\-])(im|uii)([es, ])", "$1un$3",
     "[nuU]r[àAd] ", "urd’",
     "([cenos])[uU][cirt][CFîïIjJT/19\\(][ce]([almnorsuz \\-\b])", "$1urse$2",
     "([cen])[uU][cirt]f[ce]([almnorsuz])", "$1urse$2",
     bw + "[uU][fîlt/1][aâz]", "$1usa",
     "e[nouU]f[ce]" + ew, "euse$1",
     bw + "[uU]l[aâz]", "$1usa",
     "(’| |\n)(u|U)[CfFiîïIjJltT/19\\(][aâz]", "$1$2sa",
     "u[CfiïîjJltT/1\\(]cl([aâeéèio])", "uscl$1",     //muscl[^cot]u[CfiîïIjJtT/1\\(]i[co][nu]s
     "[uU][CfFiîïIjJltT/19\\(][ceè]b", "usèb",
     "[uU][îIjJLT/1\\(s][ce]" + ew, "use$1", 
     "u[CfîïIjJT/1\\(]em", "usem",                
     "([^cdfghijklnpqrsuvwxyz])uiem", "$1usem",                
     "([^cdfghijklnpqrsuvwxyz])utem([^e])", "$1usem$2",                
     "([^cdfghijklnpqrsuvwxyz])ulem([^eo])", "$1usem$2",           
     "(u|U)fé" + ew, "$1sé$2",     //"esbroufé ; maufé" possibles mais exceptionnels   u[CfîïIjJT/1\\(]em
     "(u|U)f[ce]r", "$1ser",
     "(u|U)[CfFiîIjJT/1\\(][iî]n([,. ])", "$1sin$2",     //finales usin sans pluriel car fins, confins, biffins, surfins
     "([’beéflmor ])(u|U)[CfFiîIjJT/1\\(][iî]n([aâeéèios, \\.])", "$1$2sin$3",
     "([^r])([abcdeéflmorst])(ii|u|U)[CfFiîïIjJT/19\\(][iîïIÎÏ][co][nu](s|)?([, \\.\\-])", "$1$2usion$4$5", 
     "([^acfgjknpqstvwxyz])([énsu])([CiîïIjJT/19\\(s][iîïI]|h)[ct]([eé])", "$1$2sit$4",         //pas "bénéfice israélite"
     "([^acdfgjklnpqrstvwxyz])([éu])(f[iî]|h)[clrt]([eé])", "$1$2sit$4",
     "([aei])n([CfIjJT/1\\(][iî]|h)[rt]([eé])", "$1nsit$3",   
     "([^abcdfgjkmnpqstvwxyz’ \n])é([CiîïIjJltT/19\\(][iîï]|h)[lt]([eé])", "$1ésit$3",
     "u[fjJIl/1\\(]q", "usq",
     "([aor])u[CfFiîïIjJltT/19\\(][cfilrt][iîïl]q", "$1ustiq",     //pb foutriquet
     "([abceéfmnors’ \n])u[CfFiîïIJT/19\\(]u([eflmrs, \\.])", "$1usu$2",
//=====V
     "v[aâz]n[fîilr]" + ew, "vant$1",//revoir
     " v[aâz][lrt][ce]([s,. ])", " vase$1",//revoir
     "([ eénCfiîïjJrstT/1\\(])v[aâz][CfFîïjJT/1\\(][ce]([s,\\. ])", "$1vase$2",//revoir
     bw + "(v|V)[aâinz][fFiîïIjJL/19\\(]’?[cilt]([ei])", "$1$2ast$3",
     "v[ce](ii|n|u)[co][il][cilrt]" + ew, "venoit$2",
     "[vy][ceo][cilrt]b[ce]", "verbe",//revoir
     "ver[l1]", "vers",//revoir
     "v[ce]r[fî]é", "versé",//revoir
     "([idr])[vy][ce][cilrtv]s[ail][cilrt][ceé](s|)" + ew, "$1versité$2$3",
     "[vy][ce][cilrtv]s[il][cilrt][ceé](s|)", "versité$1 ",
     "v[ce][CfFiïîjJltT/1\\(]c[ce]", "vesce",//revoir
     "v[ce][cirv][cilrt]([ceè])([br])([er])", "vert$1$2$3",
     "([^v])(.)(v|V)[iïîl][CfFiîïIjJT/19\\(][iïîl]([beot])", "$1$2$3isi$4",//revoir
     "vi[CfîjJTl/1\\(]([aâz])([^i])", "vis$1$2",//matche «vilayet, évilasse» (très rare)J^oyeç //revoir
     "vi[CfîjJT/1\\(]([eé])", "vis$1",     //pas "l" -> "s"     : ^oye : ^//revoir
     "(v|V)[clrtv][aâinz]i[CfFiîïIjJlLrtT/19\\(s]’?([ceéèêoòô])", "$1rais$2",

     " ([, \\.\\-])", "$1",

//=====exécuter après le S
     "([aâèëêiou])cc" + ew, "$1ce$2",               //finales ce
     "([^Dx])([^e])c[ctz](s|)" + ew, "$1$2ce$3$4",      //finales ces | pas Dict.
     "( |\n)e[ceoz](s|)?" + ew, "$1ce$2$3",
     "( |\n)c[ceotz](s|)?" + ew, "$1ce$2$3",
     "([Cc])[co]n[CfFiîïIjJlrtT/19\\(][clt][aâz]n([^as])", "$1onstan$2",
     "([^bBdcCfFGjJlmMnpPtT’ es])[ceo](ii|u|U)r(s|)([\\', \\.])", "$1eur$3$4",          //finale "eur" gentilités avec eurs[a-z] ou queurser
     "([BCGMT’e])[ceo][uU]r(s|)([\\', \\.])", "$1our$2$3",

     //spécifique au Trévoux  l^oy. ^^oye : ,
     "Voyez", "VoXXXXXyez",//évite de transformer les Voyez, transformation inverse faite plus loin
     "([ \\.])[fFKlNPrTV][\\^’]?[bcoûq][jvy>//)] ?\\.", "$1''Voy.''",
     "([ \\.])[fFKNPrTV][\\^’]?[bcoûq][jvy>] ?[cefrtz]’? ?\\: ?\\(?[T7\\:\\;\\-çïix\\^]", "$1''Voyez''",
     "([ \\.])[fFKNPrTV///l][ \\^’]?[bcoûq][jvy>//)] ?[cefrtz<] ?[\\?’]? ?[T7\\:\\;\\-çïix\\^] ?[\\[\\}\\:\\;\\^]? ", "$1''Voyez'' ",
     "([ \\.])[fFKNPrTV][\\^’]?[bcoûq][jvy>] ?[cefrtz]’?\\-[\\[\\}\\:\\;\\^]", "$1''Voyez''",
     "([ \\.])[fFKNPrTV][\\^’]?[bcoûq>][jvy] ?[cefrtz]’?\\-[\\[\\}\\:\\;\\^]", "$1''Voyez''",
     "([ \\.])[fFKNPrTV][\\^’]?[bcoûq][jvy>] ?[cefrtz]’?\\-\\[", "$1''Voyez''",
     "([ \\.])[fFPT][\\^’]?[bcoûq][jvy>] ?[cefrtz]’?[z\\:\\-çix\\^]?[^us] ", "$1''Voyez'' ",      //éviter "fcvcs = fèves ; foveur = faveur"/bve^
     "[T/][\\^’]?\\^?[bcoûq][jvy>] ?[cefrtz][\\^’]? ?\\? ?[zx\\:\\;\\-] ?[\\[\\:\\;]?", "''Voyez'' ",
     "[T/l][\\^’]?\\^?[bcoûq][jvy>] ?[cefrtz][\\^’]? ?[zT7\\:\\;çïix\\^]", "''Voyez''",
     "[T/][\\^’]?[bcoûq][jvy>] ?[cefrtz]’? ?\\?? ?[xz\\:\\;\\-] ?\\;?", "''Voyez'' ",
     " [PpTr][\\^’]?[bcoûq][jvy>] ?[cefrtz]i?i?’?\\^?[xz]?", " ''Voyez''",//pas « Nove »
     " [NPpTr][\\^’]?[bcoûq][jy>] ?[cefrtz]i?i?’?\\^?[xz]?", " ''Voyez''",//pas « Nove »
     "\\^?/’?\\^?[bcoûq][jvy>] ?[cefrtz]’? ?[\\:iï]?[çïj]? ?[xz\\:\\;\\-]?[,\\[\\}\\:\\;\\^]", "''Voyez''",
     "\\^/?[bcoûq][jvy>] ?[cefrtz][ ’]?[\\:iï][çïj]? ?[xz\\:\\;\\-]?[\\[\\}\\:\\;\\^]", "''Voyez''",
     "J\\^/?[bcoûq][jvy>] ?[cefrtz][ ’]?[\\:çïj][ xz\\:\\-]?[\\[\\}\\:\\;\\^]?", "''Voyez'' ",
     "\\^? ?/?\\^[bcoûq]’?[jvy>] ?[cefrtz]’? ?[çrxz\\:\\-] ?[,\\[\\}\\:\\;\\^]", "''Voyez''",
     "([ \\.])[fFJKPrTV]’?\\^[bcoûq][jvy>][cefrtz]’? ?[xz\\:\\-çi\\^]?", "$1''Voyez''",//pas « Nove »
     "([ \\.])[fFJKNPrTV]’?\\^[bcoûq][jy>][cefrtz]’? ?[xz\\:\\-çi\\^]?", "$1''Voyez''",//pas « Nove »
     "([ \\.])[fFJKPrTV]’?[bcoûq][jvy>] ?[cefrtz]’?\\^?[^st] ", "$1''Voyez'' ",//éviter "fcvcs = fèves" pas « Nove »
     "([ \\.])[fFJKNPrTV]’?[bcoûq][jy>] ?[cefrtz]’?\\^?[^st] ", "$1''Voyez'' ",//éviter "fcvcs = fèves" pas « Nove »
     "([ \\.])[jvry>][bcoûq][\\:çïjy][certz] ?[T7xz\\:\\;\\-\\^’]? ", "$1''Voyez'' ",
     "([ \\.])v[bcoûq][jvy>//)] ?[cefrtz]’?[zT7\\[\\}\\:\\;çïix\\^] ?[\\:\\;\\-\\^]", "$1''voyez''",

     "[AÂ][cC][aâAÂ][dD]\\. F[rR][aâA][nN][cç](\\,|\\.)", "{{sc|Acad. Franç}}$1",
     "[AÂ][cC][aâAÂ][dD]\\. F[rR](\\,|\\.)", "{{sc|Acad. Fr}}$1",
     "[AÂ][cC][aâAÂ][dD](\\,|\\.) ([^dF])", "{{sc|Acad}}$1 $2",
     "D[iI][cC][tT]\\. [dD][eE][sS] [AÂ][rtR][rtT][sS](\\,|\\.)", "{{sc|Dict. des Arts}}$1",
     "E[nN][cC][vy][cC](\\,|\\.)", "{{sc|Encyc}}$1",

     "[AÂ][bB][lL][aâA][nN][cC](\\,|\\.)", "{{sc|Ablanc}}$1",
     "[AÂ][cC]\\. F[rR](\\,|\\.)", "{{sc|Ac. Fr}}$1",
     "B[coO][iIr][lL](\\,|\\.)", "{{sc|Boil}}$1",
     "B[cCoO][rtR][eE][lL](\\,|\\.)", "{{sc|Borel}}$1",
     "B[oO][uU][hH](\\,|\\.)", "{{sc|Bouh}}$1",
     "C[cCoO][rtR][nN](\\,|\\.)", "{{sc|Corn}}$1",
     "D[aâAz][cC](\\,|\\.)", "{{sc|Dac}}$1",
     "D[ceE] R[cCoO][cC][hH](\\,|\\.)", "{{sc|De Roch}}$1",
     "D[nuU][rtR](\\,|\\.)", "{{sc|Dur}}$1",
     "S. E[vV][rtR](\\,|\\.)", "{{sc|S. Evr}}$1",
     "F[coO][nN][tT][eE][nN](\\,|\\.)", "{{sc|Fonten}}$1",
     "H[aâAÂ][rtR][rtR](\\,|\\.)", "{{sc|Harr}}$1",
     "H[aâAÂ][rtR][rtR][iI][sS](\\,|\\.)", "{{sc|Harris}}$1",
     "P. ?H[eE][lL][vyY][coO][tT](\\,|\\.)", "{{sc|P. Helyot}}$1",

     " I[dD](\\,|\\.)", " {{sc|Id}}$1",
     " [Jj][ceéEÉ][sS][uU][sS][\\- ][cC][hH][rtR][iIr][sS][tT]", " {{sc|Jésus-Christ}}",
     "L[aâAÂ] B[rtR][uU][vyY](\\,|\\.)", "{{sc|La Bruy}}$1",
     "L[aâAÂ] Q[uU][iI][nN][tT](\\,|\\.)", "{{sc|La Quint}}.",
     "L[aâAÂ] [rtR][oO][cC][hH][eE][fF](\\,|\\.)", "{{sc|La Rochef}}$1",
     "L[ceE] B[coO][CfFiîïjJlrsStT/1\\(][CfFiîïIjJlrsStT/1\\(][uU](\\,|\\.)", "{{sc|Le Bossu}}$1",
     "L[eE] (M|\\.?Vî)[aâAÂ][iIr][tT][rtR][eE](\\,|\\.)", "{{sc|Le Maitre}}$2",
     "(M|\\.?Vî)[aâAÂ][rRt][oO][tT](\\,|\\.)", "{{sc|Marot}}$2",
     "(M|\\.?Vî)[aâAÂ][rtT][yY](\\,|\\.)", "{{sc|Maty}}$2",
     "(M|\\.?Vî)[ceéEÉ][nN][aâAÂ][gG][ceE](\\,|\\.)", "{{sc|Ménage}}$2",
     "N[iIr][cC][oO][dD](\\,|\\.)", "{{sc|Nicod}}$1",
     "N[iIr][cC][oO][lL](\\,|\\.)", "{{sc|Nicol}}$1",
     "P[cCoO][rtR][tT]\\-R(\\,|\\.)", "{{sc|Port\-R}}$1",
     "R[aâAÂ][cC][iIr][nN](\\,|\\.)", "{{sc|Racin}}$1",
     "R[oO][cC][hH][eE][fF](\\,|\\.)", "{{sc|Rochef}}$1",
     "S. E[vV][rtR](\\,|\\.)", "{{sc|S. Evr}}$1",
     "V[aâAÂ][uU][gG](\\,|\\.)", "{{sc|Vaug}}$1",


     "VoXXXXXyez", "Voyez",//Voir plus haut
     " ''Voyez'' ?\n\n", " ''Voyez'' ",


     "([^\n])☞", "$1\n\n☞",
     "\n☞ ?\n\n", "\n☞ ",
     " ou ?\n\n", " ou ",
     "\n☞ ?\n", "\n☞ ",
     " ou ?\n", " ou ",

     // Dupliquer celle là à la fin au cas ou une des regexp ait supprimé
     // l'espace
     "([^ ])([;:!?])", "$1 $2",
     "([«;:!?])([^ \s…])", "$1 $2",
     "   ", " ",//3 espaces → 1seul
     "  ", " ",//2 espaces → 1seul

     // Séparé des précédentes sinon "word!»" overlap
     "([^ ])([»])", "$1 $2",

     // Une regexp précédente a pu produire des <espace>\n
     // de+ les espaces en fin de ligne n'ont pas d'intérêt
     " (\n|<br)", "$1"   // pas de , pour la dernière def.
     );

  text = apply_regexp(typo_def_trevoux_1, text);
  text = apply_regexp(typo_def_trevoux_2, text);
  text = apply_regexp(typo_def, text);

  return text;
}

function typographie() {
  if (1 || wgNamespaceNumber == 104 /*|| wgNamespaceNumber == 0*/) {
    var editbox = document.getElementById('wpTextbox1');
    if (editbox) {
      var text = editbox.value;
      var new_text = '';
      var last_match = 0;
      // Split the text in part which are safe to transform, e.g we don't want
      // to apply typographie_fragment on a <math>.*</math> or a &nbsp; etc.
      splitter = new RegExp("<math>.*</math>|<[a-zA-z0-9 =\"']+>|</[a-zA-z0-9 =\"']+>|style=\".*\"|&nbsp;|&mdash;|<!--.*-->|\n:[:]*|\n;[;]*|[[][[].*]]", "gm");
      while ((result = splitter.exec(text)) != null) {
	new_text += typographie_fragment(text.slice(last_match, splitter.lastIndex - result[0].length));
	new_text += result;
	last_match = splitter.lastIndex;
      }
      new_text += typographie_fragment(text.slice(last_match))
      editbox.value = new_text;
    }
  }
}

function addButton2(id,alt,comment,source,onclick){
	if( mw.user.options.get( 'usebetatoolbar' ) == 1 ){
		modules = [ 'ext.wikiEditor', 'ext.proofreadpage.page.edit' ];
		add = mise_en_page.addButtonToWikiEditorToolbar;
	} else if ( mw.user.options.get( 'showtoolbar' ) == 1 ){
		modules = 'mediawiki.action.edit';
		add = mise_en_page.addButtonToClassicToolbar;
	} else {
		return;
	}
	$.when(
		mw.loader.using( modules ),
		$.ready
	).then( function(){
		add( {
			imageFile: '//upload.wikimedia.org/wikipedia/commons/a/af/Button_Fractur_OCR.png',
			speedTip: alt,
			imageId: id,
			onClick: onclick
		} );
	} );
}

function addReplaceButton(){
    addButton2("wpRep","Remplacement auto","Remplacement", "//upload.wikimedia.org/wikipedia/commons/a/af/Button_Fractur_OCR.png", typographie);
 
}

$(document).ready(addReplaceButton);