Ortho-typographie

Ce plugin rassemble plusieurs fonctions de correction typographique automatisées auparavant éparses dans plusieurs plugins : correction des guillemets, correction des raccourcis avec mise en exposant, césure des dates, typographie des mots en majuscule, et corrections automatiques personnalisées.

Configuration

Le plugin s’installe simplement et une page de configuration permet d’activer ou désactiver les fonctionnalités de correction. Par défaut toutes les corrections sont activées, sauf les corrections personnelles qui dépendent des règles que vous voudrez ajouter.

Voyons à quoi correspond chaque fonctionnalité.

Correction des guillemets

Cette fonction remplace les paires de guillemets droits (ou « chiures de mouches »), c’est-à-dire ‹"›, par les guillemets typographiques (« », “”, etc.), lesquels dépendent de la langue dans laquelle on rédige. Elle est reprise du plugin original Correction typographique des guillemets

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 clavier (dépendant du système d’exploitation utilisé) pour entrer les guillemets à la main , 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é.

Le plugin prend également en charge le guillemetage correct de la balise HTML <q>, en CSS, sur les navigateurs modernes, selon la langue de composition et en tenant compte des imbrications (cf. : fichier css/typo_guillemets.css).

Exemples

Voici quelques exemples, selon la langue concernée :

  • "français" → « français » ;
  • "hongrois" → „hongrois” ;
  • "anglais" → “anglais” ;
  • "danois" → »danois« ;
  • "bulgare" → „bulgare“.

Limitations

Le plugin ne gère pas le remplacement des 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. »

Pour contourner cette limite :

  • le plugin ne touche à rien si jamais le texte contient déjà des guillemets élaborés, ce qui vous permet de gérer manuellement vos guillemets dans les cas complexes ;
  • 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 !< »

  • les liens automatiques [->1] vers des articles dont le titre contient des « guillemets français » passent en guillemets “de second niveau”.

Correction des abréviations avec exposant

Cette fonctionnalité améliore le rendu typographique des abréviations courantes, en mettant en exposant les éléments nécessaires (ainsi, Mme devient Mme) et en corrigeant les erreurs courantes (2ème ou 2me, par exemple, deviennent 2e, seule abréviation correcte).

Elle est reprise du plugin Typo exposant lui même tiré du Couteau Suisse, qui a repris cette fonction de Filtre typographique exposants

Présentation

Dans l’état actuel, ce plugin remplace (singuliers et pluriels) :
-  Melle ou Mlle par : Mlle ;
-  Mme par : Mme ;
-  1ier, 1ière, 1ère ou Iier, Iière, Ière par : 1er (masculin) et 1re (féminin) ou Ier et Ire ;
-  2ième, 2ème, 2me ou IIième, IIème, IIme (fonctionne aussi avec les autres chiffres) par : 2e et IIe (seules formes correctes) ; 2nd par 2nd.

Dans certaines conditions précises (abréviations suivies d’un espace, d’un point ou d’un tiret simple), sont également remplacés :
-  Dr et Pr par : Dr et Pr (au singulier uniquement)

Ici seront remplacées les expressions suivantes si elle sont suivies par un espace puis une majuscule :
-  Me par : Me (Maître, au singulier uniquement)

D’autres expressions (au singulier et parfois au pluriel) sont encore remplacées :
-  , m2, m3 par : m2 et m3 ;
-  Mgr par : Mgr (Monseigneur, au singulier uniquement)
-  Mn(s) et Md(s) par : Mn(s) et Md(s)
(Million(s), Milliard(s))
-  Vve par : Vve (Veuve, au singulier uniquement)
-  Cie(s), Sté(s) et Ets par : Cie(s), Sté(s) et Éts (Compagnie(s), Société(s), Établissements)
-  ro, vo 1o, 2o, etc. par : ro (recto), vo (verso), 1o (primo), 2o (secundo), etc.

Les éventuelles formes plurielles sont traitées (soit intégrées dans le cas de MmesMmes, soit annulées dans le cas de 2es — et autres variantes erronées — qui reste 2e) et les abréviations obtenues sont conformes à celles indiquées dans l’article « Abréviations » du Lexique des règles typographiques en usage à l’Imprimerie nationale (presses de l’Imprimerie nationale, Paris, 2002).

Le cas de Monsieur, que l’on devrait, d’après l’Imprimerie nationale, abréger en M. et non Mr ou Mr, n’est pas pris en charge par un remplacement de Mr en M., afin que l’on puisse écrire l’abréviation de Mister, soit Mr (usage anglais) ou Mr. (usage américain), sans mise en exposant (de même que Mrs ou Mrs.).

Limitations

Cette fonctionnalité sur les exposants ne fonctionne pour l’instant que sur les textes français, mais d’autres langues peuvent être intégrées facilement.

Les textes anglais bénéficient d’une mise en exposant des nombres ordinaux : 1st, 2d, 3rd, 4th, etc.

Le texte situé entre les balises <html> et </html>, <code> et </code>, <cadre> et </cadre>, <frame> et </frame>, <script> et </script>, <acronym> et </acronym> ou <cite> et </cite> est protégé : aucune modification d’exposant n’y sera faite.

Les petits chiffres romains (I, V & X) sont pris en compte, mais pas dans le cas de « Ire » ou « Ires » ni des 50, 100, 500 & 1000 (L, C, D & M) pour des raisons de performances (et compte tenu de leur faible occurence d’utilisation)

Correction des dates

Cette fonctionnalité est tirée du plugin non documenté Typo Mois.

Très simple mais indispensable, elle prend en charge la reconnaissance des dates du type 10 mars en remplaçant l’espace entre numéro et nom du mois par une espace insécable, afin de ne pas risquer une césure entre les deux.

Typographie des capitales

Le plugin reconnait les mots écrits en lettres capitales et les encadre dans une balise <span class="caps">. Par exemple, ONU devient <span class="caps">ONU</span>. De ce fait, les mots en lettres capitales peuvent être stylés en css à volonté.

(Cette fonctionnalité est tirée du plugin non documenté Typo Caps.)

Espaces fines

Les insécables c’est bien, mais quand elles sont fines, c’est mieux : cette fonctionnalité remplace donc &nbsp; par <small class="fine">&nbsp;</small> aux endroits où c’est pertinent : guillemets français et ponctuations doubles : <? ; ! %>.
À noter, les deux-points <:> ne sont pas concernés par cette règle.

(Fonctionnalité originale apportée par Fil.)

Corrections automatiques

Le plugin permet de définir ses propres corrections automatiques. Les corrections sont réalisées à l’affichage uniquement, et non lors de la saisie (comme le ferait un traitement de texte).

Règles de correction

Les règles de correction automatique sont indiquées dans le formulaire de configuration du plugin. Vous devez indiquer une seule règle par ligne, sous la forme mot=remplacement [6].

Remplacements simples
Ainsi par exemple, pour corriger la coquille fréquente de l’oeuf qui s’écrit avec un e dans l’o, vous pourrez indiquer la règle :

oeuf = œuf

qui remplacera donc toutes les occurrences du mot oeuf par le mot œuf.

Remplacements par expression rationnelle
Dans des cas plus compliqués, il peut être utile de recourir aux expressions rationnelles. Par exemple, toujours pour notre œuf, si on veut aussi repérer les cas où le mot est en début de phrase, avec parfois son E en majuscule, on peut utiliser une expression rationnelle comme suit :

/O[Ee]uf/ = Œuf

Le fait de faire commencer et finir le terme de gauche par un / indique qu’il s’agit d’une expression rationnelle. Ici Oeuf et OEuf seront remplacés tous deux par Œuf.

Limitations

Les règles de remplacement ne sont pas classées par langue. Le plugin ne permet pas de gérer des règles pour le français et d’autres pour l’anglais : les mêmes règles seront adaptées à tous les textes, ce qui peut être inadapté en cas de site multilingue.

L’ordre des règles de remplacement n’est pas strictement respecté. Pour être exact, toutes les règles de remplacement simples sont appliquées dans l’ordre indiqué, puis toutes les règles de remplacement par expression rationnelle sont appliquées dans l’ordre indiqué.

(Cette fonctionnalité est tirée du plugin Le Couteau Suisse.)

Notes

[1Ou « chiures de mouche » en jargon typographique. Cf. cette page.

[2Français, anglais, catalan, basque, etc.

[3Héritée du temps des machines à écrire, où, par économie de place, une seule touche avait été consacrée aux deux formes du guillemet.

[4Quand ce n’est tout bonnement pas possible de le faire : sous MS Windows et Firefox, entrer les caractères étendus au moyen d’ALT suivi du code voulu, conduit le navigateur, en raison de l’existence de touches d’accès rapides propres à SPIP, à quitter la page en cours.

[5Le guillemet fermant de premier rang est absorbé par le fermant de second rang, les deux ayant la même forme : « Il dit : « Bonjour » » n’est donc pas admis.

[6vous pouvez indifféremment laisser des espaces autour du signe =, ils seront ignorés.

Discussion

19 discussions

  • Bonjour,
    Ortho-typo permettrait-il de séparer les milliers avec des espaces fines insécables ? Je vois (et apprécie) cette fonction pour les mots : pourquoi pas pour les chiffres ?
    Si oui, comment faire ?
    Merci de votre réponse

    Répondre à ce message

  • Bonjour
    Sous Spip 3.2.9
    J’ai activé l’amélioration des abréviations avec exposant.
    Cela semble fonctionner correctement partout, sauf dans la page agenda générée par l’organiseur de plugin-dist (fullcalendar).
    Un titre d’événement, du genre « Détachement 2d degré » affiche ceci sur la page agenda :

    Détachement 2<sup class="typo_exposants">d</sup> degré

    À priori, Ortho-typographie fait son boulot, mais fullcalendar ne l’interprète pas ?

    Répondre à ce message

  • Je remarque sur un site en plusieurs langues (la langue par défaut est l’anglais) que les corrections orthographiques d’un article définit comme en français ne sont pas appliquées sauf si le lecteur est un auteur connecté et si sa langue est le français.
    Cela donne des bizarreries comme un saut de ligne avent un «  ! » (puisqu’il y a un espace avant) et les exposants comme pour Mme qui ne sont pas traités.
    Est-ce parce que ce plugin ne traite que la langue par défaut du site ?

    dd

    Répondre à ce message

  • 1

    Bonjour,

    Sur un SPIP 3.1.3 avec les plugins à jour le flux RSS des révisions n’est plus complètement valide :

    49<sup class="typo_exposants">es</sup> Journées 2017 / article 12 / Version : 3

    http://www.feedvalidator.org me dit :
    « This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

    line 25, column 149 : title should not contain HTML : sup (3 occurrences) [help]

    ... #233 ;ans 2017 / article 12 / Version : 3
    ^
    line 126, column 0 : Missing atom:link with rel=« self » [help]

     »

    Mon lecteur de news ne reconnaît pas le flux

    Merci

    • Je relance un coup.
      Sur un site en 3.1.6 et ce plugin Version : 1.4.5 SVN [105483] il y a toujours un problème avec les exposants. Le titre de l’item du flux indique en clair :

      30<sup class="typo_exposants">e</sup> anniversaire de l'association  / evenement 2442 / Version : 2

      mais bon progrès : le flux n’est plus marqué comme invalide.

      dd

    Répondre à ce message

  • Bonjour,

    En employant le plugin Ortho-typographie, le titre d’un article rédigé pour partie ainsi « [15**]. XXXX. » se transforme en « [15*. XXXX. ». Cela est pour moi dommageable. Existerait-il une solution pour éviter cela en modifiant le code du plugin sans toucher les titres ? En vous remerciant par avance.

    SPIP 3.1.1 [22913]
    Ortho-Typographie 1.4.2
    php5.6

    Répondre à ce message

  • 1
    Adelaide Barbey

    bonjour, je ne comprends pas comment l’installer..... je ne vois pas de .exe dans la liste des fichiers téléchargés.. help. et comment entrer des guillements directement autour d’un groupe de mots ? merci

    Répondre à ce message

  • Un autre souci que je viens de croiser : dans un texte d’article, s’il y a des balises HTML en majuscules, tel que <STRONG>, c’est transformé en <<span class="caps">STRONG</span>>, ce qui casse du coup le code HTML !

    Répondre à ce message

  • Bug dans la correction de « Mn » quand il est suivi d’un caractère accentué

    Hello.

    En utilisant le mot « Mnémotechnique », j’ai constaté qu’il est corrigé en « Mnémotechnique ».

    Pour info, cela fonctionne correctement avec la lame Mise en exposant du Couteau suisse.

    Merci pour ce plugin.

    1138.

    Répondre à ce message

  • Bonjour,

    Le plugin transforme voûte en :

    clé de v<sup class="typo_exposants"></sup>ûte

    Je ne vois pas comment ajouter une exception

    j’ai aussi dû désactiver « Styler les mots en lettres capitales »

    dd

    Répondre à ce message

  • Yo,

    j’ai des attributs HTML (title ou autre) qui contiennent des ponctuations, comme des points d’exclamation par exemple. L’option « Espaces fines » les prends en compte, et ajoute alors du HTML (span) à l’intérieur de l’attribut. Ce qui fait tout péter ! :D

    Le plugin ne devrait donc travailler que dans le texte hors balise, non ?

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom