Utilisatrice:Hsarrazin/typoClassique.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.
//importScript('Utilisateur:Psychoslave/common.js'); // test pour convertir en s longs...
importScript('User:ElioPrrl/LongSRestore.js'); // - en test
/*********************
Typo personnel CLASSIQUE (pour livres anciens)
**********************/
function hsarrazin_typo_add() {
$.typo.add(function(str) {
// str = str.replace(/( tète )+/g, " tête ");
str = str.replace(/([—\!\?\.\\…\»\«\( ] )11 /g, "$1Il ");
str = str.replace(/([—\!\?\.\\…\»\«\( ] )II /g, "$1Il ");
str = str.replace(/([—\!\?\.\\…\»\«\( ] )Gela /g, "$1Cela ");
str = str.replace(/(…\. )+/g, "… ");
str = str.replace(/(\.… )+/g, "… ");
str = str.replace(/( …)+/g, "…");
str = str.replace(/(‘)+/g, "’");
str = str.replace(/(`)+/g, "’");
str = str.replace(/`/g, "’");
str = str.replace(/‘/g, "’");
str = str.replace(/ʹ/g, "’");
str = str.replace(/fi/g, "fi");
str = str.replace(/fl/g, "fl");
str = str.replace(/∫/g, "s");
str = str.replace(/“/g, "«");
str = str.replace(/”/g, "»");
str = str.replace(/ 8c/g, " &");
str = str.replace(/ 6c/g, " &");
str = str.replace(/ et /g, " & ");
str = str.replace(/(\s)(et)([\s\n])/g, "$1&$3"); // remplace par "&" tous les "et" entourés de caractères d'espacement
str = str.replace(/^(et)([\s\n])/g, "&$2"); // remplace par "&" les "et " en début de ligne
// str = str.replace(/(s\B)/g, "ſ");
str = str.replace(/(ſs)/g, "ſſ"); // les doubles ſ sont ainsi typographiés dans [[Livre:Holbach - Le Christianisme dévoilé, 1756.djvu]]
str = str.replace(/(\{\{Perſonnage)/g, "\{\{Personnage"); // pour le théâtre classique
str = str.replace(/(\{\{Acteurſ)/g, "\{\{Acteurſ"); // pour le théâtre classique
str = str.replace(/(## ſ1 ##)/g, "## s1 ##"); //
str = str.replace(/(## ſ2 ##)/g, "## s2 ##"); //
str = str.replace(/(\{\{ſc\|)/g, "\{\{sc\|"); // réparation modèle
str = str.replace(/(\{\{ſp\|)/g, "\{\{sp\|"); // réparation modèle
// str = str.replace(/([—\!\?\.\\…\»\«\( ] )A /g, "$1À "); //fix pour À - devrait générer moins de faux positifs que la situation actuelle
// str = str.replace(/(\nA )+/g, "\nÀ "); // désactiver pour le Trévoux…
str = str.replace(/\{\{lang\|([a-z])([a-z])\|''([^']*?)''([^\}]*)\}\}+/g, "''\{\{lang\|$1$2\|$3$4\}\}''"); //fix pour lang
str = str.replace(/\{\{lang\|gr\|+/g, "\{\{lang\|grc\|"); //fix pour gr au lieu de grc
// str = str.replace(/\{\{centré\|\{\{réplique\|\{\{sc\|([^']*?)\}\}\}\}\{\{didascalie\|([^']*?)\}\}\}\} /gi, "\{\{réplique|$1\}\}\{\{didascalie\|$2\}\} "); //suppr superflus
// str = str.replace(/\{\{centré\|\{\{réplique\|\{\{sc\|([^']*?)}}}}}}/gi, "\{\{réplique\|$1\}\}"); //suppression centré et sc superflus
// str = str.replace(/\{\{réplique\|([^']*?)\}\}/gi, "\{\{Personnage\|$1\|c\}\}"); //fix pour Réplique -> Personnage (pb de fonctionnement)
str = str.replace(/\{\{Personnage\|([a-zA-ZÉÈéèŒ\. \-]*?)\|c\}\}\{\{didascalie\|,?/g, "\{\{PersonnageD\|$1\|c\|"); //fix pour PersonnageD
str = str.replace(/\{\{Personnage\|([a-zA-ZÉÈéèŒ\. \-]*?)\|c\}\}\, {\{didascalie\|,?/g, "\{\{PersonnageD\|$1\|c\|"); //fix pour PersonnageD
str = str.replace(/(<sup>er<\/sup>)+/g, "\{\{er\}\}"); // fix pour les abbréviations
str = str.replace(/(\{\{e\|e\}\}<\/sup>)+/g, "\{\{e\}\}");
str = str.replace(/(<sup>e<\/sup>)+/g, "\{\{e\}\}");
str = str.replace(/Gomme/g, "Comme");
str = str.replace(/Gela/g, "Cela");
str = str.replace(/(I<sup>er<\/sup>)+/g, "\{\{Ier\}\}");
str = str.replace(/(1er )+/g, "{{1er}} ");
str = str.replace(/(Ier )+/g, "{{Ier}} ");
str = str.replace(/(1{{er}})+/g, "{{1er}}");
str = str.replace(/oeil/g, "œil");
str = str.replace(/tète/g, "tête");// str = str.replace(/Eglise/g, "Église");
str = str.replace(/Yous /g, "Vous ");
str = str.replace(/ lé /g, " le ");
str = str.replace(/ fans /g, " sans ");
str = str.replace(/( <ref>)+/g, "<ref>"); //fix pour les ref
str = str.replace(/( <\/ref>)+/g, "<\/ref>"); //fix pour les ref
str = str.replace(/<center>([^']*?)<\/center>/g, "\{\{c\|$1\}\}"); //fix pour les center
str = str.replace(/<div align=\"center\" >([^']*?)<\/div>/g, "\{\{c\|$1\}\}"); //fix pour les div center
str = str.replace(/<div class=\"center\" >([^']*?)<\/div>/g, "\{\{c\|$1\}\}"); //fix pour les div center
str = str.replace(/<div style=\"text-align:center; \" \>([^']*?)<\/div>/g, "\{\{c\|$1\}\}"); //fix pour les div center
str = str.replace(/ /g, " ");
str = str.replace(/(_)+/g, " ");
str = str.replace(/\n : */g, "\n:"); // fix pour les : dans les poèmes
str = str.replace(/(:+) *: */g, "$1:");
str = str.replace(/:: /g, "::");
str = str.replace(/<poem>/g, "<poem class=\"verse\">"); //fix pour les poèmes
str = str.replace(/class= « verse » /g, "class=\"verse\"");
str = str.replace(/## « /g, "## \""); // fix pour les sections
str = str.replace(/ » ##/g, "\" ##");
str = str.replace(/<big>(.*)<\/big>/gi, "$1"); //suppression des "big"
str = str.replace(/ »/g, " »");
// str = str.replace(/ *\n/g, " "); // Suppression des saut de ligne à l'intérieur d'un paragraphe -->
str = str.replace(/ /g, "\n\n"); // Fix pour changement de paragraphe
str = str.replace(/\n +/g, "\n\n"); // Fix pour changement de paragraphe impair
str = str.replace(/ ?\n*$/g, ""); // Suppression saut de ligne fin de page
return str;
});
}
$.when(
mw.loader.using( [ 'ext.gadget.Typo' ] ),
$.ready
).then(
hsarrazin_typo_add
);