ClementGre / PDF4Teachers

PDF editing software in large quantities. Designed for teachers, this app keeps recorded previous annotations, and offers features like marking scale, PDF conversion, vectorial drawing...
https://pdf4teachers.org/
Apache License 2.0
143 stars 18 forks source link

« Un caractère spécial est manquant dans la police…  » alors qu’il est inclus #152

Closed pagiraud closed 1 year ago

pagiraud commented 1 year ago

Prérequis

Décrivez le bug

Des (les ?) caractères étendus ne sont pas exportés et sont remplacés par un point d’interrogation dans le PDF final alors que le caractère existe dans la police utilisée.

Pour reproduire

  1. Utilisez un caractère comme U+1D49 (e en exposant) pour écrire par exemple XXᵉ siècle.
  2. Choisissez une police qui contient ce caractère (Arial, Calibri, Liberation Sans, etc. liste complète ici).
  3. Exportez le fichier PDF.
  4. "Un caractère spécial est manquant dans la police <nom d’une police qui inclut le caractère>."

Vérifiez la console

No response

Éditions

No response

Captures d'écran

No response

Configuration

Kubuntu 22.10

ClementGre commented 1 year ago

Cela semble venir du "Subsetting" de polices. (Polices séparées en plusieurs fichiers).

En effet, dans mon dossier /usr/share/fonts/truetype/, j'ai un dossier liberation et un dossier liberation2, où seul liberation2 contient tous les caractères. liberation est une version allégée.

Le problème disparaît si je remplace les liberation par liberation2 dans /home/clement/.local/share/PDF4Teachers/sysfonts_cache.yml. La police liberation est divisé en deux car Debian ont voulu créer une nouvelle version, mais PDF4Teachers ne prend en compte que le dernier fichier qu'il trouve. Je ne sait pas ce qu'il en est pour Arial et Calibri. En ayant installé Arial manuellement, je n'ai pas ce problème.

Il faudrait que PDF4Teachers puisse prendre en compte ces particularités. En acceptant qu'une même police ait plusieurs fichiers liées à un même style.

En attendant que je règle le problème, il serait possible d'utiliser des polices non divisées en plusieurs sous-fichiers, ou des polices par défaut compatibles, comme Noto Serif.

ClementGre commented 1 year ago

Est-ce que vous pouvez vérifier pourquoi vous avez ce même problème pour Arial et Calibri (rechercher le nom de la police et identifier si vous avez plusieurs fichiers de police ayant le même nom de police "Font Family") ?

pagiraud commented 1 year ago

En fait, après vérification de mes fichiers de police (et non consultation de la documentation sur Internet), je vois que ni ma version d’Arial ni ma version de Calibri ne disposent du caractère ᵉ … Il n’y a donc pas de problème de ce côté-là. J’ai installé Calibri manuellement (fichier trouvé sur Internet) et j’ai installé Arial via le paquet ttf-mscorefonts-installer d’Ubuntu. Le problème c’est donc plutôt que je ne dispose pas d’une version à jour de ces polices.

ClementGre commented 1 year ago

D'accord. En fait le subsetting ne semble pas être utilisé à l'échelle d'un OS, et à part pour le problème de libération (où il faudrait alors supprimer le dossier liberation et ne garder que liberation2), il ne me semble pas nécessaire d'ajouter ce support pour le moment. Merci pour le rapport !