chapitreneuf / pdfgen

Générateur de PDF pour Lodel
GNU General Public License v3.0
2 stars 1 forks source link

Césure dans les sous-titres généré par PDFgen #16

Open Mulinson opened 5 months ago

Mulinson commented 5 months ago

Bonjour,

Nous avons remarqué une césure malheureuse généré par PDFgen sur l'article suivant:
https://publications-prairial.fr/diversite/index.php?id=4331.

dirverste_sous-titre_cesure

En intervenant sur le css pour empêcher la césure dans le fichier pdfgen_custom_css, le passage à la ligne est également étonnant :

diversite_avec-modif

Nous n'avons pas trouver d'espace insécable intempestif dans le fichier source. Toutefois en ajoutant un espace avant "hétérogènes" dans l'inspecteur du navigateur, nous parvenons au résultat attendu: diversite_avec-espace

Pensez vous que le soucis vient du calcul de l'algorithme (il semble sur cet exemple que la césure sur "classification" n'est pas nécessaire au vu du nombre de caractère) ou du fichier source?

brrd commented 4 months ago

Ce n'est pas un problème de stylage. Cela vient de la configuration d'hyphenopoly dans pdfgen.

On utilise orphanControl: 3 ici : https://github.com/chapitreneuf/pdfgen/blob/a455db7dc3086a3889736526e1b6846667f87563/public/js/pdfgen.js#L120-L124

Ce qui d'après la documentation https://mnater.github.io/Hyphenopoly/Setup.html#orphancontrol a pour effet :

Do not hyphenate an element’s last word and replace the preceding space with a no-breaking space.

Ainsi on évite d'avoir une dernière ligne de paragraphe avec un seul mot (ou un seul morceau de mot), ce qui est bien dans la plupart des paragraphes.

Il faudrait soit désactiver ce comportement partout, soit utiliser un selecteur différent de .hyphenate sur les intertitres, avec une configuration différente (orphanControl: 2).