Doubles espaces insécables (SPIP ajoute des espaces insécables même quand ils existent déjà)

Bonjour !

Cela fait plusieurs années que je n’avais plus eu l’occasion d’utiliser SPIP. Je le redécouvre avec plaisir pour un projet personnel. :slight_smile:

Je copie-colle des textes écrits dans Libre Office 7.3.1.3. Ces textes ont des espaces fines et insécables déjà présentes.

Je suis sur SPIP 4.0.4 et 4.0.5 (en local seulement pour l’instant) avec comme plugin le Thème Dist Palatinesque 1.0.1.

Une fois dans SPIP, je constate que les espaces sont doubles. SPIP rajoute des espaces insécables là où il y en a déjà et aussi aux côtés des espaces fines.

Un petit exemple :

Ce texte :

— Comment ça va ?
— Couci-couça…
— Quoi ?
— Couci-couça.
D’habitude, il répondait toujours « je ne sais pas ».

… donne ceci dans SPIP (capture d’écran) :

image

Le code source généré :

<p>—&nbsp;Comment ça va &nbsp;?
<br>—&nbsp;&nbsp;Couci-couça…
<br>—&nbsp;&nbsp;Quoi &nbsp;?
<br>—&nbsp;&nbsp;Couci-couça.<br class="autobr">
D’habitude, il répondait toujours «&nbsp; je ne sais pas &nbsp;».

Remarquez que pour le premier “—”, il n’a pas ajouté d’espace. Les espaces insécables copiées-collées sont converties en &nbsp;, les fines restent invisibles (mais sont toujours bien là, me semble-t-il).

Je n’ai pas trouvé d’options dans SPIP pour gérer ça. J’ai regardé les plugins Couteau Suisse et Ortho-Typographie, mais ça n’a rien changé.

Le but de ce site est de mettre pas mal de textes existants en ligne, est-ce qu’il y a quelque chose que je peux faire pour ne pas avoir à repasser sur chaque espace ? Est-ce que c’est le comportement attendu ?

En fait, après un test rapide, le problème existe aussi si j’entre directement les espaces insécables et fines au clavier dans l’interface de SPIP. Donc même sans copier-coller depuis Libre Office.

Salut, je réponds « un peu » à côté, mais le plugin odt2spip - Plugins SPIP est justement dédié à ce genre d’usage. Ça donne quoi si tu importe tes textes avec celui-ci ?

Utilisant odt2spip que j’allais suggérer, je n’ai rien constaté de tel. Et ça facilite grandement la vie.

Les limites : pour les gras et les italiques, il ne les prend pas si ce sont les styles « Accentuation » et « Accentuation forte » mais seulement si c’est fait la mode bourrin. Et aussi, les descriptions et chapo sont dans le corps du texte, il faut les copier-coller dans les zones concernées, je les rédige dans le même fichier LibreOffice et ensuite je les passe où il faut.

Mais il dit que SPIP doublonne les espaces insécables aussi quand il les tape à la main dans l’interface.

Est-ce que SPIP ajouterait toujours des espaces aux endroits attendus (avant les ponctuations de fin, autour des guillemets, etc) SANS vérifier avant s’ils y sont déjà ou pas ? Si on reproduit ça, c’est bien un bug à mettre en ticket.


RastaPopoulos

J’ai fait le test avec le même texte en le copiant-collant, j’ai même poussé le test jusqu’à coller une deuxième version en ajoutant les espaces insécables à la main dans Firefox (Ctrl + Maj + U puis 00a0).

Le résultat qui me paraît conforme :

<br />&mdash;&nbsp; Couci-couça…
<br />&mdash;&nbsp; Quoi<small class="fine d-inline"> </small>?
<br />&mdash;&nbsp; Couci-couça.<br class='autobr' />
D’habitude, il répondait toujours «<small class="fine d-inline"> </small>je ne sais pas<small class="fine d-inline"> </small>».</p>

Pour info, test effectué sur un site avec le squelette Bazar, si ça peut avoir du sens.

Je viens d’essayer le plugin odt2spip et j’obtiens un formatage un peu différent (avec les <p>), mais toujours le même problème pour les espaces en double.

<div class="texte surlignable clearfix"><p>—&nbsp;Comment ça va &nbsp;?</p>
<p>—&nbsp;&nbsp;Couci-couça…</p>
<p>—&nbsp;&nbsp;Quoi &nbsp;?</p>
<p>—&nbsp;&nbsp;Couci-couça.</p>
<p>D’habitude, il répondait toujours «&nbsp; je ne sais pas &nbsp;».</p></div>

Il y a un espace après le &nbsp;, est-ce que ce n’est pas un espace de trop ?

Il me semble avoir vu que c’est le plugin Ortho-Typographie qui ajoute <small class="fine d-inline"> </small>, c’est bien ça ? En tout cas je ne les ai jamais vu dans le code chez moi pour l’instant.

J’ai testé en désactivant le thème aussi, mais c’est pareil. J’ai d’ailleurs déjà ça dans l’aperçu de l’article dans l’interface privée.

Comme mon clavier est en bépo, je me suis demandé si l’encodage des espaces pouvait être différent, mais en essayant en azerty avec la méthode de @Cheguevarine (Ctrl + Maj + U puis 00a0), j’ai eu le problème aussi (et d’ailleurs ils sont bien convertis en &nbsp; quand j’entre des insécables en bépo).

(Merci beaucoup pour toutes vos réponses !)

Je confirme le problème des doubles insécables (il y avait eu un ticket à ce propos — enfin dans un ticket sur un sujet proche)

1 « J'aime »

Merci pour l’info, je vois que ce n’est pas simple du tout.

Je présume donc que le problème est « normal » et n’est pas lié à mon installation.

En attendant, je ne vois qu’une piste pour mes copiers-collers : faire d’abord un rechercher-remplacer sur les espaces fines et insécables pour les remplacer par des espaces normales dans mon fichier ODT et laisser SPIP faire les corrections (avec éventuellement le plugin Ortho-Typographie si je tiens aux espaces fines).

Si vous pensez que je peux tenter autre chose, n’hésitez pas…

En regardant de plus près, je vois que le problème d’espaces doubles est là pour toutes les espaces fines, mais seulement pour les insécables après “—”, les autres insécables « normales » (par exemple devant “:”) ne sont pas dédoublées.

Je ne sais pas si ça peut être utile pour l’un des tickets sur le sujet.