Imprimindo PDF com fonte TrueType não incorporada (cups / lpr)

5

Eu tenho um PDF no qual a fonte TrueType OCRB é usada, mas a fonte não está incorporada.

Então eu tentei instalar a fonte no meu sistema (que é a propósito de um SLES11 SP2), eu fiz o seguinte:

  • Double Clicou na fonte do gnome Desktop e clicou em instalar
  • copiado na pasta /user/home/username/.fonts
  • copiado no /usr/share/fonts
  • com raiz: SuSEconfig --module fonts
  • fc-cache

Quando tento imprimir o arquivo .pdf com o comando:

lpr -PHL2400Ce -# 1 test.pdf

O .pdf imprime bem, mas a fonte OCRB desapareceu e foi substituída pela padrão.

No entanto, quando abro o arquivo .pdf com evince (gnome Document viewer), vejo a fonte OCRB no visualizador (correto) e quando imprimo (com a mesma impressora) está lá e absolutamente correto.

Eu não entendo isso porque eu acho que evince também usa lpr de alguma forma? Alguma idéia do que eu posso fazer? (É muito importante para mim poder imprimir o .pdf via linha de comando, já que ele fará parte de trabalhos em lote que são executados em segundo plano)

Eu também tentei algumas abordagens como esta:

gs -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=output2.pdf -f test.pdf

O que me traz a saída:

....
Can't find (or can't open) font file Arial-BoldMT. 
Didn't find this font on the system!
Substituting font Helvetica-Bold for Arial-BoldMT.
Substituting font Helvetica for OCRB

Então, o que eu vejo aqui é que gs substitui Helvetica para OCRB , mesmo que não haja mensagem Can't find or can't open font... , como é para Arial-Bold . Alguma ideia do porquê?

    
por tenhouse 21.11.2012 / 08:02

1 resposta

1

Você também precisa adicionar a fonte no renderizador da impressora. A pasta correta para as bibliotecas de fontes do renderizador da impressora é difícil de encontrar, mas olhando por toda a configuração do CUPS / Ghostscript / lpr você encontrará o local. As fontes podem precisar de reindexação e há scripts para isso no CUPS e no GS.

Por que o Evince imprimiu bem é que, com uma leve coerção, você basicamente disse para prender todas as coisas como vetores.

Isso é um pouco desnecessariamente complexo, principalmente porque essas partes modulares nasceram separadamente e a convergência que acontece no nível do sistema aconteceu apenas recentemente.

A Apple usa o CUPS internamente e resolveu o problema de instalação da fonte de alguma forma. Eu não verifiquei os detalhes, mas basicamente ele usa uma biblioteca central de fontes em todo o sistema ou copia as fontes para os caminhos de fontes GUI e CUPS. Eu estou supondo que eles não copiam, mas mudaram os softwares para suportar um caminho de fonte comum.

    
por 01.04.2014 / 13:20