Pourquoi les formules en français créées avec le composant Math sont-ils illisibles dans fichier bilingue AR Fr pdf exporté par LibreOffice 6.*

Sous Linux mint interface française bilingue français arabe. J’écris un texte en arabe avec quelques formules créées avec le composant Math en français. Lorsque j’imprime le fichier ou je l’enregistre en pdf, JPEG ou PNG, les caractères en français deviennent illisibles. Mon imprimante HP imprime un fichier en français sans problèmes mais dans un fichier bilingue il y a distorsion des formules en français inséré dans le texte arabe. Pouvez vous me donner des indications pour résoudre ce problème.

Merci d’avance
Vous trouvez un fichier joint pour une éventuel analyse ici …
fakepath\Text_Ar_Fr.odt

voilà des copies d’écran qui montre les distorsion des composants en français:

**formules écrient en français sont illisible après exportation en pdf ou impression sur imprimante **

**copie écran Writer avant l’exportation ou l’impression **

merci pour votre intérêt à mon problème

Précisions supplémentaires nécessaires: quel type de distorsion. Si possible, joignez une copie d’écran ou une photo. Quelle police? Le fragment français utilise-t-il la même police? Comment indiquez-vous que le fragment est en langue française? Un style de caractère particulier?

à titre de sécurité, version de LO?

Répondez à ces questions en éditant la vôtre. N’utilisez pas une réponse. Identifiez bien l’ajout.

Je ne vois pas grand chose sur les copies d’écran, sauf une séquence )0, x, y ( ou )“alpha” ( qui trahit une mauvaise gestion du passage d’un script droite-gauche à gauche-droite). Les parathèses ont une “directionnalité” contextuelle; il faut donc indiquer à quel fragment de texte elles appartiennent. Cela se fait généralement avec un style de caractère qui force la langue.

L’écriture d’un document multilingue n’est pas compliquée en soi, il faut juste de la rigueur. Les choses sont un peu plus difficiles quand les scripts ont des directions d’écriture différentes, mais là encore une méthode rigoureuse résout tout.

Joignez votre fichier à la question (pas possible de le joindre à un commentaire) pour que je l’analyse.

J’ai réussi à reproduire le problème. L’export est correct avec une version ancienne de LO, mais est erroné avec la 6.2.7.1. Il y a probablement une régression dans le filtre d’exportation.

Les séquences mal exportées sont des formules créées avec le composant Math. La formule est compilée en un “objet” SVG inséré dans le texte comme caractère. Un objet SVG est un graphique et devrait donc “normalement” échapper aux règles de mise en page et se comporter comme un bloc indivisible.

Apparemment, ce n’est pas le cas. Le bloc est partiellement décomposé et certains éléments comme les parenthèses se retrouvent rattachés au texte en arabe, d’où leur échange gauche-droite. Je ne sais pas comment compenser ça car le problème n’est pas présent avec une ancienne version de LO (v5.x). Ce serait le filtre d’exportation PDF qui serait responsable.

J’ai tenté divers formatages à base de style de caractère en forçant la langue à français ou [aucun], sans succès. J’ai aussi modifié le style de cadre Formule pour imposer l’écriture de gauche à droite, sans succès encore.

Il ne reste que des palliatifs. Vos formules n’ont rien de complexe, notamment pas de fraction, ni de matrice. Par conséquent, vous pouvez les remplacer par une séquence tapée directement au clavier avec l’alphabet français. Cette séquence sera automatiquement typée “français” et sera reconnue comme telle par le filtre d’exportation. Vous aurez bien entendu à apporter les fioritures (italique, exposant, taille, etc.) à la main.

Nota: problème d’impression

Je n’en ai aucun. Mais le vôtre peut s’expliquer par le fait que Writer envoie ses fichiers vers l’imprimante en PDF par défaut, ce qui explique que vous obtenez à l’impression le même résultat qu’en PDF.

Si votre besoin est simplement d’imprimer le fichier sans nécessité de le sauvegarder ou transmettre en PDF, vous pouvez garder votre rédaction actuelle avec l’éditeur Math en modifiant les paramètres de l’impression. Bien entendeu à condition que votre imprimante accepte le PostScript. Pour cela:

  • Fichier>Réglages de l'impression

  • bouton Propriétés, onglet Imprimante

  • menu Langage de l’imprimante, sélectionnez PostScript (selon le pilote)

J’a soumisi un rapport de bug en joignant votre fichier comme exemple: tdf#128295. Il apparaît que le bug est déjà connu sous le numéro tdf#115967 (2019-02-23)

Pour montrer à la communauté que la question a trouvé sa réponse, cliquez sur ✓ à côté de la “bonne” réponse, et “votez” en cliquant sur la flèche ^ de toute réponse utile. Ce sont les mécanismes utilisés pour communiquer la qualité des questions et réponses sur ce site. Merci!

Pour tout complément d’information, éditez votre question ou faites un commentaire. N’utilisez pas une réponse.

La proposition d’imprimer en PostScript ne fonctionne pas: j’ai le même mauvais positionnement des éléments de formule. Je soupçonne que le générateur PostScript est le même que le PDF.

Pour l’instant, le seul palliatif est d’écrire les formules comme du texte et de les formater à la main.

Suite à la réponse de l’aimable ajlittoz , j’ai installer la version 5.4.7.2 de LibreOffice téléchargeable Ici . Le problème de distorsion des formules créées avec le composant Math en français dans un texte en arabe est résolu pour moi. Lorsque j’imprime le fichier ou je l’exporte en pdf, JPEG ou PNG, les formules mathématique en français deviennent lisibles dans un texte en arabe.

Pour votre information, mon rapport de bug a provoqué un réexamen de la base de données et un regroupement de 7 rapports ayant la même cause.

Un changement a été introduit en août 2017 pour permettre l’importation de divers fichiers graphiques dont Windows “Enhanced Metafile” (EMF+). Ce changement a remplacé le moteur de rendu, amenant les plaintes semblables à la vôtre.

Un palliatif d’urgence a été appliqué: retour au statu quo ante qui sera effectif dans la version 6.4.0.

Merci infiniment

Un nouveau patch a été introduit ce matin. La correction sera aussi disponible en 6.3.4

ok à plus