Présentation
Les claviers ne permettent pas de taper directement les guillemets : en effet, la touche <"> [1] n’insère pas un guillemet mais un symbole utilisé en informatique ; ce symbole, dans les textes en langues naturelles [2], doit être remplacé par les guillemets typographiques voulus par la langue dans laquelle on rédige. Ainsi, en français de France, les guillemets sont représentés par <« > pour l’ouvrant et < »> pour le fermant et en anglais par <“> et <”>.
En aucun cas <"> ne devrait, dans une bonne typographie, être employé : son principal défaut (outre sa forme droite) est en effet qu’il ne permet pas de distinguer le début et la fin d’une citation. Or, l’œil, déjà peu habitué à la lecture verticale qu’imposent les écrans, se repère mal lorsque les citations dépassent les quelques mots. Le confort de lecture est ainsi gêné.
L’absence des guillemets sur les claviers [3] a cependant conduit de nombreux rédacteurs à ignorer ces règles autant typographiques que visuelles. De plus, rares sont les rédacteurs actuels à posséder des connaissances typographiques.
SPIP, pour pallier cette absence, propose un bouton permettant de mettre des mots sélectionnés entre guillemets. Ce bouton n’est cependant pas accessible pour tous les champs de saisie (ainsi, il n’y a pas de barre d’insertion de caractères spéciaux pour les rubriques) et de nombreux rédacteurs, par méconnaissance de la typographie ou par « paresse », ne s’en servent pas. D’autre part, s’il existe des raccourcis claviers pour entrer les guillemets à la main (dépendant du système d’exploitation utilisé), il est parfois fastidieux de les utiliser [4].
Ce plugin permet donc de remplacer automatiquement les guillemets droits par les guillemets corrects, et ce de manière transparente pour le rédacteur, de la même manière que les apostrophes droites <'> sont remplacées par les apostrophes courbes <’> ou que les espaces insécables sont introduites automatiquement devant les ponctuations hautes (<?! : ;>). Il va de soi que le texte entre les balises <code> et <cadre> n’est pas touché.
Installation du plugin
Comme pour les autres plugins, il suffit de télécharger l’archive ci-jointe, de la décompresser et d’installer le répertoire obtenu dans le répertoire /plugins de SPIP. L’activation du plugin se fait dans l’interface privée.
Consulter la documentation officielle pour plus de détails.
Fonctionnement
Le fichier le plus important est typo_guillemets_fonctions.php. Il contient une fonction qui :
- vérifie la langue dans laquelle effectuer le remplacement ;
- échappe dans un premier temps les guillemets à ne pas toucher (ceux à l’intérieur de balises HTML) ;
- remplace les paires de guillemets restantes par la version voulue selon les règles typographiques de la langue de composition (et supprime éventuellement l’espace après le guillemet ouvrant et celle avant le fermant :
" mot ") ; - restitue les guillemets échappés.
Le plugin n’agit qu’à partir du pipeline post_typo : le texte original n’est donc pas touché. Seul l’affichage l’est.
Voici quelques exemples, selon la langue concernée :
"français" → « français » ;
"hongrois" → „hongrois” ;
"anglais" → “anglais” ;
"danois" → »danois« ;
"bulgare" → „bulgare“.
Limitations
Pour l’instant, ce plugin ne gère pas les guillemets de second rang, c’est-à-dire ceux qu’on emploie dans un texte déjà guilemeté. Ainsi, en typographie française :
« Il dit : “Bonjour” » / « Il dit : “Bonjour” d’une voix chevrotante »
ou, d’après la marche typographique de l’Imprimerie nationale :
« Il dit : « Bonjour » [5] / « Il dit « Bonjour » d’une voix chevrotante ».
Dans tous les cas, des guillemets droits enchâssés seront mal rendus. Par exemple, "Il dit : "Bonjour" d'une voix chevrotante." sera rendu par :
« Il dit : »Bonjour« d’une voix chevrotante. »


