Présentation
Tous 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 certains claviers informatiques [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é.
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“.
De plus, depuis la version 1.2 ce plugin guillemette correctement la balise HTML <q>
, en CSS, sur les navigateurs modernes, selon la langue de composition et en tenant compte des imbrications (cf. : fichier typo_guillemets.css
).
Limitations
Pour l’instant, ce plugin ne gère pas le remplacement les guillemets de second rang, c’est-à-dire ceux qu’on emploie dans un texte déjà guillemeté. 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. »
Par contre, depuis la version 1.2, l’emploi de la balise HTML <q>
dédiée aux citations en ligne sera correctement guillemetée par ce plugin, en respect de la langue de composition. Par exemple, <q>Il dit : <q>Bonjour</q> d'une voix chevrotante et Ursula lui répond enjouée : <q lang="de">Guten Tag!</q></q>
sera rendu par :
« Il dit : “Bonjour” d’une voix chevrotante » et Ursula lui répond enjouée : >Guten Tag !< »
De plus, depuis la version 1.1, Les liens automatiques [->1]
vers des articles dont le titre contient des « guillemets français » passent en guillemets “de second niveau”.
Discussions par date d’activité
8 discussions
pour information, la correction automatique ne s’applique pas à l’intérieur des notes de bas de page :
[["dd"]]
je viens de faire des tests et chez moi, ça marche™
je reviens de faire le test chez moi, en 1.5.1 et ca ne marche toujours pas :-(
exemple : http://helene.lipietz.net/spip.php?article514
Attention : le correcteur de guillemets ne s’applique que si le texte ne comporte aucun guillemet typographique.
c’est ce que je m’étais dit, mais après vérification il n’y a effectivement plus aucun guillemet typo...
Répondre à ce message
Merci pour ce formidable plugin. Petite question : ce n’est pas très clair dans la description si le plugin insère un espace insécable après les guillemets ouvrants par exemple ?
Répondre à ce message
Question : y a-t-il une quelconque différence entre ce plugin et son homonyme du même auteur disponible avec le couteau suisse ?
A priori, la tâche centrale est la même, pas de différence majeure. Les codes sont très proches.
Merci c’est bon à savoir
Répondre à ce message
Depuis la mise à jour en 1.5 j’ai le message d’erreur suivant dans l’espace privé : « Erreur dans les plugins : /var/alternc/html/q/quefaire/plugins/auto/typo_guillemets/typo_guillemets_pipelines.php ».
J’oublie : SPIP 2.1.12.
Répondre à ce message
J’ai observé un phénomène étrange en SPIP 2.1.8 avec la version 1.3 du plugin : si une des citations dans le texte est correctement « guillemetée » mais pas "les autres", alors le remplacement des guillemets ne se fait pas.
Ici j’ai saisi des guillemets droits seulement et tout est ok :
Dans le commentaire précédent j’avais saisi des guillemets typographiques sur le premier mot et des guillemets droits sur le second.
Répondre à ce message
Dans la version 1.1 j’ai fait deux modifications :
1) lorsque le texte contient déjà des guillemets élaborés, on ne fait rien ; ça permet de ne pas déformer un texte écrit par exemple sous la forme
« -- "Bonjour", dit-il », c'est banal
2) Lorsqu’un lien automatique pointe sur un article dont le titre contient des « guillemets français », on les trnsforme directement en guills de “second niveau”, ceci afin de gérer l’écriture suivante :
«[->1]»
Je pense qu’on peut faire encore mieux, à suivre peut-être si quelqu’un en a le courage :-)
Il semble que cette modification ait entraîné d’étranges comportements : apparition de caractères bizarres, «
��Z
», par endroits, en particulier dans les notes de bas de page du site public, mais aussi en certains endroits de l’espace privé, avec « disparition » de certaines pages, dont le contenu n’est plus visible qu’en mode édition...Tout rentre dans l’ordre lorsque le plugin est désactivé.
Pour avoir une chance de débug, il faudrait des infos plus précises.
Répondre à ce message
Ce plugin me réjouit grandement !
Je me propose de le compléter par des styles CSS des balises de citation,
<q>
notamment (cf. Des citations bien balisées), lesquels s’ajusteraient selon la langue et laes imbrications. C’est toujours bon à prendre, non ?Je viens de compléter (36826) et le plugin guillemette désormais la balise HTML
<q>
.Répondre à ce message
Les rédacteurs de Spip-contrib ne dérogeant pas à ce triste constat, ce plugin vient d’être mis en service sur le site, et semble bien fonctionner .... Merci Vincent
Quel succès ! Mais il me semble qu’il faudrait bien vérifier que ce plugin ne génère pas de bogues d’affichage. Pour l’instant, il n’a été testé que sur un seul site dans ses seuls squelettes.
Noter cependant que j’ai simulé le plus de situations possibles, avec des balises SPIP entremêlées, des guilles à l’intérieur / à l’extérieur des balises, des guilles qui se promènent n’importe où...
Bref, j’ai mis le plugin comme stable mais on n’est pas à l’abri de problèmes qui n’auraient pas encore été rendus visibles.
Je viens justement d’en voir un : dans des textes en arabe, les guillemets remplacés automatiquement autour de mots écrits dans l’alphabet latin sont inversés. Je pense qu’il s’agit là d’un problème d’orientation du texte propre à Unicode.
On peut voir ce que cela donne là.
Un test (en
<multi>
) :français : « livre », « كتاب ».
Répondre à ce message
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 : |