Submitted by toshubuntu on
Bonjour,
la question est dans le titre : comment retrouver les corrections typographiques propres au français "à la manière de SPIP" avec Drupal ?
En effet, SPIP, facilite la présentation "correcte" des articles écrits en français en remplaçant (au moment de l'affichage, précisons) les guillemets droits ["] par des guillemets à la française [«»], insère ou remplace les espaces simples par des espaces insécables devant les ponctuations fortes [;:?!]. Autrement dit, il utilise un langage de balisage léger (http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Langage_de_balisage_l%C3%A9ger) qui lui est propre afin de respecter les règles typographiques du français, ce qui rend les sites sous SPIP particulièrement homogènes, sans demander aux contributeurs des connaissances poussées en HTML.
Une esquisse de réponse peut être apporté par le module wordfilter (http://drupal.org/project/wordfilter trouvé grâce à ce billet:http://drupalfr.org/forum/general/discussion-generale/22716-correction-a...) mais ce n'est peut-être pas suffisant: "remplacer une séquence de caractères par une autre" rend par exemple le remplacement des guillemets difficiles à coder (comment en deviner le sens: ouverte ou fermée).
Quelqu'un a-t-il une meilleure solution ?
La solution inégalée a ce
Permalien Soumis par Damien Tournoud le 13 Juin, 2010 - 20:11
La solution inégalée a ce jour me semble être PHP Smartypants Typographer. Le module Typogrify peut faire l'interface entre Drupal et cette librairie:
Merci. Effectivement
Permalien Soumis par toshubuntu le 10 Août, 2010 - 17:30
Merci. Effectivement Typogrify semble être une voie bien plus développée. Il m'a posé cependant plusieurs difficultés :
# Default configuration:
define( 'SMARTYPANTS_ATTR', "qgbD:+;+m+h+H+f+t+u+" );
et modifié les deux lignes suivantes ainsi :
# Openning and closing smart double-quotes.
define( 'SMARTYPANTS_SMART_DOUBLEQUOTE_OPEN', "«" );
define( 'SMARTYPANTS_SMART_DOUBLEQUOTE_CLOSE', "»" );
pour forcer l'insertions de guillemets françaises («») et non anglaises (“”).
Le résultat n'est pas entièrement satisfaisant. En écrivant dans mon article :
Test de "Tipogrify" - 'Smartypants'
Test de "Tipogrify" -- ''Smartypants''
Test de "Tipogrify" --- <<Smartypants>>
--- Il a dit : "'Moi, je n'irai pas' en riant".
J'obtiens :
Test de « Tipogrify » - ‘Smartypants’
Test de « Tipogrify » – ”Smartypants”
Test de « Tipogrify » — <>
— Il a dit : « ‘Moi, je n’irai pas’ en riant ».
J'aurais effectivement voulu pouvoir remplaçant les guillemets simples (‘’) par des guillemets anglaises (“”) comme guillemets de second niveau tout en ne remplaçant pas les apostrophes, ce que je ne peux pas faire en touchant ces deux lignes :
# Smart quote characters:
var $smart_doublequote_open = SMARTYPANTS_SMART_DOUBLEQUOTE_OPEN;
var $smart_doublequote_close = SMARTYPANTS_SMART_DOUBLEQUOTE_CLOSE;
var $smart_singlequote_open = '‘';
var $smart_singlequote_close = '’'; # Also apostrophe.
Au passage vous remarquerez la disparition des mots entre doubles crochets (
<<>>
).Ces défauts se retrouvent sur le site de drupalfr qui utilise également Tipogrify : voyez le même texte que précédemment sans balises "code" :
Test de "Tipogrify" - 'Smartypants'
Test de "Tipogrify" -- ''Smartypants''
Test de "Tipogrify" --- <>
--- Il a dit : "'Moi, je n'irai pas' en riant".
Une idée pour améliorer le fichier de configuration smartypants.php ?