1er, 2e, IIIe, Mlle, etc. est écrit typographiquement en plaçant l’abréviation en exposant, de cette manière : 1< span class=« exposant »>er</span>. Ce filtre corrige aussi les abréviations erronées (2e, 2e, etc.).
Pour utiliser ce filtre, qui appliquera automatiquement les règles typographiques souhaitées au texte, il faut faire deux choses :
1. Dans votre feuille de styles, insérez un style du genre :
.exposant {
font-size: 70%;
vertical-align: 10%;
}
2. Dans votre fichier /ecrire/mes_options.php3 (que vous devez créer si ce n’est pas déjà fait), insérez le code suivant :
// Filtre typographique exposants
function voltaire_exposant($texte){
$trouve = array(
'/(\\bM)(elle|lle)\\b/', // Mlle(s), Mme(s) et erreurs Melle(s)
'/(\\bM)(elles|lles)\\b/',
'/(\\bM)(mes?)\\b/',
'/(\\bD)(rs?)\\b/', // Dr(s), Pr(s), St(e)(s)
'/(\\bP)(rs?)\\b/',
'/(\\bS)(te?s?)\\b/',
'/(\\bm)(2|3)\\b/', // m2, m3
'/(\\b[1I])(ier)\\b/', // Erreurs ier, iers, ère, ière, ères, ières
'/(\\b[1I])(iers)\\b/',
'/(\\b[1I])(ière|ère)\\b/',
'/(\\b[1I])(ières|ères)\\b/',
'/(\\b[02-9IVX]+)(ième|ème|me)\\b/', // Erreurs me, ème, ième, mes, èmes, ièmes
'/(\\b[02-9IVX]+)(ièmes|èmes|mes)\\b/',
'/(\\b[1I])(res?)\\b/', // 1re(s)
'/(\\b[0-9IVX]+)(er?s?)\\b/' // 1er(s), 2e(s), IIIe(s)...
);
$remplace = array(
'M<span class="exposant">lle</span>', // Mlle(s), Mme(s)
'M<span class="exposant">lles</span>',
'M<span class="exposant">\\2</span>',
'D<span class="exposant">\\2</span>', // Dr(s), Pr(s), St(e)(s)
'P<span class="exposant">\\2</span>',
'S<span class="exposant">\\2</span>',
'm<span class="exposant">\\2</span>', // m2, m3
'\\1<span class="exposant">er</span>', // Corrige 1er(s), 1re(s)
'\\1<span class="exposant">ers</span>',
'\\1<span class="exposant">re</span>',
'\\1<span class="exposant">res</span>',
'\\1<span class="exposant">e</span>', // Corrige 2e(s), IIIe(s)...
'\\1<span class="exposant">es</span>',
'\\1<span class="exposant">\\2</span>', // 1re(s)
'\\1<span class="exposant">\\2</span>' // 1er(s), 2e(s), IIIe(s)...
);
$texte=preg_replace($trouve, $remplace, $texte);
return $texte;
}
function apres_propre($texte) {
// (si vous avez deje cree une fonction apres_propre, inserez seulement cette ligne a l'interieur)
return voltaire_exposant($texte);
}
Ce filtre est appliqué directement sur le texte après les filtres de Spip. Il n’est donc pas utile de l’ajouter dans vos squelettes pour qu’il s’applique à un texte (pour plus d’infos voir les explications sur les points d’entrés sur le spikini).
NB : Les chiffres romains L, C, D et M ne sont volontairement pas traités car ils peuvent porter à confusion.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |