4 votes

Problème avec CUPS/texttopdf et polices TrueType "Noto"

Je rencontre un problème avec le filtre CUPS texttopdf.

Lorsque j'essaie d'imprimer un fichier ASCII brut (aussi simple que "Bonjour tout le monde"), texttopdf s'interrompt :

D [17/May/2020:11:48:37 -0700] [Job 513] Envoi des données à l'imprimante.
D [17/May/2020:11:48:37 -0700] [Job 513] Réglage du message d'état de l'imprimante en "Envoi des données à l'imprimante.", niveau actuel=INFO
D [17/May/2020:11:48:37 -0700] [Job 513] Police OTF non supportée / table glyf 
D [17/May/2020:11:48:37 -0700] [Job 513] Brother-HL-1240-series: fontembed/sfnt.c:651: otf_get_width: Assertion `0\' a échoué.
D [17/May/2020:11:48:37 -0700] [Job 513] PID 1520973 (/usr/lib/cups/filter/texttopdf) an planté sur le signal 6.
D [17/May/2020:11:48:37 -0700] [Job 513] L'entrée est vide, le fichier de sortie est vide.

Après avoir effectué un travail de détective considérable, j'ai découvert que si je désactive les polices truetype "noto" (No Tofu), en les déplaçant hors de /usr/share/fonts/truetype, le problème disparaît.

Cependant, l'éditeur audio audacity se bloque lorsque je fais cela (ne me demandez pas pourquoi), et comme je fais beaucoup de montage audio, sans parler du fait que la "solution" n'est pas vraiment une solution, simplement supprimer les polices "noto" n'est pas une solution acceptable.

J'ai cherché partout, à la recherche de fichiers de configuration ou autre, mais je suis jusqu'à présent bredouille.

Ceci est sur Ubuntu 20.04.

apt-show-versions me dit :

cups:amd64/focal-security 2.3.1-9ubuntu1.1 à jour

cups-filters:amd64/focal 1.27.4-1 à jour

si cela vous intéresse.

Une information supplémentaire : si j'appelle texttopdf depuis la ligne de commande, il produit un PDF valide en récompense de mes efforts, il semble donc que quelque chose dans le filtre/chaîne d'outils CUPS soit impliqué.

4voto

Le problème, apparemment, se trouve dans l'une des polices "noto", NotoColorEmoji, et texttopdf avait du mal avec cela.

J'ai corrigé cela en créant le fichier /etc/fonts/local.conf et en ajoutant les lignes

      /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf

Ensuite, exécutez fc-cache -f -v pour reconstruire le cache des polices.

Cela désactive la police problématique et tout est bien.

Par ailleurs, crédit là où crédit est dû : Voir https://unix.stackexchange.com/questions/534284/reject-all-fonts-from-a-directory-except-one-with-fontconfig

Remarque supplémentaire :

J'ai décidé de télécharger le code source de cups-filters et l'arrêt est effectivement une assertion dans la bibliothèque libfontembed dans la fonction otf_get_width, snippeté ici :

  // ensure hmtx is there
  if (!otf->hmtx) {
    if (otf_load_more(otf)!=0) {
      assert(0);
      return -1;
    }
  }

Pouah. . .

0voto

GraemeV Points 1

Il semble que je ne sois pas autorisé à commenter. Mais je vote pour que vous fassiez un rapport de bug. Je rencontre ce problème dans la dernière version de Kubuntu 21.10 (donc je suppose que c'est le cas aussi dans Ubuntu).

Je le signalerais à Kubuntu (ou à votre distribution), ils peuvent le remonter à cups/cups-filter, s'il ne s'agit pas de quelque chose de spécifique à la distribution.... et je suppose qu'ils pourraient le transmettre au développeur des polices. Quoi qu'il en soit, il faut un numéro de bug.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X